Permissões do IAM para o AWS Glue Data Quality - AWS Glue

Permissões do IAM para o AWS Glue Data Quality

Este tópico fornece informações para ajudar você a entender as ações e os recursos que podem ser usados em uma política do AWS Identity and Access Management (IAM) para o AWS Glue Data Quality. Inclui também exemplos de políticas do IAM com as permissões mínimas necessárias para usar o AWS Glue Data Quality com o AWS Glue Data Catalog.

Para obter mais informações sobre grupos de segurança no AWS Glue, consulte Segurança em AWS Glue.

Permissões do IAM para o AWS Glue Data Quality

A tabela a seguir lista as permissões de que um usuário precisa para realizar operações específicas do AWS Glue Data Quality. Para definir uma autorização refinada para o AWS Glue Data Quality, você pode especificar essas ações no elemento Action de uma instrução de política do IAM.

Ações do AWS Glue Data Quality
Ação Descrição Tipos de recursos
glue:CreateDataQualityRuleset Concede permissão para criar um conjunto de regras de qualidade de dados. ::dataQualityRuleset/<name>
glue:DeleteDataQualityRuleset Concede permissão para excluir um conjunto de regras de qualidade de dados. ::dataQualityRuleset/<name>
glue:GetDataQualityRuleset Concede permissão para recuperar um conjunto de regras de qualidade de dados. ::dataQualityRuleset/<name>
glue:ListDataQualityRulesets Concede permissão para recuperar todos os conjunto de regras de qualidade de dados. ::dataQualityRuleset/*
glue:UpdateDataQualityRuleset Concede permissão para atualizar um conjunto de regras de qualidade de dados. ::dataQualityRuleset/<name>
glue:GetDataQualityResult Concede permissão para recuperar um resultado de execução de tarefa de qualidade de dados. Essa ação do IAM também fornece permissões para as seguintes APIs:
  • BatchGetDataQualityQualityResult

  • ListDataQualityStatistics

  • ListDataQualityStatisticAnnotations

::dataQualityRuleset/<name>
glue:ListDataQualityResults Concede permissão para recuperar todos os resultados de execução de tarefas de qualidade de dados. ::dataQualityRuleset/*
glue:CancelDataQualityRuleRecommendationRun Concede permissão para interromper uma execução de tarefa de recomendação de qualidade de dados em andamento. ::dataQualityRuleset/*
glue:GetDataQualityRuleRecommendationRun Concede permissão para recuperar uma execução de tarefa de recomendação de qualidade de dados. ::dataQualityRuleset/*
glue:ListDataQualityRuleRecommendationRuns Concede permissão para recuperar todas as execuções de tarefas de recomendação de qualidade de dados. ::dataQualityRuleset/*
glue:StartDataQualityRuleRecommendationRun Concede permissão para iniciar uma execução de tarefa de recomendação de qualidade de dados. ::dataQualityRuleset/*
glue:CancelDataQualityRulesetEvaluationRun Concede permissão para interromper uma execução de recomendação de tarefa de qualidade de dados em andamento. ::dataQualityRuleset/*
glue:GetDataQualityRulesetEvaluationRun Concede permissão para recuperar uma execução de uma tarefa de qualidade de dados. ::dataQualityRuleset/*
glue:ListDataQualityRulesetEvaluationRuns Concede permissão para recuperar todas as execuções de tarefas de qualidade de dados. ::dataQualityRuleset/*
glue:StartDataQualityRulesetEvaluationRun Concede permissão para iniciar uma execução de tarefa de qualidade de dados. ::dataQualityRuleset/<name>
glue:PublishDataQuality Concede permissão para publicar resultados de qualidade de dados. ::dataQualityRuleset/<name>
glue:GetDataQualityModel Concede permissão para recuperar um modelo de qualidade de dados. ::dataQualityRuleset/<name>, ::job/<name>
glue:GetDataQualityModelResult Concede permissão para recuperar resultados de um modelo de qualidade de dados. ::dataQualityRuleset/<name>, ::job/<name>
glue:PutDataQualityStatisticAnnotation Concede permissão para adicionar anotações às Estatísticas. Essa ação do IAM também fornece permissões para as seguintes APIs:
  • BatchPutDataQualityStatisticAnnotation

::dataQualityRuleset/<name>, ::job/<name>
glue:PutDataQualityProfileAnnotation Concede permissão para colocar anotações em todas as estatísticas em um perfil. ::dataQualityRuleset/<name>, ::job/<name>

A configuração do IAM é requerida para agendar execuções de avaliação

Permissões do IAM

Para que as execuções de avaliação da qualidade de dados agendadas sejam realizadas, você deve adicionar a ação IAM:PassRole à política de permissões.

Permissões do Agendador do AWS EventBridge requeridas
Ação Descrição Tipos de recursos
iam:PassRole Concede permissão para o IAM a fim de permitir que o usuário passe os perfis aprovados. ARN do perfil usado para chamar StartDataQualityRulesetEvaluationRun

Sem essas permissões, ocorre o seguinte erro:

"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"

Entidades confiáveis do IAM

Os serviços AWS Glue e Agendados do AWS EventBridge precisam estar listados nas entidades confiáveis para criar e executar uma StartDataQualityEvaluationRun agendada.

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

Políticas de exemplo do IAM

Um perfil do IAM para o AWS Glue Data Quality precisa dos seguintes tipos de permissões:

  • Permissões para operações do AWS Glue Data Quality para que você possa obter as regras de qualidade de dados recomendadas e executar uma tarefa de qualidade de dados em uma tabela do AWS Glue Data Catalog. Os exemplos de políticas do IAM desta seção incluem as permissões mínimas necessárias para as operações do AWS Glue Data Quality.

  • Permissões que concedem acesso à tabela do Data Catalog aos dados subjacentes. Essas permissões variam dependendo do caso de uso. Por exemplo, para dados que você cataloga no Amazon S3, as permissões devem incluir acesso ao Amazon S3.

    nota

    Você deve configurar as permissões do Amazon S3 além das descritas nesta seção.

Permissões mínimas para obter as regras de qualidade de dados recomendadas

Esse exemplo de política inclui as permissões necessárias para gerar as regras de qualidade de dados recomendadas.

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

Permissões mínimas para executar uma tarefa de qualidade de dados

Esse exemplo de política inclui as permissões necessárias para executar a tarefa de avaliação de qualidade de dados.

As seguintes instruções da política são opcionais dependendo do caso de uso:

  • AllowCloudWatchPutMetricDataToPublishTaskMetrics: obrigatório se você quiser publicar métricas de execução de qualidade de dados no Amazon CloudWatch.

  • AllowS3PutObjectToWriteTaskResults: obrigatório se você quiser gravar resultados de execução de qualidade de dados no 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>/*" } ] }

Permissões mínimas para executar um trabalho de qualidade de dados

Esse exemplo de política inclui as permissões necessárias para executar um trabalho de ETL de qualidade de dados.

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