Requisitos para funções usadas para registrar locais
Você deve especificar um perfil do (IAM) AWS Identity and Access Management ao registrar uma localização do Amazon Simple Storage Service (Amazon S3). AWS Lake Formationassume esse perfil ao acessar os dados nesse local.
Você pode usar um dos seguintes tipos de perfil para registrar um local:
-
A função vinculada ao serviço do Lake Formation. Esse perfil concede as permissões necessárias no local. O uso desse perfil é a maneira mais simples de registrar o local. Para ter mais informações, consulte Usar perfis vinculados ao serviço para o Lake Formation.
-
Um perfil definido pelo usuário. Use um perfil definido pelo usuário quando precisar conceder mais permissões do que o perfil vinculado ao serviço fornece.
Você deve usar um perfil definido pelo usuário nas seguintes circunstâncias:
-
Ao registrar um local em outra conta.
Para ter mais informações, consulte Registrando uma localização do Amazon S3 em outra conta AWS e Registrando uma localização criptografada do Amazon S3 em todas as contas AWS.
-
Se você usou uma CMK gerenciada AWS (
aws/s3
) para criptografar a localização do Amazon S3.Para ter mais informações, consulte Registrando uma localização criptografada do Amazon S3.
-
Se você planeja acessar o local usando o Amazon EMR.
Se você já registrou um local com o perfil vinculado ao serviço e deseja começar a acessar o local com o Amazon EMR, você deve cancelar o registro do local e registrá-lo novamente com um perfil definido pelo usuário. Para ter mais informações, consulte Cancelar o registro de uma localização do Amazon S3.
-
A seguir estão os requisitos para um perfil definido pelo usuário:
-
Ao criar o novo perfil, na página Criar perfil do console do IAM, escolha Serviço da AWS e, em seguida, em Escolha um caso de uso, escolha Lake Formation.
Se você criar o perfil usando um caminho diferente, certifique-se de que o perfil tenha uma relação de confiança com
lakeformation.amazonaws.com
. Para obter mais informações, consulte Modificando uma política de confiança de função (console). -
A função deve ter relações de confiança com as seguintes entidades:
-
glue.amazonaws.com
-
lakeformation.amazonaws.com
Para obter mais informações, consulte Modificando uma política de confiança de função (console).
-
-
A função deve ter uma política em linha que conceda ao Amazon S3 permissões de leitura/gravação no local. A seguir está uma política típica.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::awsexamplebucket" ] } ] }
-
Adicione a política de confiança a seguir ao perfil do IAM para permitir que o serviço Lake Formation assuma o perfil e forneça credenciais temporárias aos mecanismos analíticos integrados.
Para incluir o contexto de usuário do Centro de Identidade do IAM nos logs do CloudTrail, a política de confiança deve ter a permissão para a ação
sts:SetContext
.{ "Version": "2012-10-17", "Statement": [ { "Sid": "DataCatalogViewDefinerAssumeRole1", "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] } ] }
-
O administrador do data lake que registra o local deve ter a permissão
iam:PassRole
sobre o perfil.A seguir está uma política embutida que concede essa permissão. Substitua
<account-id>
por um número de conta válido AWS e substitua<role-name>
pelo nome da função.{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::
<account-id>
:role/<role-name>
" ] } ] } -
Para permitir que o Lake Formation adicione registros no CloudWatch Logs e publique métricas, adicione a seguinte política embutida.
nota
A gravação nos logs do CloudWatch incorre em uma cobrança.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Sid1", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:
<region>
:<account-id>
:log-group:/aws-lakeformation-acceleration/*", "arn:aws:logs:<region>
:<account-id>
:log-group:/aws-lakeformation-acceleration/*:log-stream:*" ] } ] }