Como posso resolver problemas com a troca de perfis do IAM usando o Console de Gerenciamento da AWS?

5 minuto de leitura
0

Tentei trocar os perfis do AWS Identity and Access Management (IAM) usando o Console de Gerenciamento da AWS e recebi um erro semelhante ao seguinte: “Informações inválidas em um ou mais campos. Verifique suas informações ou entre em contato com seu administrador”.

Breve descrição

Esse erro pode ocorrer devido aos seguintes motivos:

  • Permissões da ação AssumeRole incorretas
  • Política de confiança do IAM incorreta
  • Negação explícita de políticas
  • ID de conta ou nome de perfil incorretos
  • Exigir ID externa para trocar de perfil
  • Condições incorretas da política de confiança

Resolução

Siga estas instruções para verificar a configuração da política do IAM para trocar os perfis do IAM para seu cenário.

Permissões da ação AssumeRole ausentes ou incorretas

Para trocar para um perfil do IAM, a entidade do IAM deve ter a permissão da ação AssumeRole. A entidade do IAM deve ter uma política com permissão de ação AssumeRole semelhante à seguinte:

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::account_id_number:role/role-name-you-want-to-assume"  
}

Certifique-se de que o recurso corresponda ao nome do recurso da Amazon (ARN) do perfil do IAM para o qual você deseja trocar. Para obter mais informações, consulte Conceder a um usuário permissões para trocar de função.

A política de confiança do perfil do IAM não confia na ID da conta do usuário do IAM

A política de confiança do perfil do IAM define as entidades principais que podem assumir o perfil Verificar que a política de confiança lista a ID da conta do usuário do IAM como a entidade principal confiável. Por exemplo, um usuário do IAM chamado Bob com ID de conta 111222333444 quer trocar para um perfil do IAM chamado Alice para a ID da conta 444555666777. A ID da conta 111222333444 é a conta confiável, e a ID da conta 444555666777 é a conta confiante. O perfil do IAM Alice tem uma política de confiança que confia em Bob de forma semelhante à seguinte:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Principal": {
        "AWS": "<111222333444>"
      },
      "Condition": {}
    }
  ]
}

Observação: a prática recomendada é seguir o princípio do menor privilégio e especificar o ARN completo somente para os perfis de que o usuário precisa.

Para mais informações, consulte Modificar uma política de confiança de perfil (console).

Negação explícita de políticas de controle de serviços (SCPs) ou de uma política do IAM

Se sua conta da AWS fizer parte do AWS Organizations, sua conta de gerenciamento poderá ter SCPs. Certifique-se de que não haja nenhuma negação explícita dos SCPs para a ação AssumeRole. Verifique se há SCPs que negam ações de API com base nas regiões da AWS. O AWS Security Token Service (AWS STS) é um serviço global que deve ser incluído na lista global de exclusão de serviços. Certifique-se de que não haja nenhuma negação explícita das políticas do IAM, porque as instruções “deny” têm precedência sobre as instruções “allow”.

Para obter mais informações, consulte Negar acesso à AWS com base na região da AWS solicitada.

Verificar a ID da conta da AWS e o nome do perfil do IAM

Verifique se a ID da conta e o nome do perfil do IAM estão corretos na página de troca de perfil. A ID da conta é um identificador de 12 dígitos, e o nome do perfil do IAM é o nome do perfil que você deseja assumir.

Para mais informações, consulte O que você deve saber sobre a troca de funções no console.

Exigir ID externa para trocar para o perfil do IAM

Os administradores podem usar uma ID externa para conceder acesso de terceiros aos recursos da AWS. Você não pode trocar os perfis do IAM no Console de Gerenciamento da AWS para um perfil que exija um valor de chave de condição ExternalId. Você pode trocar para perfis do IAM somente chamando a ação AssumeRole que suporta a chave ExternalId.

Para mais informações, consulte Como usar uma ID externa ao conceder acesso aos seus recursos da AWS a terceiros.

Condições válidas na política de confiança do perfil do IAM

Verifique se você atende a todas as condições especificadas na política de confiança do perfil do IAM. Uma condição pode especificar uma data de expiração, uma ID externa ou que as solicitações venham somente de endereços IP específicos. No exemplo de política a seguir, se a data atual for posterior à data especificada, a condição será falsa. A política não pode conceder permissões para assumir o perfil do IAM.

"Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::account_id_number:role/role-name-you-want-to-assume"
    "Condition": {
        "DateLessThan" : {
            "aws:CurrentTime" : "2016-05-01T12:00:00Z"
        }
    }

Informações relacionadas

Como faço para fornecer um link para um perfil do IAM aos usuários do IAM?

Como configurar um usuário do IAM e fazer login no Console de Gerenciamento da AWS usando as credenciais do IAM?

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

Qual é a diferença entre uma política de controle de serviços do AWS Organizations e uma política do IAM?

AWS OFICIAL
AWS OFICIALAtualizada há 9 meses