Etapa 1: criar uma política do IAM para o serviço AWS Glue - AWS Glue

Etapa 1: criar uma política do IAM para o serviço AWS Glue

Para qualquer operação que acesse dados em outro recurso da AWS, como o acesso aos seus objetos no Amazon S3,o AWS Glue precisa de permissão para acessar o recurso em seu nome. Você concede essas permissões usando o AWS Identity and Access Management (IAM).

nota

Você pode ignorar esta etapa se usar a política gerenciada pela AWS AWSGlueServiceRole.

Nesta etapa, você cria uma política semelhante a AWSGlueServiceRole. Você pode encontrar a versão mais atual da AWSGlueServiceRole no console do IAM.

Para criar uma política do IAM para AWS Glue

Essa política concede permissão a algumas ações do Amazon S3 para o gerenciamento dos recursos na sua conta que são exigidos pelo AWS Glue quando ele assume uma função usando essa política. Alguns dos recursos especificados nessa política referem-se a nomes padrão que são usados ​​pelo AWS Glue para buckets do Amazon S3, scripts de ETL do Amazon S3, CloudWatch Logs e recursos do Amazon EC2. Por questões de simplicidade, o AWS Glue grava alguns objetos do Amazon S3 em buckets da sua conta com o prefixo aws-glue-* por padrão.

  1. Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação à esquerda, escolha Políticas.

  3. Escolha Criar política.

  4. Na tela Create Policy, navegue até uma guia para editar o JSON. Crie um documento de política com as seguintes instruções JSON e escolha Review policy.

    nota

    Adicione quaisquer permissões necessárias para os recursos do Amazon S3. Convém definir o escopo da seção de recursos da sua política de acesso somente para os recursos necessários.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:*", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketAcl", "ec2:DescribeVpcEndpoints", "ec2:DescribeRouteTables", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcAttribute", "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "cloudwatch:PutMetricData" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPublicAccessBlock" ], "Resource": [ "arn:aws:s3:::aws-glue-*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::aws-glue-*/*", "arn:aws:s3:::*/*aws-glue-*/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::crawler-public*", "arn:aws:s3:::aws-glue-*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:AssociateKmsKey" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws-glue/*" ] }, { "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:DeleteTags" ], "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "aws-glue-service-resource" ] } }, "Resource": [ "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:instance/*" ] } ] }

    A tabela a seguir descreve as permissões concedidas por esta política.

    Ação Recurso Descrição

    "glue:*"

    "*"

    Concede permissão para executar todas as operações de API do AWS Glue.

    "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketAcl",

    "*"

    Permite listar os buckets do Amazon S3 a partir de crawlers, trabalhos, endpoints de desenvolvimento e servidores de cadernos.

    "ec2:DescribeVpcEndpoints", "ec2:DescribeRouteTables", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcAttribute",

    "*"

    Permite a configuração de itens de rede do Amazon EC2, como nuvens privadas virtuais (VPCs), ao executar trabalhos, crawlers e endpoints de desenvolvimento.

    "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy"

    "*"

    Permite listar as funções do IAM a partir de crawlers, trabalhos, endpoints de desenvolvimento e servidores de cadernos.

    "cloudwatch:PutMetricData"

    "*"

    Permite gravar métricas do CloudWatch para trabalhos.

    "s3:CreateBucket", "s3:PutBucketPublicAccessBlock"

    "arn:aws:s3:::aws-glue-*"

    Permite criar buckets do Amazon S3 na sua conta a partir de trabalhos e servidores de cadernos.

    Convenção de nomenclatura: usa pastas do Amazon S3 chamadas aws-glue-.

    Permite que o AWS Glue crie buckets que bloqueiam o acesso público.

    "s3:GetObject", "s3:PutObject", "s3:DeleteObject"

    "arn:aws:s3:::aws-glue-*/*", "arn:aws:s3:::*/*aws-glue-*/*"

    Possibilita obter, inserir e excluir objetos do Amazon S3 contidos na sua conta ao armazenar objetos, como scripts de ETL e locais de servidores de cadernos.

    Convenção de nomenclatura: concede permissão a buckets ou pastas do Amazon S3 cujos nomes contêm o prefixo aws-glue-.

    "s3:GetObject"

    "arn:aws:s3:::crawler-public*", "arn:aws:s3:::aws-glue-*"

    Permite obter objetos do Amazon S3 usados ​​por exemplos e tutoriais dos crawlers e trabalhos.

    Convenção de nomenclatura: os nomes de buckets do Amazon S3 começam com crawler-public e aws-glue-.

    "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents"

    "arn:aws:logs:*:*:log-group:/aws-glue/*"

    Permite gravar logs no CloudWatch Logs.

    Convenção de nomenclatura: o AWS Glue grava logs em grupos cujos nomes começam com aws-glue.

    "ec2:CreateTags", "ec2:DeleteTags"

    "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:instance/*"

    Permite marcar de recursos do Amazon EC2 criados para endpoints de desenvolvimento.

    Convenção de nomenclatura: o AWS Glue marca interfaces de rede, grupos de segurança e instâncias do Amazon EC2 com aws-glue-service-resource.

  5. Na tela Review Policy (Revisar política), insira o Policy Name (Nome da política), por exemplo, GlueServiceRolePolicy. Digite uma descrição opcional e, quando estiver satisfeito com a política, escolha Create policy (Criar política).