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çã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:
|
::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:
|
::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.
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}" ] } }