Quero obter credenciais temporárias para um usuário do Centro de Identidade do AWS IAM (sucessor do AWS Single Sign-On).
Breve descrição
Configurar um perfil nomeado para usar o Centro de Identidade do IAM 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 a chamada da API get-role-credentials. O token de acesso é válido por 8 horas, conforme indicado no carimbo de data/hora expiresAt no arquivo JSON. Os tokens expirados devem ser autenticados novamente usando a chamada da API get-role-credentials.
Resolução
Você pode 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, verifique se está utilizando a versão mais recente da AWS CLI.
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"}
Execute o comando get-role-credentials da AWS CLI para obter as credenciais para o usuário do Centro de Identidade do IAM semelhantes às seguintes:
$ 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
}
}
Em seguida, siga as instruções para configurar 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?