Pré-requisitos para gerar estatísticas de colunas
Para gerar ou atualizar as estatísticas de colunas, a tarefa de geração de estatísticas assume um perfil do AWS Identity and Access Management (IAM) em seu nome. Com base nas permissões concedidas ao perfil, a tarefa de geração de estatísticas da coluna pode ler os dados do datastore do Amazon S3.
nota
Para gerar estatísticas para tabelas gerenciadas pelo Lake Formation, o perfil do IAM usado para gerar estatísticas exige acesso total à tabela.
Ao configurar a tarefa de geração de estatísticas de colunas, o AWS Glue permite que você crie um perfil que inclua a política AWSGlueServiceRole
gerenciada pela AWS, além da política em linha necessária para a fonte de dados especificada. Você também pode criar um perfil e anexar as permissões listadas na política abaixo, e adicionar esse perfil à tarefa de geração de estatísticas da coluna.
Para criar um perfil do IAM para gerar estatísticas de coluna
-
Para criar um perfil do IAM, consulte Criar um perfil do IAM para o AWS Glue.
-
Para atualizar um perfil existente, no console do IAM, acesse o perfil do IAM que está sendo usado pelo processo de geração de estatísticas de colunas.
-
Na guia Adicionar permissões, escolha Anexar políticas. Na janela recém-aberta do navegador, escolha política gerenciada pela AWS
AWSGlueServiceRole
. -
Você também precisa incluir permissão para ler dados da localização de dados do Amazon S3.
Na seção Adicionar permissões, escolha Criar política. Na janela recém-aberta do navegador, crie uma nova política para usar com seu perfil.
-
Na página Criar política, escolha a guia JSON. Copie o seguinte código
JSON
no editor.nota
Nas políticas a seguir, substitua o ID da conta por uma Conta da AWS válida e substitua
region
pela região da tabela ebucket-name
pelo nome do bucket do Amazon S3.{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3BucketAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::
<bucket-name>
/*", "arn:aws:s3:::<bucket-name>
" ] } ] } (Opcional) Se você estiver usando as permissões do Lake Formation para fornecer acesso aos seus dados, o perfil do IAM exigirá permissões de
lakeformation:GetDataAccess
.{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccess", "Effect": "Allow", "Action": "lakeformation:GetDataAccess", "Resource": [ "*" ] } ] }
Se a localização dos dados do Amazon S3 estiver registrada no Lake Formation e o perfil do IAM assumido pela tarefa de geração de estatísticas de colunas não tiver permissões de grupo
IAM_ALLOWED_PRINCIPALS
concedidas na tabela, o perfil exigirá as permissõesALTER
eDESCRIBE
do Lake Formation na tabela. O perfil usado para registrar o bucket do Amazon S3 requer as permissõesINSERT
eDELETE
do Lake Formation na tabela.Se a localização dos dados do Amazon S3 não estiver registrada no Lake Formation e o perfil do IAM não tiver permissões de grupo
IAM_ALLOWED_PRINCIPALS
concedidas na tabela, o perfil exigirá as permissõesALTER
,DESCRIBE
,INSERT
eDELETE
do Lake Formation na tabela.-
(Opcional) A tarefa de geração de estatísticas de colunas que grava Amazon CloudWatch Logs criptografados requer as permissões a seguir na política de chave.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "CWLogsKmsPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:AssociateKmsKey" ], "Resource": [ "arn:aws:logs:
<region>
:111122223333
:log-group:/aws-glue:*" ] }, { "Sid": "KmsPermissions", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt" ], "Resource": [ "arn:aws:kms:<region>
:111122223333
:key/"arn of key used for ETL cloudwatch encryption
" ], "Condition": { "StringEquals": { "kms:ViaService": ["glue.<region>
.amazonaws.com"] } } } ] } -
O perfil que você usa para executar as estatísticas de colunas deve ter a permissão
iam:PassRole
.{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::
111122223333
:role/<columnstats-role-name>
" ] }] } -
Ao criar um perfil do IAM para gerar estatísticas de coluna, esse perfil também deve ter a política de confiança a seguir que permite que o serviço assuma o perfil.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "TrustPolicy", "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole", } ] }