Configurer IAM les autorisations pour AWS Glue Data Quality - 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 IAM les autorisations pour AWS Glue Data Quality

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

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

IAMautorisations pour AWS Glue Data Quality

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 IAM politique.

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 IAM action fournit également des autorisations aux éléments suivants APIS :
  • 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 Autorise la publication des résultats relatifs à la qualité des données. ::dataQualityRuleset/<name>
glue:GetDataQualityModel Accorde l'autorisation de récupérer le modèle de qualité des données. ::dataQualityRuleset/<name>, ::job/<name>
glue:GetDataQualityModelResult Accorde l'autorisation de récupérer les résultats du modèle de qualité des données. ::dataQualityRuleset/<name>, ::job/<name>
glue:PutDataQualityStatisticAnnotation Accorde l'autorisation d'ajouter des annotations aux statistiques. Cette IAM action fournit également des autorisations aux éléments suivants APIS :
  • BatchPutDataQualityStatisticAnnotation

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

IAMconfiguration requise pour planifier les cycles d'évaluation

IAMautorisations

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 par le planificateur
Action Description Types de ressources
iam:PassRole Accorde l'autorisation IAM d'autoriser l'utilisateur à transmettre les rôles approuvés. ARNdu 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"

IAMentités de confiance

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

{ "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" } ] }

Exemples de IAM politiques

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

  • Autorisations pour les opérations de qualité des données de AWS Glue 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 par rapport à une table du catalogue de données AWS Glue. Les exemples de IAM politiques 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.

{ "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-*" }, { // Optional for Logs "Sid": "AllowPublishingCloudwatchLogs", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "*" }, ] }

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.

{ "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:::<YOUR-BUCKET-NAME>/*" } ] }

Autorisations minimales pour exécuter une ETL tâche de qualité des données

Cet exemple de politique inclut les autorisations dont vous avez besoin pour exécuter un ETL Job de qualité des données.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGluePublishDataQualityResult", "Effect": "Allow", "Action": [ "glue:PublishDataQuality" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, //Optional to retrieve results, observation generation, //dynamic rules and DetectAnomalies { "Sid": "AllowGlueGetDataQualityResult", "Effect": "Allow", "Action": [ "glue:GetDataQualityResult" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, //Optional to allow annotating statistics { "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}" ] }, //Optional to allow annotating all statistics in a profile { "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}" ] } }