View a markdown version of this page

Configurer les autorisations IAM pour AWS Qualité des données Glue - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurer les autorisations IAM pour AWS Qualité des données Glue

Cette rubrique fournit des informations pour vous aider à comprendre les actions et les ressources qu'un administrateur IAM peut utiliser dans le cadre d'une politique Gestion des identités et des accès AWS (IAM) pour AWS Glue Data Quality. Il inclut également des exemples de politiques IAM avec les autorisations minimales dont vous avez besoin pour utiliser AWS Glue Data Quality avec le AWS Glue Data Catalog.

Pour plus d'informations sur la sécurité dans AWS Glue, consultezSécurité dans AWS Glue.

Autorisations IAM pour AWS Qualité des données Glue

Le tableau suivant répertorie les autorisations dont les utilisateurs ont besoin pour effectuer des opérations spécifiques avec la qualité des données d' AWS Glue. Pour définir une autorisation précise pour AWS Glue Data Quality, vous pouvez spécifier ces actions dans l'Actionélément d'une déclaration de politique IAM.

AWS Actions de Glue Data Quality
Action Description Types de ressources
glue:CreateDataQualityRuleset Accorde l'autorisation de créer un jeu de règles de qualité des données. ::dataQualityRuleset/<name>
glue:DeleteDataQualityRuleset Accorde l'autorisation de supprimer un jeu de règles de qualité des données. ::dataQualityRuleset/<name>
glue:GetDataQualityRuleset Accorde l'autorisation de récupérer un jeu de règles de qualité des données. ::dataQualityRuleset/<name>
glue:ListDataQualityRulesets Accorde l'autorisation de récupérer tous les jeux de règles de qualité des données. ::dataQualityRuleset/*
glue:UpdateDataQualityRuleset Accorde l'autorisation de mettre à jour un jeu de règles de qualité des données. ::dataQualityRuleset/<name>
glue:GetDataQualityResult Accorde l'autorisation de récupérer le résultat d'une exécution de tâche liée à la qualité des données. Cette action IAM fournit également des autorisations aux API suivantes :
  • BatchGetDataQualityQualityResult

  • ListDataQualityStatistics

  • ListDataQualityStatisticAnnotations

::dataQualityRuleset/<name>
glue:ListDataQualityResults Accorde l'autorisation de récupérer tous les résultats d'exécution de tâches liées à la qualité des données. ::dataQualityRuleset/*
glue:CancelDataQualityRuleRecommendationRun Accorde l'autorisation d'arrêter l'exécution d'une tâche de recommandation sur la qualité des données en cours. ::dataQualityRuleset/*
glue:GetDataQualityRuleRecommendationRun Accorde l'autorisation de récupérer l'exécution d'une tâche de recommandation sur la qualité des données. ::dataQualityRuleset/*
glue:ListDataQualityRuleRecommendationRuns Accorde l'autorisation de récupérer toutes les exécutions de tâches de recommandation sur la qualité des données. ::dataQualityRuleset/*
glue:StartDataQualityRuleRecommendationRun Accorde l'autorisation de démarrer l'exécution d'une tâche de recommandation sur la qualité des données. ::dataQualityRuleset/*
glue:CancelDataQualityRulesetEvaluationRun Accorde l'autorisation d'arrêter l'exécution d'une tâche sur la qualité des données en cours. ::dataQualityRuleset/*
glue:GetDataQualityRulesetEvaluationRun Accorde l'autorisation de récupérer l'exécution de tâches liées à la qualité des données. ::dataQualityRuleset/*
glue:ListDataQualityRulesetEvaluationRuns Accorde l'autorisation de récupérer toutes les exécutions de tâches liées à la qualité des données. ::dataQualityRuleset/*
glue:StartDataQualityRulesetEvaluationRun Accorde l'autorisation de démarrer l'exécution d'une tâche liée à la qualité des données. ::dataQualityRuleset/<name>
glue:PublishDataQuality Accorde l’autorisation de publier des résultats sur la qualité des données. ::dataQualityRuleset/<name>
glue:GetDataQualityModel Accorde l’autorisation de récupérer un modèle de qualité des données. ::dataQualityRuleset/<name>, ::job/<name>
glue:GetDataQualityModelResult Accorde l’autorisation de récupérer les résultats d’un modèle de qualité des données. ::dataQualityRuleset/<name>, ::job/<name>
glue:PutDataQualityStatisticAnnotation Accorde l’autorisation d’ajouter des annotations aux statistiques. Cette action IAM fournit également des autorisations aux API suivantes :
  • BatchPutDataQualityStatisticAnnotation

::dataQualityRuleset/<name>, ::job/<name>
glue:PutDataQualityProfileAnnotation Accorde l’autorisation d’ajouter des annotations à toutes les statistiques d’un profil. ::dataQualityRuleset/<name>, ::job/<name>

Configuration IAM requise pour planifier les exécutions d'évaluation

Autorisations IAM

Pour exécuter des exécutions d'évaluation de la qualité des données planifiées, vous devez ajouter l'action IAM:PassRole à la politique d'autorisation.

AWS EventBridge Autorisations requises pour le planificateur
Action Description Types de ressources
iam:PassRole Permet à IAM d'autoriser l'utilisateur à transmettre les rôles approuvés. ARN du rôle utilisé pour appeler StartDataQualityRulesetEvaluationRun

Sans ces autorisations, l'erreur suivante se produit :

"errorCode": "AccessDenied" "errorMessage": "User: arn:aws:sts::account_id:assumed-role/AWSGlueServiceRole is not authorized to perform: iam:PassRole on resource: arn:aws:iam::account_id:role/service-role/AWSGlueServiceRole because no identity-based policy allows the iam:PassRole action"

Entités de confiance IAM

Les services AWS Glue et AWS EventBridge Scheduler doivent être répertoriés dans les entités de confiance afin de créer et d'exécuter un planning. StartDataQualityEvaluationRun

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Exemple de politiques IAM

Un rôle IAM pour AWS Glue Data Quality nécessite les types d'autorisations suivants :

  • Autorisations pour les opérations AWS Glue Data Quality afin que vous puissiez obtenir les règles de qualité des données recommandées et exécuter une tâche de qualité des données sur une table du catalogue de données AWS Glue. Les exemples de politiques IAM présentés dans cette section incluent les autorisations minimales requises pour les opérations de AWS Glue Data Quality.

  • Autorisations qui donnent accès à la table de votre catalogue de données et aux données sous-jacentes. Ces autorisations varient en fonction de votre cas d'utilisation. Par exemple, pour les données que vous cataloguez dans Amazon S3, les autorisations doivent inclure l'accès à Amazon S3.

    Note

    Vous devez configurer ces autorisations Amazon S3 en plus des autorisations décrites dans cette section.

Autorisations minimales pour obtenir les règles de qualité des données recommandées

Cet exemple de politique inclut les autorisations dont vous avez besoin pour générer des règles de qualité des données recommandées.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowGlueRuleRecommendationRunActions", "Effect": "Allow", "Action": [ "glue:GetDataQualityRuleRecommendationRun", "glue:PublishDataQuality", "glue:CreateDataQualityRuleset" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowCatalogPermissions", "Effect": "Allow", "Action": [ "glue:GetPartitions", "glue:GetTable" ], "Resource": [ "*" ] }, { "Sid": "AllowS3GetObjectToRunRuleRecommendationTask", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::aws-glue-*" }, { "Sid": "AllowPublishingCloudwatchLogs", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "*" } ] }

Autorisations minimales pour obtenir des recommandations avancées en matière de règles de qualité des données

Vous devez disposer d'une iam:PassRole autorisation pour le rôle de recommandation. Le rôle n'a pas besoin d'Amazon Bedrockautorisations.

Politique d’approbation

Utilisez cette politique de confiance pour permettre à AWS Glue d'assumer le rôle de recommandation pour votre table source.

Définissez aws : SourceArn sur l'ARN complet de la table source. Utilisez l'ID de compte de cet ARN pour aws : SourceAccount.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:glue:us-east-1:111122223333:table/database-name/table-name" } } } ] }

Politique d’autorisations

Lors de la première ADVANCED exécution, AWS Glue crée les ressources suivantes dans votre compte :

  • Le groupe de travail glue-dataquality-sampling Athena chargé d'exécuter des requêtes pour les recommandations de règles.

  • Le compartiment aws-glue-dataquality-sampling-account-id-region Amazon S3 pour stocker les résultats des requêtes.

Pour les exécutions suivantes, AWS Glue réutilise le groupe de travail et le bucket existants. Pour plus de détails, consultez Protection des données pour des recommandations avancées en matière de règles de qualité des données.

Associez la politique d'autorisations suivante à votre rôle de recommandation.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCatalogRead", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetPartitions", "glue:GetTable" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/database-name", "arn:aws:glue:us-east-1:111122223333:table/database-name/table-name" ] }, { "Sid": "AllowDataQualityRecommendationResults", "Effect": "Allow", "Action": "glue:PublishDataQuality", "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowDataAccess", "Effect": "Allow", "Action": [ "athena:CreateWorkGroup", "athena:GetQueryExecution", "athena:GetQueryResults", "athena:StartQueryExecution" ], "Resource": "arn:aws:athena:us-east-1:111122223333:workgroup/glue-dataquality-sampling" }, { "Sid": "AllowSourceRead", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::source-bucket", "arn:aws:s3:::source-bucket/*" ] }, { "Sid": "AllowSamplingBucket", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:CreateBucket", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutLifecycleConfiguration", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::aws-glue-dataquality-sampling-111122223333-us-east-1", "arn:aws:s3:::aws-glue-dataquality-sampling-111122223333-us-east-1/athena-results/*" ] } ] }
Note

Si le compartiment existe, vous pouvez le supprimer s3:CreateBucket de cette politique. Si vous supprimez le bucket, AWS Glue a de nouveau besoin de cette autorisation. Toutes les autres autorisations prévues dans cette politique restent nécessaires pour les exécutions suivantes.

Autorisations supplémentaires

Si une condition de cette liste s'applique, ajoutez les autorisations associées à votre rôle de recommandation.

  • Si Lake Formation contrôle l'accès aux tables, ajoutezlakeformation:GetDataAccess. Accordez le rôle DESCRIBE sur la base de données DESCRIBE et SELECT sur la table.

  • Si vous spécifiez une configuration de sécurité de la qualité des données, ajoutez une glue:GetSecurityConfiguration autorisation.

  • Si vous le spécifiezCreatedRulesetName, ajoutez une glue:CreateDataQualityRuleset autorisation.

  • Si vous spécifiez une configuration de sécurité de la qualité des données avec une clé gérée par le client, ajoutez l'instruction suivante pour cette clé.

    { "Sid": "AllowDataQualityEncryption", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncrypt*" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id" }

    Votre rôle de recommandation a besoin de ces actions pour le chiffrement des résultats des requêtes et le chiffrement des actifs AWS Glue Data Quality. La politique clé doit également autoriser ces actions pour votre rôle. Pour plus de détails, consultez Stratégie de clé.

  • Si les objets source utilisent SSE-KMS, ajoutez l'instruction suivante.

    { "Sid": "AllowSourceDataDecryption", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-1:111122223333:key/source-key-id" }

    La politique de clé source doit également autoriser le rôle de recommandation à déchiffrer les objets source.

Autorisations minimales pour exécuter une tâche liée à la qualité des données

Cet exemple de politique inclut les autorisations dont vous avez besoin pour exécuter une tâche d'évaluation de la qualité des données.

Les instructions de politique suivantes sont facultatives et dépendent de votre cas d'utilisation :

  • AllowCloudWatchPutMetricDataToPublishTaskMetrics : obligatoire si vous souhaitez publier des métriques d'exécution sur la qualité des données dans Amazon CloudWatch.

  • AllowS3PutObjectToWriteTaskResults : obligatoire si vous souhaitez écrire des résultats d'exécution sur la qualité des données dans Amazon S3.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowGlueGetDataQualityRuleset", "Effect": "Allow", "Action": [ "glue:GetDataQualityRuleset" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/YOUR-RULESET-NAME" }, { "Sid": "AllowGlueRulesetEvaluationRunActions", "Effect": "Allow", "Action": [ "glue:GetDataQualityRulesetEvaluationRun", "glue:PublishDataQuality" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowCatalogPermissions", "Effect": "Allow", "Action": [ "glue:GetPartitions", "glue:GetTable" ], "Resource": [ "*" ] }, { "Sid": "AllowS3GetObjectForRulesetEvaluationRun", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::aws-glue-*" }, { "Sid": "AllowCloudWatchPutMetricDataToPublishTaskMetrics", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "Glue Data Quality" } } }, { "Sid": "AllowS3PutObjectToWriteTaskResults", "Effect": "Allow", "Action": [ "s3:PutObject*" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }

Autorisations minimales pour exécuter une tâche ETL liée à la qualité des données

Cet exemple de politique inclut les autorisations dont vous avez besoin pour exécuter une tâche ETL liée à la qualité des données.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowGluePublishDataQualityResult", "Effect": "Allow", "Action": [ "glue:PublishDataQuality" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowGlueGetDataQualityResult", "Effect": "Allow", "Action": [ "glue:GetDataQualityResult" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowGlueDataQualityStatisticAnnotation", "Effect": "Allow", "Action": [ "glue:PutDataQualityStatisticAnnotation" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*", "arn:aws:glue:us-east-1:111122223333::job/{JobName}" ] }, { "Sid": "AllowGlueDataQualityProfileAnnotation", "Effect": "Allow", "Action": [ "glue:PutDataQualityProfileAnnotation" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*", "arn:aws:glue:us-east-1:111122223333::job/{JobName}" ] } ] }