

# Funções do IAM para Amazon EC2
<a name="iam-roles-for-amazon-ec2"></a>

As aplicações devem assinar suas solicitações de API com as credenciais da AWS. Portanto, se você for um desenvolvedor de aplicações, precisará de uma estratégia para gerenciar credenciais para suas aplicações que executam em instâncias do EC2. Por exemplo, é possível distribuir de maneira segura suas credenciais da AWS para as instâncias, permitindo que as aplicações nessas instâncias usem suas credenciais para assinar solicitações, enquanto protege suas credenciais de outros usuários. Contudo, é um desafio distribuir credenciais para cada instância de maneira segura, especialmente aquelas que a AWS cria em seu nome, como instâncias spot ou instâncias em grupos do Auto Scaling. Você também deve poder atualizar as credenciais em cada instância quando alterna suas credenciais da AWS.

Projetamos funções do IAM para que suas aplicações possam fazer solicitações de API de suas instâncias de maneira segura, sem exigir que você gerencie as credenciais de segurança que as aplicações usam. Em vez de criar e distribuir suas credenciais da AWS, é possível delegar permissão para fazer solicitações de API usando funções do IAM da seguinte forma:

1. Crie uma função do IAM.

1. Defina quais contas ou serviços da AWS podem assumir a função.

1. Defina quais ações e recursos de API a aplicação pode usar depois de assumir a função.

1. Especifique a função quando você executar a instância ou anexe a função a uma instância existente.

1. Faça com que a aplicação recupere um conjunto de credenciais temporárias e use-as.

Por exemplo, é possível usar funções do IAM para conceder permissões a aplicações em execução em suas instâncias que precisam usar um bucket no Amazon S3. É possível especificar permissões para funções do IAM criando uma política em formato JSON. Essas são semelhantes às políticas que você cria para os usuários do . Se você alterar uma função, a alteração será propagada para todas as instâncias.

**nota**  
As credenciais do perfil do IAM do Amazon EC2 não estão sujeitas às durações máximas de sessão configuradas no perfil. Para obter mais informações, consulte [Métodos para assumir um perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) no *Manual do usuário do IAM*.

Ao criar funções do IAM, associe políticas do IAM de privilégio mínimo que restringem o acesso às chamadas de API específicas exigidas pela aplicação. Para comunicação Windows para Windows, use grupos e funções bem definidos e bem documentados do Windows para conceder acesso no nível de aplicação entre instâncias do Windows. Grupos e funções permitem que os clientes definam permissões de aplicação de privilégio mínimo e no nível de pasta do NTFS para limitar o acesso a requisitos específicos da aplicação.

Você só pode anexar uma função do IAM a uma instância, mas pode anexar a mesma função a muitas instâncias. Para obter mais informações sobre como criar e usar funções do IAM, consulte [Funções](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) no *Guia do usuário do IAM*.

É possível aplicar permissões em nível de recurso às políticas do IAM para controlar a capacidade de anexar, substituir ou desanexar funções do IAM de uma instância. Para obter mais informações, consulte [Permissões no nível do recurso com suporte para ações de API do Amazon EC2](iam-policies-for-amazon-ec2.md#ec2-supported-iam-actions-resources) e o seguinte exemplo: [Exemplo: trabalhar com funções do IAM](ExamplePolicies_EC2.md#iam-example-iam-roles).

**Topics**
+ [Perfis de instância](#ec2-instance-profile)
+ [Permissões para seu caso de uso](#generate-policy-for-iam-role)
+ [Recuperar credenciais de segurança](instance-metadata-security-credentials.md)
+ [Permissões para anexar um perfil a uma instância](permission-to-pass-iam-roles.md)
+ [Anexar um perfil a uma instância](attach-iam-role.md)
+ [Perfis de identidade da instância](#ec2-instance-identity-roles)

## Perfis de instância
<a name="ec2-instance-profile"></a>

O Amazon EC2 usa um *perfil de instância* como um contêiner para uma função do IAM. Se você criar uma função do IAM usando o console do IAM o console criará automaticamente um perfil de instância e dará a ele o mesmo nome da função correspondente. Se você usar o console do Amazon EC2 para executar uma instância com uma função do IAM ou anexar uma função do IAM a uma instância, deve escolher a função com base em uma lista de nomes de perfis de instância. 

Se você usar a AWS CLI, a API ou um AWS SDK para criar uma função, você cria a função e o perfil da instância como ações separadas, com nomes potencialmente diferentes. Se você usar a AWS CLI, a API ou o AWS SDK para iniciar uma instância com uma função do IAM ou para anexar uma função do IAM a uma instância, especifique o nome do perfil da instância. 

Um perfil de instância pode conter somente uma função do IAM. É possível incluir um perfil do IAM em vários perfis de instâncias.

Para atualizar as permissões de uma instância, substitua o perfil da instância. Não é recomendável remover um perfil de um perfil de instância, pois existe um atraso de até uma hora antes que essa alteração entre em vigor.

Para obter mais informações, consulte [Usar perfis de instâncias](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) no *Guia do usuário do IAM*.

## Permissões para seu caso de uso
<a name="generate-policy-for-iam-role"></a>

Quando você cria uma função do IAM pela primeira vez para suas aplicações, às vezes é possível conceder permissões além do que é necessário. Antes de iniciar sua aplicação em seu ambiente de produção, é possível gerar uma política do IAM baseada na atividade de acesso para uma função do IAM. O IAM Access Analyzer revisa seus logs do AWS CloudTrail e gera um modelo de política que contém as permissões que foram usadas pela função no intervalo de datas especificado. É possível usar o modelo para criar uma política gerenciada com permissões refinadas e anexá-la à função do IAM. Dessa forma, você concede apenas as permissões necessárias à interação com os recursos da AWS, de acordo com a especificidade do caso de uso. Isso ajuda você a aderir às melhores práticas de [conceder privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege). Para obter mais informações, consulte [Geração de política do IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html) no *Guia do usuário do IAM*.

# Recuperar credenciais de segurança dos metadados da instância
<a name="instance-metadata-security-credentials"></a>

Uma aplicação na instância recupera as credenciais de segurança fornecidas pela função no item `iam/security-credentials/`*role-name* dos metadados da instância. A aplicação recebe as permissões para as ações e recursos que você definiu para a função por meio das credenciais de segurança associadas à função. Essas credenciais de segurança são temporárias e são alternadas automaticamente. Tornamos novas credenciais disponíveis pelo menos cinco minutos antes da expiração das credenciais antigas.

Para obter mais informações sobre os metadados da instância, consulte [Usar metadados da instância para gerenciar a instância do EC2](ec2-instance-metadata.md).

**Atenção**  
Se você usar serviços que usam os metadados da instância com funções do IAM, não exponha suas credenciais quando os serviços criarem chamadas HTTP em seu nome. Os tipos de serviços que podem expor suas credenciais incluem proxies HTTP, serviços de validação HTML/CSS e processadores XML que são compatíveis com a inclusão XML.

Para suas workloads do Amazon EC2, recomendamos recuperar as credenciais da sessão usando o método descrito abaixo. Essas credenciais devem permitir que sua workload faça solicitações da API da AWS sem precisar usar `sts:AssumeRole` para assumir a mesma função que já está associada à instância. A menos que seja necessário passar etiquetas de sessão para controle de acesso por atributo (ABAC) ou passar uma política de sessão para restringir ainda mais as permissões da função, essas chamadas de suposição de função são desnecessárias, pois criam um novo conjunto das mesmas credenciais de sessão de função temporária.

Se sua workload usa uma função para assumir a si mesma, é necessário criar uma política de confiança que permita explicitamente que essa função se assuma sozinha. Se a política de confiança não for criada, o erro `AccessDenied` ocorrerá. Para obter mais informações, consulte [Atualização de uma política de confiança de perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html) no *Guia do usuário do IAM*.

------
#### [ IMDSv2 ]

**Linux**  
Execute o seguinte comando em sua instância Linux para recuperar as credenciais de segurança de um perfil do IAM.

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

**Windows**  
Execute o seguinte cmdlet em sua instância Windows para recuperar as credenciais de segurança de um perfil do IAM.

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token" = $token} `
    -Method GET -Uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

------
#### [ IMDSv1 ]

**Linux**  
Execute o seguinte comando em sua instância Linux para recuperar as credenciais de segurança de um perfil do IAM.

```
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

**Windows**  
Execute o seguinte cmdlet em sua instância Windows para recuperar as credenciais de segurança de um perfil do IAM.

```
Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

------

O seguinte é um exemplo de saída. Se você não conseguir recuperar as credenciais de segurança, consulte [Não é possível acessar as credenciais de segurança temporárias em minha instância do EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_iam-ec2.html#troubleshoot_iam-ec2_no-keys) no *Guia do usuário do IAM*.

```
{
  "Code" : "Success",
  "LastUpdated" : "2012-04-26T16:39:16Z",
  "Type" : "AWS-HMAC",
  "AccessKeyId" : "ASIAIOSFODNN7EXAMPLE",
  "SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "Token" : "token",
  "Expiration" : "2017-05-17T15:09:54Z"
}
```

Para comandos de aplicações, AWS CLI e Tools for Windows PowerShell que são executados na instância, não é necessário obter as credenciais de segurança temporárias explicitamente – os AWS SDKs, a AWS CLI e o Tools for Windows PowerShell obtêm automaticamente as credenciais do serviço de metadados da instância do EC2 e as usam. Para fazer uma chamada fora da instância usando credenciais de segurança temporárias (por exemplo, para testar as políticas do IAM), forneça a chave de acesso, a chave secreta e o token da sessão. Para obter mais informações, consulte [Usar credenciais de segurança temporárias para solicitar acesso aos recursos da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) no *Manual do usuário do IAM*.

# Conceder permissões para anexar um perfil do IAM a uma instância
<a name="permission-to-pass-iam-roles"></a>

As identidades em sua Conta da AWS, como usuários do IAM, devem ter permissões específicas para executar uma instância do Amazon EC2 com um perfil do IAM, anexar um perfil do IAM a uma instância, substituir o perfil do IAM por uma instância ou desanexar um perfil do IAM de uma instância. Você deve conceder permissão para usar as seguintes ações de API, conforme necessário:
+ `iam:PassRole`
+ `ec2:AssociateIamInstanceProfile`
+ `ec2:DisassociateIamInstanceProfile`
+ `ec2:ReplaceIamInstanceProfileAssociation`

**nota**  
Se você especificar o recurso para `iam:PassRole` como `*`, isso concederá acesso para passar qualquer um dos perfis do IAM para uma instância. Para seguir a prática recomendada de [privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege), especifique os ARNs de perfis específicos do IAM com `iam:PassRole`, conforme mostrado no exemplo de política abaixo.

**Exemplo de política para acesso programático**  
A política do IAM a seguir concede permissões para executar instâncias com um perfil do IAM, anexar um perfil do IAM a uma instância ou substituir um perfil do IAM por uma instância usando a AWS CLI ou a API do Amazon EC2.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances",
         "ec2:AssociateIamInstanceProfile",
         "ec2:DisassociateIamInstanceProfile",
         "ec2:ReplaceIamInstanceProfileAssociation"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::123456789012:role/DevTeam*"
    }
  ]
}
```

------

**Requisito adicional para acesso ao console**  
Para conceder permissões para concluir as mesmas tarefas usando o console do Amazon EC2, você também deve incluir a ação da API `iam:ListInstanceProfiles`.

# Anexar uma função do IAM a uma instância
<a name="attach-iam-role"></a>

É possível criar uma função do IAM e anexá-la a uma instância durante ou depois da execução. Você também pode substituir ou desanexar perfis do IAM.

**Criar e anexar um perfil do IAM durante a inicialização da instância (recomendado)**

1. Durante a inicialização da instância EC2, expanda os **Detalhes avançados**.

1. Na seção **Perfil de instância do IAM**, escolha **Criar novo perfil do IAM**.

1. Um formulário de criação de perfil em linha é aberto, permitindo que você:
   + Especifique o **Nome do perfil** (por exemplo, `EC2-S3-Access-Role`)
   + Defina permissões selecionando políticas gerenciadas da AWS ou criando políticas personalizadas para sua instância

     Por exemplo, para conceder acesso ao S3, selecione a política gerenciada da `AmazonS3ReadOnlyAccess`
   + Revise a política de confiança que permita a `ec2.amazonaws.com` a assumir o perfil
   + Adicione tags opcionais para metadados

1. Selecione **Criar perfil**.

   O perfil recém-criado é selecionado automaticamente e será anexado à sua instância por meio de um perfil de instância quando a instância for iniciada.

**nota**  
Ao criar um perfil usando o console durante a inicialização da instância, um perfil de instância com o mesmo nome de perfil é criado automaticamente. O perfil de instância é um contêiner que transmite as informações do perfil do IAM para uma instância do EC2 na inicialização.

**Importante**  
Você só pode anexar uma função do IAM a uma instância, mas pode anexar a mesma função a muitas instâncias.
Associe as políticas de IAM com privilégios mínimos que restrinjam o acesso às chamadas de API específicas que o aplicativo requer.

Para obter mais informações sobre como criar e usar funções do IAM, consulte [Funções](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) no *Guia do usuário do IAM*.

**Anexar um perfil do IAM existente durante a inicialização da instância**  
Para anexar um perfil do IAM a uma instância na inicialização usando o console do Amazon EC2, expanda **Detalhes avançados**. Para **Perfil de instância do IAM**, selecione o perfil do IAM na lista do menu suspenso.

**nota**  
Caso tenha criado o perfil do IAM usando o console do IAM, o perfil da instância terá sido criado para você e terá o mesmo nome do perfil. Caso tenha criado o perfil do IAM usando a AWS CLI, a API ou um SDK da AWS, é possível que você tenha dado um nome diferente do perfil para o perfil da instância.

É possível anexar um perfil do IAM a uma instância que está em execução ou interrompida. Se a instância já tiver um perfil do IAM anexado, você deverá substituí-lo pelo novo perfil do IAM.

------
#### [ Console ]<a name="attach-iam-role-console"></a>

**Como anexar uma função do IAM a uma instância**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Instances (Instâncias)**.

1. Selecione a instância.

1. Selecione **Actions** (Ações), **Security** (Segurança), **Modify IAM role** (Modificar perfil do IAM).

1. Para **Perfil do IAM**, selecione o perfil de instância do IAM.

1. Escolha **Atualizar perfil do IAM**.

------
#### [ AWS CLI ]
<a name="attach-iam-role-instance-cli"></a>
**Como anexar uma função do IAM a uma instância**  
Use o comando [associate-iam-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-iam-instance-profile.html) para anexar o perfil do IAM à instância. Ao especificar o perfil de instância, você pode usar o nome do recurso da Amazon (ARN) do perfil de instância ou o seu nome.

```
aws ec2 associate-iam-instance-profile \
    --instance-id i-1234567890abcdef0 \
    --iam-instance-profile Name="TestRole-1"
```

------
#### [ PowerShell ]

**Como anexar uma função do IAM a uma instância**  
Use o cmdlet [Register-EC2IamInstanceProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2IamInstanceProfile.html).

```
Register-EC2IamInstanceProfile `
    -InstanceId i-1234567890abcdef0 `
    -IamInstanceProfile_Name TestRole-1
```

------

Para substituir o perfil do IAM em uma instância que já tenha um perfil do IAM anexado, essa instância deve estar em execução. Será possível fazer isso se você quiser alterar a função do IAM de uma instância sem desanexar a existente primeiro. Por exemplo, é possível fazer isso para garantir que as ações de API desempenhadas por aplicações executadas na instância não sejam interrompidas.

------
#### [ Console ]<a name="replace-iam-role-console"></a>

**Como substituir uma função do IAM para uma instância**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Instances (Instâncias)**.

1. Selecione a instância.

1. Selecione **Actions** (Ações), **Security** (Segurança), **Modify IAM role** (Modificar perfil do IAM).

1. Para **Perfil do IAM**, selecione o perfil de instância do IAM.

1. Escolha **Atualizar perfil do IAM**.

------
#### [ AWS CLI ]<a name="replace-iam-role-cli"></a>

**Como substituir uma função do IAM para uma instância**

1. Se necessário, use o comando [describe-iam-instance-profile-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html) para obter o ID da associação.

   ```
   aws ec2 describe-iam-instance-profile-associations \
       --filters Name=instance-id,Values=i-1234567890abcdef0 \
       --query IamInstanceProfileAssociations.AssociationId
   ```

1. Use o comando [replace-iam-instance-profile-association](https://docs.aws.amazon.com/cli/latest/reference/ec2/replace-iam-instance-profile-association.html). Especifique o ID de associação do perfil de instância existente e o ARN ou o nome do novo perfil de instância.

   ```
   aws ec2 replace-iam-instance-profile-association \
       --association-id iip-assoc-0044d817db6c0a4ba \
       --iam-instance-profile Name="TestRole-2"
   ```

------
#### [ PowerShell ]

**Como substituir uma função do IAM para uma instância**

1. Se necessário, use o cmdlet [Get-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2IamInstanceProfileAssociation.html) para obter o ID da associação.

   ```
   (Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
   ```

1. Use o cmdlet [Set-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Set-EC2IamInstanceProfileAssociation.html). Especifique o ID de associação do perfil de instância existente e o ARN ou o nome do novo perfil de instância.

   ```
   Set-EC2IamInstanceProfileAssociation `
       -AssociationId iip-assoc-0044d817db6c0a4ba `
       -IamInstanceProfile_Name TestRole-2
   ```

------

É possível desvincular um perfil do IAM de uma instância que esteja em execução ou interrupção.

------
#### [ Console ]<a name="detach-iam-role-console"></a>

**Como desanexar uma função do IAM de uma instância**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Instances (Instâncias)**.

1. Selecione a instância.

1. Selecione **Actions** (Ações), **Security** (Segurança), **Modify IAM role** (Modificar perfil do IAM).

1. Em **IAM role (Função do IAM)**, selecione **No IAM Role (Nenhuma função do IAM)**.

1. Escolha **Atualizar perfil do IAM**.

1. Quando a confirmação for solicitada, insira **Desanexar** e depois escolha **Desanexar**.

------
#### [ AWS CLI ]<a name="detach-iam-role-cli"></a>

**Como desanexar uma função do IAM de uma instância**

1. Se necessário, use [describe-iam-instance-profile-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html) para obter o ID de associação do perfil de instância do IAM a ser desanexado.

   ```
   aws ec2 describe-iam-instance-profile-associations \
       --filters Name=instance-id,Values=i-1234567890abcdef0 \
       --query IamInstanceProfileAssociations.AssociationId
   ```

1. Use o comando [disassociate-iam-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-iam-instance-profile.html).

   ```
   aws ec2 disassociate-iam-instance-profile --association-id iip-assoc-0044d817db6c0a4ba
   ```

------
#### [ PowerShell ]

**Como desanexar uma função do IAM de uma instância**

1. Se necessário, use [Get-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2IamInstanceProfileAssociation.html) para obter o ID de associação do perfil de instância do IAM a ser desanexado.

   ```
   (Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
   ```

1. Use o cmdlet [Unregister-EC2IamInstanceProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2IamInstanceProfile.html).

   ```
   Unregister-EC2IamInstanceProfile -AssociationId iip-assoc-0044d817db6c0a4ba
   ```

------

## Perfis de identidade da instância para instâncias do Amazon EC2
<a name="ec2-instance-identity-roles"></a>

Cada instância do Amazon EC2 inicializada tem um *perfil de identidade da instância* que representa sua identidade. Um perfil de identidade de instância é um tipo de perfil do IAM. Serviços da AWS e recursos integrados para usar o perfil de identidade da instância podem usá-lo para identificar a instância com o serviço.

As credenciais do perfil de identidade da instância podem ser acessadas no Serviço de metadados da instância (IMDS) em `/identity-credentials/ec2/security-credentials/ec2-instance`. As credenciais consistem em um par temporário de chave de acesso da AWS e um token de sessão. Eles são usados para assinar solicitações AWS Sigv4 para os serviços da AWS que usam o perfil de identidade da instância. As credenciais estão presentes nos metadados da instância, independentemente de um serviço ou recurso que faça uso dos perfils de identidade da instância estar habilitado na instância.

Os perfis de identidade da instância são criados automaticamente quando uma instância é iniciada, não possuem nenhum documento de política de confiança de perfil e não estão sujeitos a nenhuma política de identidade ou de recursos.

### Serviços com suporte
<a name="iir-supported-services"></a>

Os serviços da AWS a seguir usam o perfil de identidade da instância:
+ **Amazon EC2**: o [EC2 Instance Connect](connect-linux-inst-eic.md) usa o perfil de identidade da instância para atualizar as chaves de host de uma instância do Linux.
+ **Amazon GuardDuty**: o [monitoramento de runtime do GuardDuty](https://docs.aws.amazon.com/guardduty/latest/ug/runtime-monitoring.html) usa o perfil de identidade da instância para permitir que o agente de runtime envie telemetria de segurança para o endpoint da VPC do GuardDuty.
+ **AWS Lambda** – As [instâncias gerenciadas do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-managed-instances.html) utilizam a função de identidade da instância para ganchos de ciclo de vida, telemetria e distribuição de artefatos.
+ **AWS Security Token Service (AWS STS)**: as credenciais do perfil de identidade da instância podem ser usadas com a ação AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html).
+ **AWS Systems Manager**: ao usar a [Configuração padrão de gerenciamento de host](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-default-host-management-configuration.html), o AWS Systems Manager usa a identidade fornecida pelo perfil de identidade da instância para registrar instâncias do EC2. Depois de identificar sua instância, o Systems Manager pode passar seu perfil do IAM `AWSSystemsManagerDefaultEC2InstanceManagementRole` para sua instância.

Os perfis de identidade da instância não podem ser usados com outros serviços ou recursos da AWS, pois eles não têm uma integração com os perfis de identidade da instância.

### ARN de perfil de identidade da instância
<a name="iir-arn"></a>

O ARN de perfil de identidade da instância assume o seguinte formato:

```
arn:aws-partition:iam::account-number:assumed-role/aws:ec2-instance/instance-id
```

Por exemplo:

```
arn:aws:iam::0123456789012:assumed-role/aws:ec2-instance/i-1234567890abcdef0
```

Para obter mais informações sobre ARNs, consulte [Nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) no *Guia do usuário do IAM*.