

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Etapa 4: criar um perfil de instância do IAM para as suas instâncias do Amazon EC2
<a name="getting-started-create-iam-instance-profile"></a>

**nota**  
 Se você estiver usando a plataforma de computação Amazon ECS ou AWS Lambda, pule esta etapa.

Suas instâncias do Amazon EC2 precisam de permissão para acessar os buckets GitHub ou repositórios do Amazon S3 onde os aplicativos estão armazenados. Para iniciar instâncias do Amazon EC2 que sejam compatíveis com CodeDeploy, você deve criar uma função adicional do IAM, um perfil de *instância*. Estas instruções mostram como criar um perfil de instância do IAM; para anexar às suas instâncias do Amazon EC2. Essa função dá ao CodeDeploy agente permissão para acessar os buckets ou GitHub repositórios do Amazon S3 onde seus aplicativos estão armazenados.

Você pode criar um perfil de instância do AWS CLI IAM com o console do IAM ou o IAM APIs.

**nota**  
Você pode anexar um perfil da instância do IAM a uma instância do Amazon EC2 ao executá-la ou a uma instância executada anteriormente. Para obter mais informações, consulte [Perfis de instância](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-instanceprofile.html).

**Topics**
+ [Criar um perfil de instância do IAM; para as suas instâncias do Amazon EC2 (CLI)](#getting-started-create-iam-instance-profile-cli)
+ [Criar um perfil de instância do IAM; para as suas instâncias do Amazon EC2 (console)](#getting-started-create-iam-instance-profile-console)

## Criar um perfil de instância do IAM; para as suas instâncias do Amazon EC2 (CLI)
<a name="getting-started-create-iam-instance-profile-cli"></a>

Nestas etapas, partimos do princípio de que você já seguiu as instruções das três primeiras etapas em [Começando com CodeDeploy](getting-started-codedeploy.md).

1. Na máquina de desenvolvimento, crie um arquivo de texto chamado `CodeDeployDemo-EC2-Trust.json`. Cole o seguinte conteúdo, que permite ao Amazon EC2; trabalhar em seu nome:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "Service": "ec2.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "ec2.cn-north-1.amazonaws.com",
                       "ec2.cn-northwest-1.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. No mesmo diretório, crie um arquivo de texto chamado `CodeDeployDemo-EC2-Permissions.json`. Cole o seguinte conteúdo:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:Get*",
                   "s3:List*"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```
**nota**  
Recomendamos que você restrinja essa política somente aos buckets do Amazon S3 que suas instâncias do Amazon EC2 precisam acessar. Certifique-se de dar acesso aos buckets do Amazon S3 que contêm o agente. CodeDeploy Caso contrário, poderá ocorrer um erro quando o CodeDeploy agente for instalado ou atualizado nas instâncias. Para conceder ao perfil da instância do IAM acesso somente a alguns buckets do kit de CodeDeploy recursos no Amazon S3, use a política a seguir, mas remova as linhas dos buckets aos quais você deseja impedir o acesso:  

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::aws-codedeploy-us-east-2/*",
           "arn:aws:s3:::aws-codedeploy-us-east-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-2/*",
           "arn:aws:s3:::aws-codedeploy-ca-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-3/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-north-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-2/*",
           "arn:aws:s3:::aws-codedeploy-il-central-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-east-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*",        
           "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-2/*",
           "arn:aws:s3:::aws-codedeploy-me-central-1/*",
           "arn:aws:s3:::aws-codedeploy-me-south-1/*",
           "arn:aws:s3:::aws-codedeploy-sa-east-1/*"
         ]
       }
     ]
   }
   ```
**nota**  
Se você quiser usar a [autorização do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-authorization) ou os endpoints da Amazon Virtual Private Cloud (VPC) com CodeDeploy, você precisará adicionar mais permissões. Consulte [Usar CodeDeploy com a Amazon Virtual Private Cloud](https://docs.aws.amazon.com/codedeploy/latest/userguide/vpc-endpoints) para obter mais informações.

1. No mesmo diretório, chame o comando **create-role** para criar um perfil do IAM denominada **CodeDeployDemo-EC2-Instance-Profile**, com base nas informações do arquivo:
**Importante**  
Não se esqueça de incluir `file://` antes do nome de arquivo. Ele é obrigatório nesse comando.

   ```
   aws iam create-role --role-name CodeDeployDemo-EC2-Instance-Profile --assume-role-policy-document file://CodeDeployDemo-EC2-Trust.json
   ```

1. No mesmo diretório, chame o comando **put-role-policy** para fornecer à função denominada **CodeDeployDemo-EC2-Instance-Profile** as permissões com base nas informações do segundo arquivo:
**Importante**  
Não se esqueça de incluir `file://` antes do nome de arquivo. Ele é obrigatório nesse comando.

   ```
   aws iam put-role-policy --role-name CodeDeployDemo-EC2-Instance-Profile --policy-name CodeDeployDemo-EC2-Permissions --policy-document file://CodeDeployDemo-EC2-Permissions.json
   ```

1. Ligue **attach-role-policy** para dar à função Amazon EC2 Systems Manager permissões para que o SSM possa instalar o CodeDeploy agente. Esta política não é necessária se você planeja instalar o agente pelo bucket público do Amazon S3 com a linha de comando. Saiba mais sobre a [ instalação do agente do CodeDeploy ](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html). 

   ```
   aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore --role-name CodeDeployDemo-EC2-Instance-Profile
   ```

1. Chame o comando **create-instance-profile** seguido do comando **add-role-to-instance-profile** para criar um perfil de instância do IAM denominado **CodeDeployDemo-EC2-Instance-Profile**. O perfil de instância permite que o Amazon EC2 transmita o perfil do IAM denominado **CodeDeployDemo-EC2-Instance-Profile** para uma instância do Amazon EC2 quando essa instância for iniciada pela primeira vez:

   ```
   aws iam create-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profile
   aws iam add-role-to-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profile --role-name CodeDeployDemo-EC2-Instance-Profile
   ```

   Se você precisar obter o nome do perfil da instância do IAM, consulte [list-instance-profiles-for-role](https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profiles-for-role.html) na seção IAM da *AWS CLI Referência*.

Agora, você criou um perfil de instância do IAM; a ser anexado às suas instâncias do Amazon EC2. Para obter mais informações, consulte [Perfis do IAM para o Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) no *Guia do usuário do Amazon EC2*.

## Criar um perfil de instância do IAM; para as suas instâncias do Amazon EC2 (console)
<a name="getting-started-create-iam-instance-profile-console"></a>

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 console do IAM, no painel de navegação, escolha **Políticas** e **Criar política**. 

1. Na página **Especificar permissões**, escolha **JSON**.

1. Remova o `JSON` código de exemplo.

1. Cole o seguinte código:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:Get*",
                   "s3:List*"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```
**nota**  
Recomendamos que você restrinja essa política somente aos buckets do Amazon S3 que suas instâncias do Amazon EC2 precisam acessar. Certifique-se de dar acesso aos buckets do Amazon S3 que contêm o agente. CodeDeploy Caso contrário, poderá ocorrer um erro quando o CodeDeploy agente for instalado ou atualizado nas instâncias. Para conceder ao perfil da instância do IAM acesso somente a alguns buckets do kit de CodeDeploy recursos no Amazon S3, use a política a seguir, mas remova as linhas dos buckets aos quais você deseja impedir o acesso:  

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::aws-codedeploy-us-east-2/*",
           "arn:aws:s3:::aws-codedeploy-us-east-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-2/*",
           "arn:aws:s3:::aws-codedeploy-ca-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-3/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-north-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-2/*",
           "arn:aws:s3:::aws-codedeploy-il-central-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-east-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*",        
           "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-2/*",
           "arn:aws:s3:::aws-codedeploy-me-central-1/*",
           "arn:aws:s3:::aws-codedeploy-me-south-1/*",
           "arn:aws:s3:::aws-codedeploy-sa-east-1/*"
         ]
       }
     ]
   }
   ```
**nota**  
Se você quiser usar a [autorização do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-authorization) ou os endpoints da Amazon Virtual Private Cloud (VPC) com CodeDeploy, você precisará adicionar mais permissões. Consulte [Usar CodeDeploy com a Amazon Virtual Private Cloud](https://docs.aws.amazon.com/codedeploy/latest/userguide/vpc-endpoints) para obter mais informações.

1.  Escolha **Próximo**. 

1. Na página **Revisar e criar**, em **Nome da política**, digite **CodeDeployDemo-EC2-Permissions**.

1.  (Opcional) Em **Descrição**, digite uma descrição para a política. 

1. Escolha **Criar política**.

1. No painel de navegação, escolha **Perfis** e **Criar perfil**.

1. Em **Caso de uso**, escolha o caso de uso do **EC2**.

1. Escolha **Próximo**.

1.  Na lista de políticas, marque a caixa de seleção ao lado da política que você acabou de criar (**CodeDeployDemo-EC2-Permissions**). Se necessário, use a caixa de pesquisa para encontrar a política. 

1.  Para usar o Systems Manager para instalar ou configurar o CodeDeploy agente, marque a caixa de seleção ao lado **da Amazon SSMManaged InstanceCore**. Essa política AWS gerenciada permite que uma instância use a funcionalidade principal do serviço do Systems Manager. Se necessário, use a caixa de pesquisa para encontrar a política. Esta política não é necessária se você planeja instalar o agente pelo bucket público do Amazon S3 com a linha de comando. Saiba mais sobre a [ instalação do agente do CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html). 

1.  Escolha **Próximo**. 

1. Na página **Nomear, revisar e criar**, em **Nome do perfil**, insira um nome para o perfil de serviço (por exemplo, **CodeDeployDemo-EC2-Instance-Profile**) e escolha **Criar perfil**.

   Você também pode digitar uma descrição para este perfil de serviço na caixa **Descrição do perfil**.

Agora, você criou um perfil de instância do IAM; a ser anexado às suas instâncias do Amazon EC2. Para obter mais informações, consulte [Perfis do IAM para o Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) no *Guia do usuário do Amazon EC2*.