Como faço para acessar recursos em outra conta da AWS usando o AWS IAM?

4 minuto de leitura
0

Quero assumir um perfil do AWS Identity and Access Management (IAM) em outra conta da AWS. Como faço para configurar o acesso entre contas usando o IAM?

Breve descrição

Você pode estabelecer uma relação de confiança com um perfil do IAM para acessar os recursos de outra conta da AWS. Por exemplo, você deseja acessar a conta de destino a partir da conta de origem. Para fazer isso, permita que seu usuário do IAM chame a API AssumeRole para assumir o perfil do IAM da conta de origem até a conta de destino. Você deve especificar seu usuário do IAM na relação de confiança do perfil do IAM de destino.

Observação: um perfil do IAM da conta de origem também pode assumir um perfil do IAM da conta de destino através do encadeamento de perfis, em vez de usar um usuário. 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

Siga estas instruções para criar uma política de permissões do IAM para a conta de origem, anexar a política a um usuário e, em seguida, criar um perfil para a conta de destino.

Observação: se você receber erros ao executar comandos da AWS CLI, certifique-se de estar usando a versão mais recente da AWS CLI.

Conta de origem

1.    Crie uma política do IAM semelhante a esta:

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"
      ]
    }
  ]
}

2.    Anexe a política do IAM às permissões do usuário do IAM.

Anexe a política que você criou às permissões do usuário do IAM seguindo as etapas aqui.

Conta de destino

1.    Crie um perfil do IAM.

2.    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. Conceda acesso à sua conta e aos seus recursos somente às entidades nas quais você confia.

Você pode modificar a política para permitir que qualquer número de entidades de origem assuma qualquer número de perfis de destino. Por exemplo, você pode alterar o valor Principal da política de confiança acima para “AWS”: “ID DA CONTA DE ORIGEM”. 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 Especificar um principal e Criação ou edição da política.

Teste seu acesso

Para testar seu acesso, siga as instruções em Alternância para uma função (console).

  • ou -

Siga as instruções em Switching to an IAM role (AWS CLI) (Como alternar para um perfil do IAM usando a AWS CLI).

Para 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 “O campo Principal é proibido”. Como posso resolver isso?

Como posso oferecer acesso entre contas a objetos que estão em buckets do Amazon S3?

Tentei assumir um perfil do IAM entre contas diferentes, mas recebi um erro de “Acesso negado” ou de “Informações inválidas”.

AWS OFICIAL
AWS OFICIALAtualizada há um ano