Saltar al contenido

¿Cómo puedo utilizar la AWS CLI para obtener credenciales temporales para un usuario de IAM Identity Center?

2 minutos de lectura
0

Quiero obtener credenciales temporales para un usuario de AWS IAM Identity Center.

Descripción corta

Para generar credenciales temporales, debes ejecutar el comando get-role-credentials. Cuando configuras un perfil con nombre para que utilice IAM Identity Center, la Interfaz de la línea de comandos de AWS (AWS CLI) crea un archivo JSON en el directorio cd ~/.aws/sso/cache. El archivo JSON contiene un token web JSON (JWT), que se utiliza para obtener las credenciales de seguridad temporales con el comando get-role-credentials. El token de acceso es válido durante 8 horas. La marca de tiempo expiresAt del archivo JSON muestra la fecha de vencimiento.

Resolución

Nota: Si se muestran errores al ejecutar comandos de AWS CLI, consulta Solución de errores de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Obtención de credenciales temporales

Sigue estos pasos:

  1. Abre el siguiente archivo JSON y, a continuación, busca el token de acceso:

    cat 535a8450b05870c9045c8a7b95870.json
    {"startUrl": "https://my-sso-portal.awsapps.com/start", "region": "us-east-1", "accessToken": "eyJlbmMiOiJBM….", "expiresAt": "2020-06-17T10:02:08UTC"}
  2. Copia el valor de accessToken.

  3. Ejecuta el siguiente comando get-role-credentials para obtener las credenciales del usuario del Identity Center:

    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

    Nota: Sustituye enter_the_same_sso_region_same_in_the_JSON_file por la región AWS de tu archivo JSON y permission-set-name por el nombre de tu rol. Si utilizas un nombre de rol incorrecto, recibirás el error «An error occurred (ForbiddenException) when calling the GetRoleCredentials operation: No access». Si el token de sesión o la región no coinciden con la salida del archivo JSON, recibirás el error «An error occurred (UnauthorizedException) when calling the GetRoleCredentials operation: Session token not found or invalid».
    Resultado de ejemplo:

    {    "roleCredentials": {
            "accessKeyId": "ASIA*************",
            "secretAccessKey": "**********************************",
            "sessionToken": "****************************************",
            "expiration": 1592362463000
        }
    }
  4. Configura las credenciales como variables de entorno.

Información relacionada

¿Cómo utilizo los conjuntos de permisos de IAM Identity Center?