Pré-requisitos para gerar estatísticas de colunas - AWS Glue

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
  1. Para criar um perfil do IAM, consulte Criar um perfil do IAM para o AWS Glue.

  2. 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.

  3. Na guia Adicionar permissões, escolha Anexar políticas. Na janela recém-aberta do navegador, escolha política gerenciada pela AWS AWSGlueServiceRole.

  4. 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.

  5. 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 e bucket-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>" ] } ] }
  6. (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ões ALTER e DESCRIBE do Lake Formation na tabela. O perfil usado para registrar o bucket do Amazon S3 requer as permissões INSERT e DELETE 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ões ALTER, DESCRIBE, INSERT e DELETE do Lake Formation na tabela.

  7. (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"] } } } ] }
  8. 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>" ] }] }
  9. 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", } ] }