Ir para o conteúdo

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

Para gerar credenciais temporárias, você deve executar o comando get-role-credentials. Quando você configura um perfil nomeado para usar o Centro de Identidade do IAM, a AWS Command Line Interface (AWS CLI) cria um arquivo JSON no diretório cd ~/.aws/sso/cache. O arquivo JSON contém um JSON web token (JWT) usado para obter as credenciais de segurança temporárias com o comando get-role-credentials. O token de acesso é válido por 8 horas. O carimbo de data/hora expiresAt no arquivo JSON mostra o tempo de expiração.

Resolução

Observação: se você receber erros ao executar comandos da AWS CLI, consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Obtenha as credenciais temporárias

Conclua as etapas a seguir:

  1. Abra o arquivo JSON a seguir e localize 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. Copie o valor do accessToken.

  3. Execute o seguinte comando get-role-credentials para obter as credenciais do usuário do Centro de Identidade:

    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

    Observação: substitua enter_the_same_sso_region_same_in_the_JSON_file pela região da AWS do seu arquivo JSON e permission-set-name pelo nome do seu perfil. Se você usar o nome de perfil incorreto, receberá o erro "An error occurred (ForbiddenException) when calling the GetRoleCredentials operation: No access." Se o token de sessão ou a região não corresponder à saída do arquivo JSON, você receberá o erro "An error occurred (UnauthorizedException) when calling the GetRoleCredentials operation: Session token not found or invalid."
    Exemplo de saída:

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

Informações relacionadas

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