O crawler assume as permissões da função do AWS Identity and Access Management (IAM) que você especificou ao defini-lo. Essa função do IAM precisa ter permissões para extrair dados do seu armazenamento de dados e gravar no Data Catalog. O console do AWS Glue lista somente as funções do IAM com uma política de confiança anexada para o serviço da entidade principal AWS Glue. No console, você também pode criar uma função do IAM com uma política do IAM para acessar o armazenamento de dados do Amazon S3 que é acessado pelo crawler. Para obter mais informações sobre como fornecer funções ao AWS Glue, consulte Políticas baseadas em identidade para Glue AWS.
nota
Para fazer o crawling de um armazenamento de dados do Delta Lake, é necessário ter permissões de leitura/gravação para o local do Amazon S3.
Para o crawler, você pode criar uma função e anexar as seguintes políticas:
-
A política
AWSGlueServiceRole
gerenciada pela AWS, que concede as permissões necessárias no Data Catalog -
Uma política em linha que concede permissões na origem dos dados.
Uma política em linha que concede permissões
iam:PassRole
no perfil.
Uma abordagem mais rápida é permitir que o assistente do crawler do console do AWS Glue crie uma função para você. A função que ele cria é especificamente para o crawler e inclui a política AWSGlueServiceRole
gerenciada pela AWS e mais a política em linha necessária para a origem dos dados especificada.
Se você especificar uma função existente para um crawler, certifique-se de que ela inclua a política AWSGlueServiceRole
ou equivalente (ou uma versão dessa política com um escopo reduzido), além das políticas em linha necessárias. Por exemplo, para um armazenamento de dados do Amazon S3, a política em linha seria, no mínimo, a seguinte:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::
bucket/object
*" ] } ] }
Para um armazenamento de dados do Amazon DynamoDB, a política seria, no mínimo, a seguinte:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:DescribeTable", "dynamodb:Scan" ], "Resource": [ "arn:aws:dynamodb:
region
:account-id
:table/table-name
*" ] } ] }
E ainda, se o crawler ler os dados do Amazon S3 criptografados pelo AWS Key Management Service (AWS KMS), a função do IAM AWS KMS deverá ter permissão de descriptografia na chave do . Para ter mais informações, consulte Etapa 2: criar um perfil do IAM para o AWS Glue.