Tutorial: uso de IAM Identity Center para ejecutar comandos de Amazon S3 en la AWS CLI - AWS Command Line Interface

Tutorial: uso de IAM Identity Center para ejecutar comandos de Amazon S3 en la AWS CLI

En este tema se describe cómo configurar la AWS CLI para autenticar a los usuarios con AWS IAM Identity Center (IAM Identity Center) actual, de manera que se recuperen las credenciales para ejecutar comandos de la AWS Command Line Interface (AWS CLI) para Amazon Simple Storage Service (Amazon S3).

Paso 1: autenticación en IAM Identity Center

Obtenga acceso a la autenticación de SSO en IAM Identity Center. Elija uno de los siguientes métodos para acceder a las credenciales de AWS.

Siga las instrucciones en Introducción en la Guía del usuario de AWS IAM Identity Center. Este proceso activa IAM Identity Center, 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 de privilegio mínimo. 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 e inicie sesión de nuevo para ver las Cuentas de AWS, los detalles sobre el acceso programático y las opciones para Administrator o PowerUserAccess. Seleccione PowerUserAccess cuando trabaje con el SDK.

Inicie sesión en AWS a través del portal de su proveedor de identidades. Si su administrador de la nube le ha concedido permisos PowerUserAccess (desarrollador), verá las Cuentas de AWS a las que tiene acceso y su 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 en AWS a través del portal de acceso de AWS. Si su administrador de la nube le ha concedido permisos PowerUserAccess (desarrollador), verá las Cuentas de AWS a las que tiene acceso y su 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.

Paso 2: recopilación de la información de IAM Identity Center

Tras acceder a AWS, recopile la información que este contiene realizando lo siguiente:

  1. En el portal de acceso de AWS, seleccione el conjunto de permisos que utiliza para el desarrollo y seleccione el enlace Claves de acceso.

  2. En el cuadro de diálogo Obtener credenciales, elija la pestaña que coincida con 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. Para obtener información sobre qué ámbitos se deben registrar, consulte Ámbitos de acceso de OAuth 2.0 en la Guía del usuario del IAM Identity Center.

Paso 3: creación de buckets de Amazon S3

Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

Para este tutorial, cree algunos buckets que pueda recuperar más tarde en una lista.

Paso 4: Instalar la AWS CLI

Para instalar la AWS CLI, siga las instrucciones de su sistema operativo. Para obtener más información, consulte Instalación o actualización de la versión más reciente de AWS CLI.

Una vez instalada, puede verificar la instalación abriendo el terminal que prefiera y ejecutando el siguiente comando. Debería aparecer la versión instalada de la AWS CLI.

$ aws --version

Paso 5: configuración del perfil de la AWS CLI

Configure su perfil con uno de los siguientes métodos.

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

Defina una sección sso-session y asóciela a un perfil. Los ajustes de sso_start_url y sso_region se deben definir dentro de 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

La sección sso-session del archivo config se usa para agrupar las variables de configuración para adquirir los tokens de acceso SSO, que luego se pueden usar para adquirir credenciales de AWS. 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 my-dev-profile] 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 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.

Paso 6: inicio de sesión en IAM Identity Center

nota

El proceso de inicio de sesión puede pedirle que permita que la AWS CLI acceda a sus datos. Dado que la AWS CLI se ha creado con el SDK para Python, los mensajes de permiso pueden contener variaciones del nombre botocore.

Para recuperar y almacenar en caché las credenciales de IAM Identity Center, ejecute el siguiente comando de la AWS CLI para abrir su navegador predeterminado y compruebe que ha iniciado sesión en IAM Identity Center.

$ aws sso login --profile my-dev-profile

Paso 7: ejecución de comandos de Amazon S3

Para generar una lista de los buckets que creó anteriormente, utilice el comando aws s3 ls. En el siguiente ejemplo se enumeran todos los buckets de Amazon S3.

$ aws s3 ls 2018-12-11 17:08:50 my-bucket 2018-12-14 14:55:44 my-bucket2

Paso 8: cierre de sesión en IAM Identity Center

Cuando haya terminado de utilizar su perfil de IAM Identity Center, ejecute el siguiente comando para eliminar las credenciales almacenadas en caché.

$ aws sso logout Successfully signed out of all SSO profiles.

Paso 9: eliminación de recursos

Cuando termine este tutorial, elimine todos los recursos que haya creado durante el tutorial y que ya no necesite, incluidos los buckets de Amazon S3.

Resolución de problemas

Si tiene problemas con la AWS CLI, consulte Solución de errores para la AWS CLI para ver los pasos comunes de solución de problemas.

Recursos adicionales de

Los recursos adicionales son los siguientes.