Quero configurar o acesso entre contas a um perfil do AWS Identity and Access Management (AWS IAM) em outra conta da AWS.
Breve descrição
Para acessar os recursos de outra conta da AWS, estabeleça uma relação de confiança com um perfil do IAM.
Por exemplo, você deseja acessar a conta de destino a partir da conta de origem. Para assumir o perfil do IAM da conta de origem até a conta de destino, permita que seu usuário do IAM chame a API AssumeRole. Você deve especificar seu usuário do IAM na relação de confiança do perfil do IAM de destino.
Observação: Você também pode assumir um perfil, do perfil do IAM da conta de origem para o perfil do IAM da conta de destino, em vez de usar um usuário para assumir através do encadeamento de perfis. O encadeamento de perfis funciona somente para acesso programático, por meio da AWS Command Line Interface (AWS CLI) ou da API. Por isso, não pode ser feito diretamente pelo Console de Gerenciamento da AWS.
Resolução
Para usar o IAM para acessar recursos em outra conta da AWS, execute as seguintes ações.
Observação: se você receber erros ao executar comandos da AWS CLI, consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Conta de origem
Conclua as seguintes etapas:
-
Use o editor JSON para criar uma política do IAM semelhante ao exemplo a seguir:
Observação: Substitua DESTINATION-ACCOUNT-ID e DESTINATION-ROLENAME por seus próprios valores.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Resource": [
"arn:aws:iam::DESTINATION-ACCOUNT-ID:role/DESTINATION-ROLENAME"
]
}
]
}
-
Anexe a política do IAM às suas permissões de usuário do IAM.
Conta de destino
Conclua as seguintes etapas:
-
Crie um perfil do IAM no console.
-
Cole uma política de confiança personalizada semelhante a esta:
Observação: substitua SOURCE-ACCOUNT-ID e SOURCE-USERNAME por seus próprios valores.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::SOURCE-ACCOUNT-ID:user/SOURCE-USERNAME"
},
"Action": "sts:AssumeRole"
}
]
}
Observação: se você não tiver permissão de acesso para criar e editar perfis e usuários do IAM, peça ajuda ao proprietário da conta para concluir o processo. É uma prática recomendada restringir o acesso à sua conta e aos recursos para que somente as entidades em quem você confia possam acessá-los.
É possível modificar a política para permitir que qualquer número de entidades de origem assuma qualquer número de perfis de destino. Por exemplo, é possível alterar o valor Entidade principal da política de confiança acima para “AWS”: “SOURCE-ACCOUNT-ID”. Isso permite que todas as entidades na conta de origem assumam o perfil da conta de destino, desde que tenham permissão para assumir perfis. Para mais informações, consulte Como especificar uma entidade principal e Criação ou edição da política.
Teste seu acesso
Para testar seu acesso, siga as instruções em Mudar de um usuário para um perfil do IAM (console) ou Mudar para um perfil do IAM (AWS CLI). Para obter mais informações, consulte Tutorial do IAM: Delegar acesso entre contas da AWS usando funções do IAM.
Informações relacionadas
Como faço para assumir um perfil do IAM usando a AWS CLI?
Eu criei ou atualizei uma política do IAM e recebi o erro “Possui campo Entidade principal proibido”. Como posso resolver isso?
Como conceder acesso entre contas a objetos que estão em buckets do Amazon S3?
Como faço para resolver o erro “AccessDenied” ou “Informação inválida” quando tento assumir um perfil do IAM entre contas?