

# Etapa 3: anexar uma política aos usuários ou grupos que acessam o AWS Glue
<a name="attach-policy-iam-user"></a>

O administrador deve atribuir permissões a todos os usuários, grupos ou perfis que usem o console do AWS Glue ou a AWS Command Line Interface (AWS CLI). Você fornece essas permissões usando o AWS Identity and Access Management (IAM), por meio de políticas. Esta etapa descreve a atribuição de permissões a usuários ou grupos.

Quando você concluir esta etapa, o usuário ou o grupo terá as seguintes políticas anexadas:
+ A política gerenciada pela AWS `AWSGlueConsoleFullAccess` ou a política personalizada **GlueConsoleAccessPolicy**
+ **`AWSGlueConsoleSageMakerNotebookFullAccess`**
+ **`CloudWatchLogsReadOnlyAccess`**
+ **`AWSCloudFormationReadOnlyAccess`**
+ **`AmazonAthenaFullAccess`**

**Para anexar uma política em linha e incorporá-la em um usuário ou grupo**

Você pode anexar uma política gerenciada pela AWS ou uma política em linha a um usuário ou grupo para acessar o console do AWS Glue. 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, CloudFormation 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. 
**nota**  
Você pode ignorar esta etapa se usar a política gerenciada pela AWS **`AWSGlueConsoleFullAccess`**.
**Importante**  
AWS GlueO precisa de permissão para assumir uma função usada para executar um trabalho em seu nome. **Para fazer isso, você adiciona as permissões de `iam:PassRole` aos usuários ou aos grupos do AWS Glue.** Essa política concede permissão às funções que começam com `AWSGlueServiceRole` para funções de serviço do AWS Glue e com `AWSGlueServiceNotebookRole` para funções necessárias ao criar um servidor de notebook. Você também pode criar sua própria política para permissões `iam:PassRole` seguindo sua convenção de nomenclatura.  
De acordo com as práticas recomendadas de segurança, recomenda-se restringir o acesso enrijecendo políticas para restringir ainda mais o acesso ao bucket do Amazon S3 e grupos de logs do Amazon CloudWatch. Para obter um exemplo de política do Amazon S3, consulte [Gravar políticas do IAM: como conceder acesso a um bucket do Amazon S3](https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/). 

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

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Grupos** ou **Usuários**.

1. Na lista, escolha o nome do usuário ou do grupo ao qual deseja incorporar uma política.

1. Selecione a guia **Permissions (Permissões)** e expanda a seção **Permissions policies (Políticas de permissões)**.

1. Escolha o link **Add Inline policy**.

1. 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**.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "glue:*",
           "redshift:DescribeClusters",
           "redshift:DescribeClusterSubnetGroups",
           "iam:ListRoles",
           "iam:ListUsers",
           "iam:ListGroups",
           "iam:ListRolePolicies",
           "iam:GetRole",
           "iam:GetRolePolicy",
           "iam:ListAttachedRolePolicies",
           "ec2:DescribeSecurityGroups",
           "ec2:DescribeSubnets",
           "ec2:DescribeVpcs",
           "ec2:DescribeVpcEndpoints",
           "ec2:DescribeRouteTables",
           "ec2:DescribeVpcAttribute",
           "ec2:DescribeKeyPairs",
           "ec2:DescribeInstances",
           "rds:DescribeDBInstances",
           "rds:DescribeDBClusters",
           "rds:DescribeDBSubnetGroups",
           "s3:ListAllMyBuckets",
           "s3:ListBucket",
           "s3:GetBucketAcl",
           "s3:GetBucketLocation",
           "cloudformation:DescribeStacks",
           "cloudformation:GetTemplateSummary",
           "dynamodb:ListTables",
           "kms:ListAliases",
           "kms:DescribeKey",
           "cloudwatch:GetMetricData",
           "cloudwatch:ListDashboards"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:PutObject"
         ],
         "Resource": [
           "arn:aws:s3:::*/*aws-glue-*/*",
           "arn:aws:s3:::aws-glue-*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "tag:GetResources"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:CreateBucket",
           "s3:PutBucketPublicAccessBlock"
         ],
         "Resource": [
           "arn:aws:s3:::aws-glue-*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "logs:GetLogEvents"
         ],
         "Resource": [
           "arn:aws:logs:*:*:/aws-glue/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "cloudformation:CreateStack",
           "cloudformation:DeleteStack"
         ],
         "Resource": "arn:aws:cloudformation:*:*:stack/aws-glue*/*"
       },
       {
         "Effect": "Allow",
         "Action": [
           "ec2:RunInstances"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:instance/*",
           "arn:aws:ec2:*:*:key-pair/*",
           "arn:aws:ec2:*:*:image/*",
           "arn:aws:ec2:*:*:security-group/*",
           "arn:aws:ec2:*:*:network-interface/*",
           "arn:aws:ec2:*:*:subnet/*",
           "arn:aws:ec2:*:*:volume/*"
         ]
       },
       {
         "Action": [
           "iam:PassRole"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:iam::*:role/AWSGlueServiceRole*",
         "Condition": {
           "StringLike": {
             "iam:PassedToService": [
               "glue.amazonaws.com"
             ]
           }
         }
       },
       {
         "Action": [
           "iam:PassRole"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:iam::*:role/AWSGlueServiceNotebookRole*",
         "Condition": {
           "StringLike": {
             "iam:PassedToService": [
               "ec2.amazonaws.com"
             ]
           }
         }
       },
       {
         "Action": [
           "iam:PassRole"
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:iam::*:role/service-role/AWSGlueServiceRole*"
         ],
         "Condition": {
           "StringLike": {
             "iam:PassedToService": [
               "glue.amazonaws.com"
             ]
           }
         }
       }
     ]
   }
   ```

------

   A tabela a seguir descreve as permissões concedidas por esta política.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/attach-policy-iam-user.html)

1. Na página **Review policy (Revisar política)**, insira um nome para a política, por exemplo, **GlueConsoleAccessPolicy**. Quando estiver satisfeito com a política, escolha **Create policy (Criar política)**. Certifique-se de que nenhum erro seja exibido na caixa vermelha na parte superior da tela. Corrija os que foram relatados.
**nota**  
Se a opção **Use autoformatting** estiver selecionada, a política será reformatada sempre que você abrir uma política ou escolher **Validate Policy**.

**Para anexar a política gerenciada AWSGlueConsoleFullAccess**

Você pode anexar a política `AWSGlueConsoleFullAccess` para fornecer permissões exigidas pelo usuário do console do AWS Glue.
**nota**  
Você pode ignorar essa etapa se já criou sua própria política de acesso ao console do AWS Glue.

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM, em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Políticas**.

1. Na lista de políticas, marque a caixa de seleção ao lado da política **AWSGlueConsoleFullAccess**. Você pode usar o menu **Filtro** e a caixa de pesquisa para filtrar a lista de políticas.

1. Selecione **Ações da política** e escolha **Anexar**.

1. Escolha o usuário ao qual a política será anexada. Você pode usar o menu **Filter** (Filtro) e a caixa de pesquisa para filtrar a lista de entidades principais. Depois de escolher o usuário ao qual a política será anexada, selecione **Attach policy**.

**Anexe a política gerenciada `AWSGlueConsoleSageMakerNotebookFullAccess`**

Você pode anexar a política `AWSGlueConsoleSageMakerNotebookFullAccess` a um usuário para gerenciar cadernos do SageMaker AI criados no console do AWS Glue. Além de outras permissões necessárias no console do AWS Glue, essa política concede acesso aos recursos necessários para gerenciar cadernos do SageMaker AI. 

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM, em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Políticas**. 

1. Na lista de políticas, selecione a caixa de seleção ao lado de **AWSGlueConsoleSageMakerNotebookFullAccess**. Você pode usar o menu **Filtro** e a caixa de pesquisa para filtrar a lista de políticas.

1. Selecione **Ações da política** e escolha **Anexar**.

1. Escolha o usuário ao qual a política será anexada. Você pode usar o menu **Filter** (Filtro) e a caixa de pesquisa para filtrar a lista de entidades principais. Depois de escolher o usuário ao qual a política será anexada, selecione **Attach policy**.

**Para anexar a política gerenciada CloudWatchLogsReadOnlyAccess**

Você pode anexar a política **CloudWatchLogsReadOnlyAccess** a um usuário para visualizar os logs criados pelo AWS Glue no console do CloudWatch Logs.

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM, em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Políticas**. 

1. Na lista de políticas, selecione a caixa de seleção ao lado de **CloudWatchLogsReadOnlyAccess**. Você pode usar o menu **Filtro** e a caixa de pesquisa para filtrar a lista de políticas.

1. Selecione **Ações da política** e escolha **Anexar**.

1. Escolha o usuário ao qual a política será anexada. Você pode usar o menu **Filter** (Filtro) e a caixa de pesquisa para filtrar a lista de entidades principais. Depois de escolher o usuário ao qual a política será anexada, selecione **Attach policy**.

**Para anexar a política gerenciada AWSCloudFormationReadOnlyAccess**

Você pode anexar a política **AWSCloudFormationReadOnlyAccess** a um usuário para visualizar pilhas do CloudFormation usadas pelo AWS Glue no console do CloudFormation.

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM, em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Políticas**. 

1. Na lista de políticas, marque a caixa de seleção ao lado de **AWSCloudFormationReadOnlyAccess**. Você pode usar o menu **Filtro** e a caixa de pesquisa para filtrar a lista de políticas.

1. Selecione **Ações da política** e escolha **Anexar**.

1. Escolha o usuário ao qual a política será anexada. Você pode usar o menu **Filter** (Filtro) e a caixa de pesquisa para filtrar a lista de entidades principais. Depois de escolher o usuário ao qual a política será anexada, selecione **Attach policy**.

**Para anexar a política gerenciada AmazonAthenaFullAccess**

Você pode anexar a política **AmazonAthenaFullAccess** a um usuário para visualizar dados do Amazon S3 no console do Athena.

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM, em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Políticas**. 

1. Na lista de políticas, marque a caixa de seleção ao lado da política **AmazonAthenaFullAccess**. Você pode usar o menu **Filtro** e a caixa de pesquisa para filtrar a lista de políticas.

1. Selecione **Ações da política** e escolha **Anexar**.

1. Escolha o usuário ao qual a política será anexada. Você pode usar o menu **Filter** (Filtro) e a caixa de pesquisa para filtrar a lista de entidades principais. Depois de escolher o usuário ao qual a política será anexada, selecione **Attach policy**.