Ejemplo: Autenticarse con la actualización automática del token de IAM Identity Center para su uso con AWS CDK CLI - AWS Cloud Development Kit (AWS CDK) v2

Esta es la guía para AWS CDK desarrolladores de la versión 2. La CDK versión anterior entró en mantenimiento el 1 de junio de 2022 y finalizó el soporte el 1 de junio de 2023.

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.

Ejemplo: Autenticarse con la actualización automática del token de IAM Identity Center para su uso con AWS CDK CLI

En este ejemplo, configuramos el AWS Command Line Interface (AWS CLI) para autenticar a nuestro usuario con la configuración del proveedor de token del Centro de AWS IAM Identidad. La configuración del proveedor de SSO tokens permite recuperar AWS CLI automáticamente los tokens de autenticación actualizados para generar credenciales a corto plazo que podemos usar con la interfaz de línea de AWS Cloud Development Kit (AWS CDK) comandos (AWS CDK CLI).

Requisitos previos

En este ejemplo se supone que se han cumplido los siguientes requisitos previos:

  • Requisitos previos para configurar e instalar nuestro sistema AWS de arranque CLI herramientas. Para obtener más información, consulte Requisitos previos.

  • IAMNuestra organización ha creado Identity Center como método para administrar los usuarios.

  • Se ha creado al menos un usuario en IAM Identity Center.

Paso 1: Configure el AWS CLI

Para obtener instrucciones detalladas sobre este paso, consulte Configurar las credenciales del AWS CLI proveedor de tokens de IAM Identity Center con una actualización automática de la autenticación en la Guía del AWS Command Line Interface usuario.

Iniciamos sesión en el portal de AWS acceso proporcionado por nuestra organización para recopilar la información de nuestro Centro de IAM identidad. Esto incluye el SSOinicio URL y SSOla región.

A continuación, utilizamos el AWS CLI aws configure sso comando para configurar un perfil de IAM Identity Center y, sso-session en nuestra máquina local:

$ 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 [sso:account:access]: <ENTER>

Los AWS CLI intentos de abrir nuestro navegador predeterminado para iniciar el proceso de inicio de sesión en nuestra cuenta de IAM Identity Center. Si no puede abrir nuestro navegador, se proporcionan instrucciones para iniciar manualmente el proceso de inicio de sesión. AWS CLI Este proceso asocia la sesión del Centro de IAM Identidad con nuestra AWS CLI sesión actual.

Tras establecer nuestra sesión, AWS CLI muestra lo que tenemos a nuestra Cuentas de AWS disposición:

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

Usamos las teclas de flecha para seleccionar nuestra DeveloperAccount.

A continuación, AWS CLI se muestran los IAM roles disponibles para nosotros en la cuenta seleccionada:

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

Usamos las teclas de flecha para seleccionar FullAccess.

A continuación, nos AWS CLI pide que completemos la configuración especificando un formato de salida predeterminado, un valor predeterminado Región de AWS y un nombre para nuestro perfil:

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

AWS CLI Muestra un mensaje final en el que se muestra cómo utilizar el perfil indicado con: AWS CLI

To use this profile, specify the profile name using --profile, as shown: aws s3 ls --profile my-dev-profile

Tras completar este paso, nuestro config archivo tendrá el siguiente aspecto:

[profile my-dev-profile]
sso_session = my-sso
sso_account_id = 123456789011
sso_role_name = fullAccess
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 podemos usar este perfil sso-session y su nombre para solicitar credenciales de seguridad.

Paso 2: utilícelo AWS CLI para generar credenciales de seguridad

Para obtener instrucciones detalladas sobre este paso, consulte Usar un perfil con el nombre del Centro de IAM Identidad en la Guía del AWS Command Line Interface usuario.

Usamos el AWS CLI aws sso login comando para solicitar las credenciales de seguridad para nuestro perfil:

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

AWS CLI Intenta abrir nuestro navegador predeterminado y verifica nuestro IAM inicio de sesión. Si actualmente no hemos iniciado sesión en IAM Identity Center, se nos pedirá que completemos el proceso de inicio de sesión. Si no puede abrir nuestro navegador, se proporcionan instrucciones para iniciar manualmente el proceso de autorización. AWS CLI

Después de iniciar sesión correctamente, almacena en AWS CLI caché nuestras credenciales de sesión del Centro de IAM Identidad. Estas credenciales incluyen una marca de tiempo de caducidad. Cuando caduquen, AWS CLI solicitarán que volvamos a iniciar sesión en IAM Identity Center.

Con credenciales de IAM Identity Center válidas, recupera de AWS CLI forma segura las AWS credenciales para el IAM rol especificado en nuestro perfil. Desde aquí, podemos usar el AWS CDK CLI con nuestras credenciales.

Paso 3: Usa el CDK CLI

Con cualquier CDK CLI comando, utilizamos la --profile opción para especificar el perfil con nombre para el que generamos las credenciales. Si nuestras credenciales son válidas, el CDK CLI ejecutará correctamente el comando. A continuación, se muestra un ejemplo:

$ cdk diff --profile my-dev-profile Stack CdkAppStack Hold on while we create a read-only change set to get a diff with accurate replacement information (use --no-change-set to use a less accurate but faster template-only diff) Resources [-] AWS::S3::Bucket amzn-s3-demo-bucket amzn-s3-demo-bucket5AF9C99B destroy Outputs [-] Output BucketRegion: {"Value":{"Ref":"AWS::Region"}} ✨ Number of stacks with differences: 1

Cuando nuestras credenciales caduquen, aparecerá un mensaje de error como el siguiente:

$ cdk diff --profile my-dev-profile Stack CdkAppStack Unable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environment

Para actualizar nuestras credenciales, utilizamos el AWS CLI aws sso login comando:

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