Usar IAM Roles Anywhere para autenticar SDKs e ferramentas da AWS
Você pode usar o IAM Roles Anywhere para obter credenciais de segurança temporárias no IAM para workloads, como servidores, contêineres e aplicativos executados fora da AWS. Para usar o IAM Roles Anywhere, seu workload deve usar certificados X.509. Seu administrador de nuvem deve fornecer o certificado e a chave privada necessários para configurar o IAM Roles Anywhere como seu provedor de credenciais.
Etapa 1: configurar IAM Roles Anywhere
O IAM Roles Anywhere fornece uma maneira de obter credenciais temporárias para um workload ou processo executado fora da AWS. Uma âncora de confiança é estabelecida com a autoridade de certificação para obter credenciais temporárias para o perfil do IAM associado. A função define as permissões que seu workload terá quando seu código for autenticado com o IAM Roles Anywhere.
Para ver as etapas para configurar a âncora de confiança, o perfil do IAM e o perfil do IAM Roles Anywhere, consulte Criar uma âncora de confiança e um perfil em AWS Identity and Access Management Roles Anywhere no Guia do usuário do IAM Roles Anywhere.
nota
Um perfil no Guia do usuário do IAM Roles Anywhere se refere a um conceito exclusivo no serviço IAM Roles Anywhere. Não está relacionado aos perfis no arquivo config da AWS compartilhado.
Etapa 2: usar IAM Roles Anywhere
Para obter credenciais de segurança temporárias do IAM Roles Anywhere, use a ferramenta de assistente de credenciais fornecida pelo IAM Roles Anywhere. A ferramenta de credenciais implementa o processo de assinatura do IAM Roles Anywhere.
Para obter instruções sobre como baixar a ferramenta de assistente de credenciais, consulte Obter credenciais de segurança temporárias do AWS Identity and Access Management Roles Anywhere no Guia do usuário do IAM Roles Anywhere.
Para usar credenciais de segurança temporárias do IAM Roles Anywhere com AWS SDKs e a AWS CLI, você pode definir a configuração credential_process no arquivo config da AWS compartilhado. Os AWS CLI SDKs oferecem suporte a um provedor de credenciais de processo que usa credential_process para autenticar. O seguinte mostra a estrutura geral a definir credential_process.
credential_process = [path to helper tool] [command] [--parameter1value] [--parameter2value] [...]
O comando credential-process da ferramenta auxiliar retorna credenciais temporárias em um formato JSON padrão compatível com a configuração credential_process. Observe que o nome do comando contém um hífen, mas o nome da configuração contém um sublinhado. O comando requer os seguintes parâmetros:
-
private-key: o caminho para a chave privada que assinou a solicitação. -
certificate: o caminho para o certificado. -
role-arn: o ARN da função para a qual obter credenciais temporárias. -
profile-arn: o ARN do perfil que fornece um mapeamento para a função especificada. -
trust-anchor-arn: o ARN da âncora de confiança usada para autenticar.
Seu administrador de nuvem deve fornecer o certificado e uma chave privada. Todos os três valores de ARN podem ser copiados do Console de gerenciamento da AWS. O exemplo a seguir mostra um arquivo config compartilhado que configura a recuperação de credenciais temporárias da ferramenta auxiliar.
[profiledev] credential_process = ./aws_signing_helper credential-process --certificate/path/to/certificate--private-key/path/to/private-key--trust-anchor-arnarn:aws:rolesanywhere:region:account:trust-anchor/TA_ID--profile-arnarn:aws:rolesanywhere:region:account:profile/PROFILE_ID--role-arnarn:aws:iam::account:role/ROLE_ID
Para parâmetros opcionais e detalhes adicionais da ferramenta auxiliar, consulte Assistente de credenciais do IAM Roles Anywhere
Para obter detalhes sobre a própria configuração do SDK e o provedor de credenciais do processo, consulte Provedor de credenciais de processo neste guia.