Por que recebi um erro de “AccessDenied” ou “Informações inválidas” ao tentar assumir um perfil do IAM entre contas?

3 minuto de leitura
0

Tentei assumir um perfil do AWS Identity and Access Management (IAM) entre contas. No entanto, recebi um erro semelhante ao seguinte: “Ocorreu um erro (AccessDenied) ao chamar a operação AssumeRole:” -ou- “Informações inválidas em um ou mais campos. Verifique as informações ou entre em contato com o administrador.”

Descrição resumida

Para assumir o perfil do IAM em outra conta da AWS, primeiro edite as permissões em uma conta (a conta que assumiu o perfil do IAM). Em seguida, edite a política de confiança na outra conta (a conta que permite assumir o perfil do IAM).

Por exemplo, suponha que você tenha duas contas, uma chamada Account_Bob e outra chamada Account _Alice. Você também tem um usuário ou perfil do IAM chamado Bob na Account_Bob e um perfil do IAM chamado Alice na Account_Alice. Nesse cenário, Bob assumirá o perfil do IAM chamado Alice.

Para usar a chamada da API AssumeRole com várias contas ou entre contas, você deve ter uma política de confiança que conceda permissão para assumir perfis semelhantes aos seguintes:

Aqui está o exemplo das permissões necessárias para Bob:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PermissionToAssumeAlice",
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::Account_Alice:role/Alice"
    }
  ]
}

E aqui está o exemplo da política de confiança para Alice:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::ACCOUNT_Bob:user/Bob"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Resolução

Para evitar erros ao assumir um perfil do IAM entre contas, lembre-se dos seguintes pontos:

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), verifique se está usando a versão mais recente da AWS CLI.

  • O perfil assumido, Bob, deve ter permissões para AssumeRole.
  • Você deve estar conectado à conta da AWS como Bob. Para obter mais informações, consulte ID da sua conta da AWS e seu alias.
  • O perfil que está sendo assumido, Alice, deve existir. Verifique se ele não foi excluído e se o ARN está configurado corretamente.
  • Se você estiver usando o encadeamento de perfis, verifique se não está usando credenciais do IAM de uma sessão anterior. Para obter mais informações, consulte a seção de encadeamento de perfis nos Termos e conceitos de perfis.
  • Se Account_Bob fizer parte de uma organização da AWS, poderá haver uma política de controle de serviços (SCP) restringindo o acesso ao AssumeRole com Account_Bob ou Account_Alice. Para obter mais informações, consulte políticas de controle de serviços (SCPs).

Informações relacionadas

Como posso obter dados para ajudar na solução de problemas de permissão de acesso negado ou erros não autorizados do IAM?

Mudar para um perfil (console)

Mudar para um perfil do IAM (AWS CLI)

AWS OFICIAL
AWS OFICIALAtualizada há um ano