Configure las credenciales del proveedor de token de IAM Identity Center AWS CLI para utilizar con la actualización automática de la autenticación - AWS Command Line Interface

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configure las credenciales del proveedor de token de IAM Identity Center AWS CLI para utilizar con la actualización automática de la autenticación

En este tema se describe cómo configurar la AWS CLI autenticación de los usuarios con la configuración del proveedor de token AWS IAM Identity Center (IAM Identity Center). Al usar esta configuración del proveedor de token de SSO, el  AWS  SDK o la herramienta pueden recuperar automáticamente los tokens de autenticación actualizados.

Al utilizar el Centro de identidades de IAM, puede conectarse a Active Directory, a un directorio integrado del Centro de identidades de IAM o a otro IdP conectado al Centro de identidades de IAM. Puede asignar estas credenciales a un rol AWS Identity and Access Management (IAM) para ejecutar comandos. AWS CLI

Independientemente del IdP que utilice, el Centro de identidades de IAM abstrae esas distinciones. Por ejemplo, puede conectar Microsoft Azure AD como se describe en el artículo del blog The Next Evolution in IAM Identity Center (La próxima evolución en el Centro de identidades de IAM).

nota

Para obtener información sobre el uso de la autenticación de portador, que no utiliza ningún identificador de cuenta ni rol, consulta Cómo configurar el uso de AWS CLI with CodeCatalyst en la Guía del CodeCatalyst usuario de Amazon.

Puede utilizar la configuración del proveedor de tokens de SSO para actualizar automáticamente los tokens de autenticación según sea necesario para su aplicación y para utilizar las opciones de duración de sesión ampliada. Puede realizar la configuración de las siguientes maneras:

  • Automáticamente, con los comandos aws configure sso y aws configure sso-session. Los siguientes comandos son asistentes que le guiarán en la configuración de su perfil e información de sso-session:

  • Manualmente, editando el archivo config que guarda los perfiles con nombre.

Requisitos previos

Siga las instrucciones en Introducción en la Guía del usuario de AWS IAM Identity Center . Este proceso activa el Centro de identidades de IAM, crea un usuario administrativo y agrega un conjunto apropiado de permisos de privilegio mínimo.

nota

Cree un conjunto de permisos que aplique los permisos con privilegios mínimos. Le recomendamos que utilice el conjunto de permisos predefinido PowerUserAccess, a menos que su empleador haya creado un conjunto de permisos personalizado para este fin.

Salga del portal y vuelva a iniciar sesión para ver sus opciones Cuentas de AWS y para o. Administrator PowerUserAccess Seleccione PowerUserAccess cuando trabaje con el SDK. Esto también le ayuda a encontrar detalles sobre el acceso programático.

Inicie sesión a AWS través del portal de su proveedor de identidad. Si el administrador de la nube te ha concedido permisos PowerUserAccess (de desarrollador), verás aquellos a los Cuentas de AWS que tienes acceso y tu conjunto de permisos. Junto al nombre de su conjunto de permisos, verá las opciones para acceder a las cuentas de forma manual o programática mediante ese conjunto de permisos.

Las implementaciones personalizadas pueden dar lugar a experiencias diferentes, como distintos nombres de conjuntos de permisos. Si no está seguro de qué configuración de permisos debe utilizar, contacte con su equipo de TI para obtener ayuda.

Inicie sesión a AWS través del portal de AWS acceso. Si el administrador de la nube te ha concedido permisos PowerUserAccess (de desarrollador), verás los permisos a los Cuentas de AWS que tienes acceso y tu conjunto de permisos. Junto al nombre de su conjunto de permisos, verá las opciones para acceder a las cuentas de forma manual o programática mediante ese conjunto de permisos.

Contacte con su equipo de TI para obtener ayuda.

Configurar el perfil con el asistente de aws configure sso

Para configurar un perfil del Centro de identidades de IAM y sso-session para la AWS CLI
  1. Recopile la información del Centro de identidades de IAM realizando lo siguiente:

    1. En su portal de AWS acceso, seleccione el conjunto de permisos que utiliza para el desarrollo y, a continuación, seleccione el enlace Claves de acceso.

    2. En el cuadro de diálogo Obtener credenciales, elija la pestaña que corresponda a su sistema operativo.

    3. Elija el método de credenciales del centro de identidades de IAM para obtener los valores SSO Start URL y SSO Region que necesita para ejecutar aws configure sso.

    4. Para obtener información sobre qué ámbitos se deben registrar, consulte los ámbitos de acceso de OAuth 2.0 en la Guía del usuario del centro de identidades de IAM.

  2. En el terminal que prefiera, ejecute el aws configure sso comando e indique la URL de inicio del Centro de Identidad de IAM y la AWS región que aloja el directorio del Centro de Identidad.

    $ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access
  3. AWS CLI Intenta abrir el navegador predeterminado e iniciar el proceso de inicio de sesión en tu cuenta del IAM Identity Center.

    Attempting to automatically open the SSO authorization page in your default browser.

    Si AWS CLI no puede abrir el navegador, aparece el siguiente mensaje con instrucciones sobre cómo iniciar manualmente el proceso de inicio de sesión.

    If the browser does not open or you wish to use a different device to authorize this request, open the following URL: https://device.sso.us-west-2.amazonaws.com/ Then enter the code: QCFK-N451

    IAM Identity Center utiliza el código para asociar la sesión de IAM Identity Center con la sesión de la AWS CLI actual. La página del navegador del Centro de identidades de IAM le pedirá que inicie sesión con sus credenciales del Centro de identidades de IAM. Esto le da permiso AWS CLI para recuperar y mostrar las AWS cuentas y funciones que está autorizado a utilizar en el Centro de identidades de IAM.

    nota

    Es posible que el proceso de inicio de sesión le pida que permita el AWS CLI acceso a sus datos. Dado que AWS CLI se basa en el SDK para Python, los mensajes de permiso pueden contener variaciones del botocore nombre.

  4. AWS CLI Muestra las AWS cuentas disponibles para su uso. Si está autorizado a usar solo una cuenta, AWS CLI selecciona esa cuenta automáticamente y omite la solicitud. Las AWS cuentas que puede utilizar vienen determinadas por su configuración de usuario en el Centro de identidades de IAM.

    There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (123456789011) ProductionAccount, production-account-admin@example.com (123456789022)

    Utilice las teclas de flecha para seleccionar la cuenta que desea utilizar. El carácter «>» de la izquierda apunta a la opción actual. Pulse INTRO para realizar la selección.

  5. AWS CLI Confirma su elección de cuenta y muestra las funciones de IAM que tiene disponibles en la cuenta seleccionada. Si la cuenta seleccionada solo incluye un rol, AWS CLI selecciona ese rol automáticamente y omite la solicitud. Los roles que están disponibles para su uso están determinadas por su configuración de usuario en IAM Identity Center.

    Using the account ID 123456789011 There are 2 roles available to you. > ReadOnly FullAccess

    Utilice las teclas de flecha para seleccionar el rol de IAM que desea utilizar y pulse <INTRO>.

  6. Especifique el formato de salida predeterminado, la Región de AWS predeterminada a la que enviar comandos y proporcione un nombre para el perfil a fin de que pueda hacer referencia a este perfil entre todos los definidos en el equipo local. En el ejemplo siguiente, el usuario introduce una región predeterminada, un formato de salida predeterminado y el nombre del perfil. Si ya tiene una configuración, también puede pulsar <ENTER> para seleccionar los valores predeterminados que se muestran entre corchetes. El nombre del perfil sugerido es el número de ID de cuenta seguido de un guion bajo seguido del nombre del rol.

    CLI default client Region [None]: us-west-2<ENTER> CLI default output format [None]: json<ENTER> CLI profile name [123456789011_ReadOnly]: my-dev-profile<ENTER>
    nota

    Si lo especifica default como nombre de perfil, este perfil pasará a ser el que se utilice siempre que ejecute un AWS CLI comando y no especifique un nombre de perfil.

  7. Un mensaje final describe la configuración del perfil completada.

    To use this profile, specify the profile name using --profile, as shown: aws s3 ls --profile my-dev-profile
  8. Esto da como resultado la creación de una sección sso-session y un perfil con un nombre en ~/.aws/config similar al siguiente:

    [profile my-dev-profile] sso_session = my-sso sso_account_id = 123456789011 sso_role_name = readOnly region = us-west-2 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access

    Ahora puede utilizar este sso-session y el perfil para solicitar credenciales actualizadas. Utilice el comando aws sso login para solicitar y recuperar realmente las credenciales necesarias para ejecutar comandos. Para ver instrucciones, consulte Usar un perfil con nombre del Centro de identidades de IAM .

Configurar solo la sección sso-session con el asistente de aws configure sso-session

El comando aws configure sso-session solo actualiza las secciones sso-session del archivo ~/.aws/config. Este comando se puede utilizar para crear o actualizar las sesiones. Esto resulta útil si ya tiene ajustes de configuración y desea crear una configuración de sso-session nueva o editar la existente.

Ejecute el aws configure sso-session comando e indique la URL de inicio del Centro de Identidad de IAM y la AWS región que aloja el directorio del Centro de Identidad.

$ aws configure sso-session SSO session name: my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access

Tras ingresar su información, un mensaje describe la configuración del perfil completada.

Completed configuring SSO session: my-sso Run the following to login and refresh access token for this session: aws sso login --sso-session my-sso
nota

Si ha iniciado sesión en sso-session que está actualizando, actualice el token ejecutando el comando aws sso login.

Configuración manual mediante el archivo config

La sso-session sección del config archivo se usa para agrupar las variables de configuración para adquirir los tokens de acceso del SSO, que luego se pueden usar para adquirir AWS credenciales. Se utilizan las siguientes configuraciones:

Defina una sección sso-session y asóciela a un perfil. sso_region ysso_start_url deben establecerse en la sección sso-session. Normalmente, sso_account_id y sso_role_name deben establecerse en la sección profile para que el SDK pueda solicitar las credenciales de SSO.

En el siguiente ejemplo se configura el SDK para que solicite credenciales de SSO y admita la actualización automática de tokens:

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

Esto también permite reutilizar las configuraciones de sso-session en varios perfiles:

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [profile prod] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole2 [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

No obstante, sso_account_id y sso_role_name no son necesarios para todos los escenarios de configuración de token de SSO. Si la aplicación solo usa AWS servicios que admiten la autenticación del portador, no se necesitan AWS las credenciales tradicionales. La autenticación de portador es un esquema de autenticación HTTP que utiliza tokens de seguridad denominados tokens de portador. En este escenario, no se necesitan sso_account_id ni sso_role_name. Consulte la guía individual de su servicio de AWS para determinar si admite la autorización de token de portador.

Además, los ámbitos de registro pueden configurarse como parte de sso-session. El alcance es un mecanismo de OAuth 2.0 para limitar el acceso de una aplicación a la cuenta de un usuario. Una solicitud puede pedir uno o varios ámbitos y el token de acceso emitido a la solicitud se limitará a los ámbitos concedidos. Estos ámbitos definen los permisos cuya autorización se solicita para el cliente OIDC registrado y los tokens de acceso recuperados por el cliente. El siguiente ejemplo establece sso_registration_scopes para proporcionar acceso para enumerar cuentas/roles:

[sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access

El token de autenticación se almacena en caché en el disco en el directorio ~/.aws/sso/cache con un nombre de archivo basado en el nombre de la sesión.