Como usar o AWS CLI para obter credenciais temporárias para um usuário do Centro de Identidade do IAM?

2 minuto de leitura
0

Quero obter credenciais temporárias para um usuário do Centro de Identidade do AWS IAM.

Breve descrição

Quando você configura um perfil nomeado para usar o Centro de Identidade do IAM, um arquivo JSON no diretório $ cd ~/.aws/sso/cache é criado. O arquivo JSON contém um JSON Web Token (JWT) usado para obter as credenciais de segurança temporárias com o comando equivalente à API get-role-credentials. O token de acesso é válido por 8 horas. Você pode ver o tempo de expiração no timestamp expiresAt no arquivo JSON. Você deve usar o comando get-role-credentials para reautenticar os tokens expirados.

Resolução

Usar a AWS Command Line Interface (AWS CLI) para obter as credenciais temporárias de um usuário Centro de Identidade do IAM.

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.

Obter as credenciais temporárias

Na AWS CLI, conclua as seguintes etapas:

  1. Abra o arquivo JSON e copie o token de acesso:

    $ cat 535a8450b05870c9045c8a7b95870.json
    {"startUrl": "https://my-sso-portal.awsapps.com/start", "region": "us-east-1", "accessToken": "eyJlbmMiOiJBM….", "expiresAt": "2020-06-17T10:02:08UTC"}
  2. Execute o comando get-role-credentials da AWS CLI para obter as credenciais do usuário do Centro de Identidade do IAM:

    $ aws sso get-role-credentials --account-id 123456789012 --role-name permission-set-name --access-token eyJlbmMiOiJBM…. --region enter_the_same_sso_region_same_in_the_JSON_file

    Exemplo de saída:

    {    "roleCredentials": {
            "accessKeyId": "ASIA*************",
            "secretAccessKey": "**********************************",
            "sessionToken": "****************************************",
            "expiration": 1592362463000
        }
    }
  3. Configurar as credenciais como variáveis de ambiente.

Solucionar problemas de mensagens de erro

"Ocorreu um erro (ForbiddenException) ao chamar a operação GetRoleCredentials: Sem acesso."

Esse erro pode ocorrer devido a um nome de função incorreto na AWS CLI. Verifique o nome da função para confirmar se está correto.

"Ocorreu um erro (UnauthorizedException) ao chamar a operação GetRoleCredentials: Token de sessão não encontrado ou inválido."

Esse erro ocorre porque o token da sessão ou a região da AWS estão incorretos. Certifique-se de que a região no comando AWS CLI seja igual à região na saída do arquivo JSON.

Informações relacionadas

Como faço para usar os conjuntos de permissões do Centro de Identidade do IAM?

AWS OFICIAL
AWS OFICIALAtualizada há um ano