Utilice el AWS CLI para iniciar sesión en el portal - AWS Tools for PowerShell

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.

Utilice el AWS CLI para iniciar sesión en el portal

A partir de la versión 4.1.538 de Tools for PowerShell, el método recomendado para configurar las credenciales de SSO e iniciar una sesión en el portal de AWS acceso consiste en utilizar los Invoke-AWSSSOLogincmdlets y, tal Initialize-AWSSSOConfigurationy como se describe en. Configure la autenticación de herramientas con AWS Si no tiene acceso a esa versión de las Herramientas PowerShell (o posterior) o no puede usar esos cmdlets, puede seguir realizando estas tareas mediante el. AWS CLI

Configure las herramientas PowerShell para utilizar el Centro de identidades de IAM a través del. AWS CLI

Si aún no lo ha hecho, asegúrese de habilitar y configurar el Centro de identidades de IAM antes de continuar.

La información sobre cómo configurar las herramientas PowerShell para utilizar el Centro de Identidad de IAM AWS CLI se encuentra en el paso 2 del tema sobre la autenticación del Centro de Identidad de IAM de la Guía de referencia de herramientas y AWS SDK. Tras completar esta configuración, el sistema debe contener los siguientes elementos:

  • El AWS CLI, que se utiliza para iniciar una sesión en el portal de AWS acceso antes de ejecutar la aplicación.

  • El AWS config archivo compartido que contiene un [default]perfil con un conjunto de valores de configuración a los que se puede hacer referencia en las Herramientas para PowerShell. Para encontrar la ubicación de este archivo, consulte Ubicación de los archivos compartidos en la Guía de referencia de las herramientas y los SDK de AWS. The Tools for PowerShell utiliza el proveedor del token de inicio de sesión único del perfil para adquirir las credenciales antes de enviar las solicitudes a AWSél. El sso_role_name valor, que es un rol de IAM conectado a un conjunto de permisos del Centro de Identidad de IAM, debería permitir el acceso a los Servicios de AWS utilizados en la aplicación.

    En el siguiente config archivo de ejemplo, se muestra un [default] perfil configurado con un proveedor de tokens de SSO. La configuración sso_session del perfil hace referencia a la sección sso-session nombrada. La sso-session sección contiene la configuración para iniciar una sesión en el portal de AWS acceso.

    [default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://provided-domain.awsapps.com/start sso_registration_scopes = sso:account:access
importante

La PowerShell sesión debe tener los siguientes módulos instalados e importados para que la resolución del SSO pueda funcionar:

  • AWS.Tools.SSO

  • AWS.Tools.SSOOIDC

Si utilizas una versión anterior de Tools for PowerShell y no dispones de estos módulos, aparecerá un error similar al siguiente: «No se ha podido encontrar el archivo Assembly AWSSDK .SSOOIDC...».

Inicie una sesión en el portal de acceso AWS

Antes de ejecutar los comandos de acceso Servicios de AWS, necesita una sesión activa en el portal de AWS acceso para que las herramientas de Windows PowerShell puedan utilizar la autenticación del IAM Identity Center para resolver las credenciales. En función de la duración de las sesiones configuradas, el acceso eventualmente caducará y las Herramientas para Windows PowerShell detectarán un error de autenticación. Para iniciar sesión en el portal de AWS acceso, ejecute el siguiente comando en AWS CLI.

aws sso login

Como está utilizando el [default] perfil, no necesita llamar al comando con la --profile opción. Si la configuración de su proveedor de token de SSO utiliza un perfil con nombre, el comando lo hará aws sso login --profile named-profile en su lugar. Para obtener más información sobre los perfiles con nombre asignado, consulta la sección Perfiles de la Guía de referencia de AWS SDK y herramientas.

Para comprobar si ya tiene una sesión activa, ejecute el siguiente AWS CLI comando (teniendo en cuenta lo mismo para el perfil nombrado):

aws sts get-caller-identity

La respuesta a este comando debe indicar la cuenta y el conjunto de permisos del Centro de identidades de IAM configurados en el archivo compartido config.

nota

Si ya tiene una sesión activa en el portal de AWS acceso y la ejecutaaws sso login, no tendrá que proporcionar credenciales.

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

Ejemplo

A continuación se muestra un ejemplo de cómo utilizar el Centro de identidades de IAM con las herramientas para PowerShell. Asume lo siguiente:

  • Ha habilitado el Centro de identidades de IAM y lo ha configurado como se ha descrito anteriormente en este tema. Las propiedades del SSO se encuentran en el perfil [default].

  • Al iniciar sesión AWS CLI mediante el uso deaws sso login, ese usuario tiene al menos permisos de solo lectura para Amazon S3.

  • Algunos buckets de S3 están disponibles para que los vea ese usuario.

Utilice los siguientes PowerShell comandos para mostrar una lista de los buckets de S3:

Install-Module AWS.Tools.Installer Install-AWSToolsModule S3 # And if using an older version of the AWS Tools for PowerShell: Install-AWSToolsModule SSO, SSOOIDC # In older versions of the AWS Tools for PowerShell, we're not invoking a cmdlet from these modules directly, # so we must import them explicitly: Import-Module AWS.Tools.SSO Import-Module AWS.Tools.SSOOIDC # Older versions of the AWS Tools for PowerShell don't support the SSO login flow, so login with the CLI aws sso login # Now we can invoke cmdlets using the SSO profile Get-S3Bucket

Como se ha mencionado anteriormente, dado que utiliza el [default] perfil, no necesita llamar al Get-S3Bucket cmdlet con la opción. -ProfileName Si la configuración del proveedor de token de SSO utiliza un perfil con nombre, el comando es Get-S3Bucket -ProfileName named-profile. Para obtener más información sobre los perfiles con nombre asignado, consulte la sección Perfiles de la Guía de AWS referencia de SDK y herramientas.

Información adicional

  • Para obtener más opciones de autenticación para las herramientas PowerShell, como el uso de perfiles y variables de entorno, consulte el capítulo de configuración de la Guía de referencia de AWS los SDK y las herramientas.

  • Algunos comandos requieren que se especifique una AWS región. Hay varias formas de hacerlo, incluidas la opción de -Region cmdlet, el [default] perfil y la variable de AWS_REGION entorno. Para obtener más información, consulte Especificar AWS regiones esta guía y AWS la región en la Guía de referencia de AWS SDK y herramientas.

  • Para obtener más información sobre las prácticas recomendadas, consulte Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.

  • Para crear AWS credenciales de corta duración, consulte Credenciales de seguridad temporales en la Guía del usuario de IAM.

  • Para obtener más información sobre otros proveedores de credenciales, consulte los proveedores de credenciales estandarizados en la Guía de referencia de herramientas y AWS SDK.