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
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 sua ferramenta SDK ou ferramenta para assumir uma função, você deve primeiro criar ou identificar uma função específica a ser assumida. IAMas funções são identificadas exclusivamente por uma função Amazon Resource Name () ARN. 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 OIDC uma SAML federação.
Depois que a IAM função for identificada, se você tiver a confiança dessa função, poderá configurar sua ferramenta SDK ou sua ferramenta para usar as permissões concedidas pela função. 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 Assuma uma função com AWS credenciais.
Assuma as configurações do provedor de credenciais do perfil
Configure essa funcionalidade usando o seguinte:
credential_source
- configuração de AWSconfig
arquivo compartilhado-
Usado em EC2 instâncias da Amazon ou contêineres do Amazon Elastic Container Service para especificar onde a ferramenta SDK ou pode encontrar credenciais que tenham permissão para assumir a função especificada com o
role_arn
parâmetro.Valor padrão: nenhum
Valores válidos:
-
Ec2 InstanceMetadata — Especifica que a ferramenta SDK or deve usar a IAMfunção anexada ao perfil da EC2 instância para obter as credenciais de origem.
-
EcsContainer— Especifica que a ferramenta SDK or deve usar a IAMfunção anexada ao ECS contêiner para obter as credenciais de origem.
Não é possível especificar
credential_source
esource_profile
no mesmo perfil.Exemplo de configuração em um
config
arquivo para indicar que as credenciais devem ser provenientes da Amazon: EC2credential_source = Ec2InstanceMetadata role_arn = arn:aws:iam::
123456789012
:role/my-role-name
duration_seconds
- configuração de AWSconfig
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 uma função no Guia IAM do usuário.
Exemplo de configuração em um arquivo
config
:duration_seconds =
43200
external_id
- configuração de AWSconfig
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âmetroExternalId
que é passado para a operaçãoAssumeRole
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 no Guia do IAM usuário.
Exemplo de configuração em um arquivo
config
:external_id =
unique_value_assigned_by_3rd_party
mfa_serial
- configuração de AWSconfig
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 uma função.
Obrigatório ao assumir uma função em que a política de confiança dessa função inclui uma condição que exige MFA autenticação.
Valor padrão: Nenhum.
Valores válidos: o valor pode ser um número de série para um dispositivo de hardware (como
GAHT12345678
) ou um Amazon Resource Name (ARN) para um MFA dispositivo virtual. Para obter mais informações sobre issoMFA, consulte Configurando o MFA -Protected API Access no Guia do IAMUsuário.Exemplo de configuração em um arquivo
config
:mfa_serial =
arn:aws:iam::
123456789012
:mfa/my-user-name
role_arn
- configuração de AWSconfig
arquivo compartilhadoAWS_ROLE_ARN
: variável de ambienteaws.roleArn
- propriedade JVM do sistema: somente Java/Kotlin-
Especifica o Amazon Resource Name (ARN) de uma IAM função 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 uma IAM função, 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 da Amazon ou a uma EC2 instância de ECS contêiner da Amazon. -
web_identity_token_file
— Usar provedores de identidade públicos ou qualquer provedor de identidade compatível com OpenID Connect (OIDC) para usuários que foram autenticados em um aplicativo móvel ou web.
-
role_session_name
- configuração de AWSconfig
arquivo compartilhadoAWS_ROLE_SESSION_NAME
: variável de ambienteaws.roleSessionName
- propriedade JVM do sistema: 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 CloudTrail userIdentity elemento no Guia AWS CloudTrail do 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 o AWS CLI ou AWS API chama aAssumeRole
operação (ou operações como aAssumeRoleWithWebIdentity
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 AWSconfig
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 AWSconfig
e noscredentials
arquivos, consulteArquivos config e credentials compartilhados.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 ele SDK encontra um perfil com credenciais. O encadeamento de funções limita sua sessão AWS CLI ou sua AWS API função a no máximo uma hora e não pode ser aumentado. Para obter mais informações, consulte Termos e conceitos de funções no Guia IAM do usuário.
Valor padrão: nenhum.
Valores válidos: um string de texto que consiste no nome de um perfil definido nos arquivos
config
ecredentials
. Você também deve especificar um valor pararole_arn
no perfil atual.Não é possível especificar
credential_source
esource_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
[profileB
] 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
A
perfil instrui a ferramenta SDK ou a pesquisar automaticamente as credenciais doB
perfil vinculado. Nesse caso, oB
perfil usa a ferramenta auxiliar de credenciais fornecida por IAM Roles Anywhere para obter credenciais para o. AWS SDK Essas credenciais temporárias são então usadas pelo código para acessar recursos da AWS . A função especificada deve ter políticas de IAM permissões anexadas que permitam a execução do código solicitado, como o comando ou o API método. AWS service (Serviço da AWS) Cada ação realizada pelo perfilA
tem o nome da sessão da função incluído nos CloudTrail registros.Para um segundo exemplo de encadeamento de funções, a configuração a seguir pode ser usada se você tiver um aplicativo em uma instância do Amazon Elastic Compute Cloud e quiser que esse aplicativo assuma outra função.
[profile
A
] source_profile =B
role_arn = arn:aws:iam::123456789012
:role/RoleA
role_session_name =ProfileARoleSession
[profileB
] credential_source=Ec2InstanceMetadataO perfil
A
usará as credenciais da EC2 instância da Amazon para assumir a função especificada e renovará as credenciais automaticamente. web_identity_token_file
- configuração de AWSconfig
arquivo compartilhadoAWS_WEB_IDENTITY_TOKEN_FILE
: variável de ambienteaws.webIdentityTokenFile
- propriedade JVM do sistema: 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
de identidade OpenID Connect ID . Esta configuração permite a autenticação usando provedores de federação de identidade da web, como Google
, Facebook e Amazon , entre muitos outros. A ferramenta SDK ou developer carrega o conteúdo desse arquivo e o passa como WebIdentityToken
argumento quando chama aAssumeRoleWithWebIdentity
operação 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.
Compatibilidade com AWS SDKs
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 JVM sistema são suportadas pelo AWS SDK for Java e pelo AWS SDK para Kotlin único.
SDK | Compatível | Notas ou mais informações |
---|---|---|
AWS CLI v2 | Sim | |
SDKpara C++ | Parcial | credential_source não suportado. duration_seconds não suportado. mfa_serial não suportado. |
SDKpara Go V2 (1.x) |
Sim | |
SDKpara Go 1.x (V1) | Sim | Para usar as configurações do arquivo config compartilhado, você deve ativar o carregamento do arquivo de configuração; consulte Sessões. |
SDKpara Java 2.x | Parcial | mfa_serial incompatível. |
SDKpara Java 1.x | Parcial | credential_source não suportado. mfa_serial não suportado. JVMpropriedades do sistema não suportadas. |
SDKpara JavaScript 3.x | Sim | |
SDKpara JavaScript 2.x | Parcial | credential_source incompatível. |
SDKpara Kotlin | Sim | |
SDKpara. NET3.x | Sim | |
SDKpara PHP 3.x | Sim | |
SDKpara Python (Boto3) |
Sim | |
SDKpara Ruby 3.x | Sim | |
SDKpara Rust | Sim | |
SDKpara Swift | Sim | |
Ferramentas para PowerShell | Sim |