

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á.

# Assuma o perfil de provedor de credenciais
Assuma o provedor de perfil

**nota**  
Para obter ajuda na compreensão do layout das páginas de configurações ou na interpretação da tabela **Support by AWS SDKs and tools** a seguir, consulte[Entender as páginas de configurações deste guia](settings-reference.md#settingsPages).

Assumir um perfil envolve o uso de um conjunto de credenciais temporárias de segurança para acessar recursos da AWS aos quais você talvez não tenha acesso de outra forma. Essas credenciais de segurança temporárias consistem em um ID de chave de acesso, uma chave de acesso secreta e um token de segurança. 

Para configurar seu SDK ou ferramenta para assumir um perfil, você deve primeiro criar ou identificar um *perfil* específico a ser assumido. Os perfis do IAM são identificados exclusivamente por um perfil do nome do recurso da Amazon ([ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)). Os perfis estabelecem as relações de confiança com uma outra entidade. A entidade confiável que usa a função pode ser uma AWS service (Serviço da AWS), outra Conta da AWS, um provedor de identidade da web ou uma federação OIDC ou SAML. 

Depois que perfil do IAM for identificado, se você tiver a confiança desse perfil, poderá configurar seu SDK ou ferramenta para usar as permissões concedidas pelo perfil. Para fazer isso, execute as configurações a seguir. 

Para obter orientação sobre como começar a usar essas configurações, consulte este guia [Assumindo uma função com AWS credenciais para autenticação AWS SDKs e ferramentas](access-assume-role.md).

## Assuma as configurações do provedor de credenciais do perfil


Configure essa funcionalidade usando o seguinte:

**`credential_source`- configuração de AWS `config` arquivo compartilhado**  
Usado em instâncias ou contêineres do Amazon EC2 ou Amazon Elastic Container Service para especificar onde o SDK ou ferramenta pode encontrar credenciais que tem permissão para assumir o perfil que você especificar com o parâmetro `role_arn`.  
**Valor padrão**: nenhum  
**Valores válidos:**  
+ **Ambiente**: especifica que o SDK ou a ferramenta deve recuperar credenciais de origem de variáveis de ambiente [`AWS_ACCESS_KEY_ID` e `AWS_SECRET_ACCESS_KEY`](feature-static-credentials.md).
+ **Ec2 InstanceMetadata** — Especifica que o SDK ou a ferramenta deve usar a [função do IAM anexada ao perfil da instância do EC2 para obter as](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) credenciais de origem.
+ **EcsContainer**— Especifica que o SDK ou a ferramenta deve usar a [função do IAM anexada ao contêiner do Amazon ECS ou a função do IAM anexada ao contêiner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html) [do Amazon EKS para obter as credenciais](https://docs.aws.amazon.com/eks/latest/userguide/security-iam-service-with-iam.html) de origem.
Não é possível especificar `credential_source` e `source_profile` no mesmo perfil.  
Exemplo de configuração em um arquivo `config` para indicar que as credenciais devem ser provenientes do Amazon EC2:  

```
credential_source = Ec2InstanceMetadata
role_arn = arn:aws:iam::123456789012:role/my-role-name
```

**`duration_seconds`- configuração de AWS `config` arquivo compartilhado**  
Especifica a duração máxima da sessão da função, em segundos.  
Esta configuração se aplica somente quando o perfil especifica assumir uma função.   
**Valor padrão:** 3.600 segundos (uma hora)  
**Valores válidos:** o valor pode variar de 900 segundos (15 minutos) até o valor configurado de duração máxima da sessão para o perfil (que pode ser até 43200, ou 12 horas). Para obter mais informações, consulte [Exibir a configuração de duração máxima da sessão para um perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) no *Guia do usuário do IAM*.  
Exemplo de configuração em um arquivo `config`:  

```
duration_seconds = 43200
```

**`external_id`- configuração de AWS `config` arquivo compartilhado**  
Especifica um identificador exclusivo que é usado por terceiros para assumir uma função em suas contas de clientes.  
Esta configuração se aplica somente quando o perfil especifica assumir uma função e a política de confiança do perfil exige um valor para `ExternalId`. O valor é mapeado para o parâmetro `ExternalId` que é passado para a operação `AssumeRole` quando o perfil especifica uma função.   
**Valor padrão:** nenhum.   
**Valores válidos:** consulte [Como usar uma ID externa ao conceder acesso aos seus AWS recursos a terceiros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) no *Guia do usuário do IAM*.  
Exemplo de configuração em um arquivo `config`:  

```
external_id = unique_value_assigned_by_3rd_party
```

**`mfa_serial`- configuração de AWS `config` arquivo compartilhado**  
Especifica a identificação ou o número de série de um dispositivo de autenticação multifator (MFA) que o usuário deve usar ao assumir um perfil.  
Obrigatório ao assumir um perfil em que a política de confiança para o perfil inclui uma condição que exige autenticação de MFA. Para obter mais informações sobre MFA, consulte [Código da autenticação multifator no IAM da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) no *Guia do usuário do IAM*.   
**Valor padrão:** nenhum.   
**Valores válidos:** o valor pode ser um número de série de um dispositivo de hardware (como `GAHT12345678`) ou um nome do recurso da Amazon (ARN) de um dispositivo MFA virtual. O formato do ARN é: `arn:aws:iam::account-id:mfa/mfa-device-name`  
Exemplo de configuração em um arquivo `config`:  
Este exemplo pressupõe um dispositivo virtual de MFA, denominado `MyMFADevice`, que foi criado para a conta e habilitado para um usuário.  

```
mfa_serial = arn:aws:iam::123456789012:mfa/MyMFADevice
```

**`role_arn`- configuração de AWS `config` arquivo compartilhado`AWS_ROLE_ARN`: variável de ambiente`aws.roleArn`- Propriedade do sistema JVM: somente Java/Kotlin **  
Especifica o nome do recurso da Amazon (ARN) de um perfil do IAM que você deseja usar para realizar operações solicitadas usando esse perfil.  
**Valor padrão:** nenhum.   
**Valores válidos:** o valor deve ser o ARN de um perfil do IAM, formatado da seguinte forma: `arn:aws:iam::account-id:role/role-name`  
 Além disso, você também deve especificar **uma** das seguintes configurações:  
+ `source_profile`: identificar outro perfil a ser usado para encontrar credenciais que tenham permissão para assumir a função nesse perfil.
+ `credential_source`: usar credenciais identificadas pelas variáveis de ambiente atuais ou credenciais anexadas a um perfil de instância do Amazon EC2 ou a uma instância de contêiner do Amazon ECS.
+ `web_identity_token_file`: usar provedores de identidades públicas ou qualquer provedor de identidades compatível com OpenID Connect (OIDC) para usuários que foram autenticados em um aplicativo móvel ou aplicativo web.

**`role_session_name`- configuração de AWS `config` arquivo compartilhado`AWS_ROLE_SESSION_NAME`: variável de ambiente`aws.roleSessionName`- Propriedade do sistema JVM: somente Java/Kotlin **  
Especifica o nome a ser associado à sessão da função. Este nome aparece nos logs do AWS CloudTrail para entradas associadas a esta sessão, que pode ser útil em uma auditoria. Para obter detalhes, consulte o [elemento CloudTrail userIdentity](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html) no Guia do *AWS CloudTrail usuário*.  
**Valor padrão:** um parâmetro opcional. Se você não fornecer este valor, um nome de sessão será gerado automaticamente se o perfil assumir uma função.  
**Valores válidos:** fornecidos ao `RoleSessionName` parâmetro quando a AWS API AWS CLI ou chama a `AssumeRole` operação (ou operações como a `AssumeRoleWithWebIdentity` operação) em seu nome. O valor se torna parte da função assumida do usuário Amazon Resource Name (ARN) que você pode consultar e aparece como parte das entradas de CloudTrail registro das operações invocadas por esse perfil.  
 `arn:aws:sts::123456789012:assumed-role/my-role-name/my-role_session_name`.  
Exemplo de configuração em um arquivo `config`:  

```
role_session_name = my-role-session-name
```

**`source_profile`- configuração de AWS `config` arquivo compartilhado**  
Especifica outro perfil cujas credenciais são usadas para assumir o perfil especificado pela configuração `role_arn` no perfil original. Para entender como os perfis são usados no compartilhamento AWS `config` e nos `credentials` arquivos, consulte[Arquivos `config` e `credentials` compartilhados](file-format.md).  
Se você especificar um perfil que também seja um perfil de assumir função, cada perfil será assumido em ordem sequencial para resolver totalmente as credenciais. Essa cadeia é interrompida quando o SDK encontra um perfil com credenciais. O encadeamento de funções limita sua sessão de função AWS CLI ou de AWS API a no máximo uma hora e não pode ser aumentado. Para obter mais informações, consulte [Termos e conceitos de funções](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) no *Guia do usuário do IAM*.  
**Valor padrão:** nenhum.  
**Valores válidos:** um string de texto que consiste no nome de um perfil definido nos arquivos `config` e `credentials`. Você também deve especificar um valor para `role_arn` no perfil atual.  
Não é possível especificar `credential_source` e `source_profile` no mesmo perfil.  
Exemplo de definição em um arquivo de configuração:  

```
[profile A]
source_profile = B
role_arn =  arn:aws:iam::123456789012:role/RoleA
role_session_name = ProfileARoleSession
                
[profile B]
credential_process = ./aws_signing_helper credential-process --certificate /path/to/certificate --private-key /path/to/private-key --trust-anchor-arn arn:aws:rolesanywhere:region:account:trust-anchor/TA_ID --profile-arn arn:aws:rolesanywhere:region:account:profile/PROFILE_ID --role-arn arn:aws:iam::account:role/ROLE_ID
```
No exemplo anterior, o perfil `A` instrui o SDK ou a ferramenta a pesquisar automaticamente as credenciais do perfil `B` vinculado. Nesse caso, o perfil `B` usa a ferramenta assistente de credenciais fornecida por [Usando o IAM Roles Anywhere para autenticação AWS SDKs e ferramentas](access-rolesanywhere.md) para obter credenciais para o SDK da AWS . Essas credenciais temporárias são então usadas pelo código para acessar recursos da AWS . O papel especificado deve ter políticas de permissões do IAM anexadas que permitam a execução do código solicitado, como o comando ou o método da API. AWS service (Serviço da AWS) Cada ação realizada pelo perfil `A` tem o nome da sessão da função incluído nos CloudTrail registros.   
Como um segundo exemplo de encadeamento de perfis, a configuração a seguir poderá ser usada se você tiver uma aplicação em uma instância do Amazon Elastic Compute Cloud e quiser que ela assuma outro perfil.   

```
[profile A]
source_profile = B
role_arn =  arn:aws:iam::123456789012:role/RoleA
role_session_name = ProfileARoleSession
                
[profile B]
credential_source=Ec2InstanceMetadata
```
O perfil `A` usará as credenciais de instância do Amazon EC2 para assumir o perfil especificado e renovará as credenciais automaticamente.  


**`web_identity_token_file`- configuração de AWS `config` arquivo compartilhado`AWS_WEB_IDENTITY_TOKEN_FILE`: variável de ambiente`aws.webIdentityTokenFile`- Propriedade do sistema JVM: somente Java/Kotlin **  
Especifica o caminho para um arquivo que contém um token de acesso de um [provedor OAuth 2.0 compatível ou provedor](https://wikipedia.org/wiki/List_of_OAuth_providers) de [identidade OpenID Connect ID](https://openid.net/developers/certified/).  
Esta configuração permite a autenticação usando provedores de federação de identidade da web, como [Google](https://developers.google.com/identity/protocols/OAuth2), [Facebook](https://developers.facebook.com/docs/facebook-login/overview) e [Amazon](https://login.amazon.com/), entre muitos outros. O SDK ou a ferramenta do desenvolvedor carrega o conteúdo deste arquivo e o transmite como argumento `WebIdentityToken` quando chama a operação `AssumeRoleWithWebIdentity` em seu nome.  
**Valor padrão:** nenhum.   
**Valores válidos:** este valor deve ser um nome de caminho e de arquivo. O arquivo deve conter um token de acesso OAuth 2.0 ou um token OpenID Connect fornecido a você por um provedor de identidade. Os caminhos relativos são tratados como relativos ao diretório de trabalho do processo.

## Support by AWS SDKs and tools


Os itens a seguir SDKs oferecem suporte aos recursos e configurações descritos neste tópico. Quaisquer exceções parciais estão anotadas. Todas as configurações de propriedade do sistema JVM são suportadas pelo AWS SDK para Java e pelo AWS SDK para Kotlin único.


| SDK | Compatível | Notas ou mais informações | 
| --- | --- | --- | 
| [AWS CLI v2](https://docs.aws.amazon.com/cli/latest/userguide/) | Sim |  | 
| [SDK para C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | Parcial | credential\$1source não suportado. duration\$1seconds não suportado. mfa\$1serial não suportado. | 
| [SDK para Go V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | Sim |  | 
| [SDK para Go 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | Sim | Para usar as configurações do arquivo config compartilhado, você deve ativar o carregamento do arquivo de configuração; consulte [Sessões](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/). | 
| [SDK para Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | Parcial | mfa\$1serial não compatível. duration\$1seconds não compatível. | 
| [SDK para Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | Parcial | credential\$1source não compatível. mfa\$1serial não compatível. Propriedades do sistema JVM não compatíveis.  | 
| [SDK para 3.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | Sim |  | 
| [SDK para 2.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | Parcial | credential\$1source incompatível. | 
| [SDK para Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | Sim |  | 
| [SDK para .NET 4.x](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | Sim |  | 
| [SDK para .NET 3.x](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | Sim |  | 
| [SDK para PHP 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | Sim |  | 
| [SDK para Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | Sim |  | 
| [SDK para Ruby 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | Sim |  | 
| [SDK para Rust](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | Sim |  | 
| [SDK para Swift](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | Sim |  | 
| [Ferramentas para PowerShell V5](https://docs.aws.amazon.com/powershell/latest/userguide/) | Sim |  | 
| [Ferramentas para PowerShell V4](https://docs.aws.amazon.com/powershell/v4/userguide/) | Sim |  | 