

# Etapa 2: criar um perfil do IAM para o AWS Glue
<a name="create-an-iam-role"></a>

Você precisa conceder à sua função do IAM as permissões que o AWS Glue pode assumir ao chamar outros serviços em seu nome. Isso inclui acesso do Amazon S3 a quaisquer fontes, destinos, scripts e diretórios temporários utilizados com o AWS Glue. Crawlers, trabalhos e endpoints de desenvolvimento precisam dessa permissão.

Você concede essas permissões usando o AWS Identity and Access Management (IAM). Adicione uma política à função do IAM que você transmitir ao AWS Glue.

****Para criar um perfil do IAM no editor de trabalhos****

1. Ao criar um trabalho no console do AWS Glue, localize a seção de perfil.

1. Escolha **Criar nova função**.

1. Um formulário de criação de perfil em linha é aberto, permitindo que você:
   + Especifique o **Nome do perfil**; por exemplo, `AWSGlueServiceRoleDefault`.
   + A política gerenciada `AWSGlueServiceRole` é selecionada automaticamente.
   + Revise a política de confiança para assumir o perfil.
   + Adicione tags opcionais para metadados.

1. Selecione **Criar perfil**.

1. O perfil recém-criado é selecionado automaticamente para seu trabalho.

Como alternativa, você pode usar o console do IAM para criar um perfil.

****Para criar um perfil do IAM no AWS Glue usando o 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 à esquerda, selecione **Perfis**.

1. Selecione **Criar perfil**.

1.  Escolha **Serviço da AWS** como o tipo de entidade confiável. Em seguida, para o serviço ou caso de uso, encontre e escolha **AWS Glue**. Escolha **Próximo**. 

1. Na página **Adicionar permissões**, escolha as políticas que contêm as permissões necessárias, por exemplo, a política de `AWSGlueServiceRole` gerenciada pela AWS para permissões gerais do AWS Glue e a política de **AmazonS3FullAccess** gerenciada pela AWS para acesso a recursos do Amazon S3. Escolha **Próximo**.
**nota**  
Verifique se uma das políticas nessa função concede permissões aos seus destinos e fontes do Amazon S3. Convém fornecer sua própria política de acesso a recursos específicos do Amazon S3. As fontes de dados exigem permissões `s3:ListBucket` e `s3:GetObject`. Os destinos de dados exigem permissões `s3:ListBucket`, `s3:PutObject` e `s3:DeleteObject`. Para obter mais informações sobre como criar uma política do Amazon S3 para os seus recursos, consulte [Especificar recursos em uma política](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-arn-format.html). 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/).   
Se você pretende acessar as fontes e os destinos do Amazon S3 que foram criptografados com SSE-KMS, anexe uma política que permita que os crawlers, os trabalhos e os endpoints de desenvolvimento do AWS Glue descriptografem os dados. Para obter mais informações, consulte [Proteção de dados usando criptografia do lado do servidor com chaves gerenciadas pelo AWS KMS (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html).   
Veja um exemplo a seguir.  

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt"
         ],
         "Resource": [
           "arn:aws:kms:*:{{111122223333}}:key/{{key-id}}"
         ]
       }
     ]
   }
   ```

1.  Dê um nome à sua função e adicione uma descrição (opcional). Em seguida, revise a política de confiança e as permissões. Para **Role name** (Nome da função), digite um nome para sua função, por exemplo, `AWSGlueServiceRoleDefault`. Crie a função com um nome que tenha a string `AWSGlueServiceRole` como prefixo para permitir que a função seja transmitida dos usuários do console para o serviço. As políticas fornecidas pelo AWS Glue esperam que as funções de serviço do IAM comecem com `AWSGlueServiceRole`. Caso contrário, você precisará adicionar uma política para conceder aos seus usuários a permissão `iam:PassRole` para que as funções do IAM correspondam às suas conversões de nomenclatura. Selecione **Criar função**.
**nota**  
Quando você cria um caderno com uma função, essa função é transmitida para sessões interativas, de modo que a mesma função possa ser usada em ambos os lugares. Por isso, a permissão `iam:PassRole` precisa fazer parte da política da função.   
Crie uma nova política para seu perfil usando o exemplo a seguir. Substitua o número da conta e pelo seu próprio e pelo nome do perfil.   

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "iam:PassRole",
         "Resource": "arn:aws:iam::090000000210:role/<role_name>"
       }
     ]
   }
   ```

1.  Adicione tags à sua regra (opcional). As tags são pares chave-valor que podem ser adicionados a recursos da AWS para ajudar a identificar, organizar ou pesquisar recursos. Depois, escolha **Create role** (Criar função). 