Configure la autenticación de herramientas con AWS - 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.

Configure la autenticación de herramientas con AWS

Debes establecer cómo se autentica tu código AWS al desarrollar con. Servicios de AWS Existen diferentes formas de configurar el acceso programático a AWS los recursos, según el entorno y el AWS acceso del que dispongas.

Para ver los distintos métodos de autenticación de las Herramientas PowerShell, consulte Autenticación y acceso en la Guía de referencia de AWS los SDK y las herramientas.

En este tema se presupone que un nuevo usuario se está desarrollando a nivel local, que su empresa no le ha proporcionado un método de autenticación y que lo utilizará AWS IAM Identity Center para obtener credenciales temporales. Si el entorno no se basa en estos supuestos, es posible que parte de la información de este tema no se aplique a su caso o que ya se le haya proporcionado parte de la información.

La configuración de este entorno requiere varios pasos, que se resumen de la siguiente manera:

Habilitar y configurar el Centro de identidades de IAM

Para usarlo AWS IAM Identity Center, primero debe estar habilitado y configurado. Para obtener más información sobre cómo hacerlo PowerShell, consulte el paso 1 del tema sobre la autenticación del IAM Identity Center de la Guía de referencia de herramientas y AWS SDK. En concreto, siga las instrucciones necesarias en No he establecido el acceso a través del Centro de identidades de IAM.

Configure las herramientas PowerShell para utilizar el IAM Identity Center.

nota

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 este tema. Si no tiene acceso a esa versión de Tools for PowerShell (o posterior) o no puede usar esos cmdlets, puede seguir realizando estas tareas mediante el. AWS CLI Para obtener más información sobre cómo hacerlo, consulte. Utilice el AWS CLI para iniciar sesión en el portal

El siguiente procedimiento actualiza el AWS config archivo compartido con la información de inicio de sesión único que la herramienta PowerShell utiliza para obtener credenciales temporales. Como consecuencia de este procedimiento, también se inicia una sesión en el portal de AWS acceso. Si el config archivo compartido ya contiene información sobre el inicio de sesión único y solo quiere saber cómo iniciar una sesión en el portal de acceso mediante las Herramientas PowerShell, consulte la siguiente sección de este tema. Inicie una sesión en el portal de AWS acceso

  1. Si aún no lo ha hecho, ábralo PowerShell e instálelo según AWS Tools for PowerShell corresponda a su sistema operativo y entorno, incluidos los cmdlets más comunes. Para obtener información acerca de cómo hacerlo, consulte Instalación de AWS Tools for PowerShell.

    Por ejemplo, si instala la versión modularizada de las Herramientas para PowerShell Windows, lo más probable es que ejecute comandos similares a los siguientes:

    Install-Module -Name AWS.Tools.Installer Install-AWSToolsModule AWS.Tools.Common
  2. Ejecute el siguiente comando de la . Sustituya los valores de propiedad del ejemplo por valores de la configuración del Centro de identidades de IAM. Para obtener información sobre estas propiedades y cómo encontrarlas, consulte la configuración del proveedor de credenciales del IAM Identity Center en la Guía de referencia de herramientas y AWS SDK.

    $params = @{ ProfileName = 'my-sso-profile' AccountId = '111122223333' RoleName = 'SamplePermissionSet' SessionName = 'my-sso-session' StartUrl = 'https://provided-domain.awsapps.com/start' SSORegion = 'us-west-2' RegistrationScopes = 'sso:account:access' }; Initialize-AWSSSOConfiguration @params

    Como alternativa, puede utilizar el cmdlet por sí solo y la herramienta de herramientas PowerShell le solicitará los valores de las propiedades. Initialize-AWSSSOConfiguration

    Consideraciones sobre determinados valores de propiedad:

    • Si simplemente ha seguido las instrucciones para activar y configurar IAM Identity Center, el valor de -RoleName podría serPowerUserAccess. Sin embargo, si ha creado un conjunto de permisos del Centro de Identidad de IAM específicamente para PowerShell trabajar, utilícelo en su lugar.

    • Asegúrese de usar el Región de AWS lugar donde configuró el Centro de identidades de IAM.

  3. En este punto, el AWS config archivo compartido contiene un perfil llamado my-sso-profile 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 ejemplo, se muestra el perfil que se creó mediante el comando que se muestra arriba. Es posible que algunos de los valores de las propiedades y su orden difieran en su perfil real. La sso-session propiedad del perfil hace referencia a la sección denominadamy-sso-session, que contiene la configuración para iniciar una sesión en el portal de AWS acceso.

    [profile my-sso-profile] sso_account_id=111122223333 sso_role_name=SamplePermissionSet sso_session=my-sso-session [sso-session my-sso-session] sso_region=us-west-2 sso_registration_scopes=sso:account:access sso_start_url=https://provided-domain.awsapps.com/start/
  4. Si ya tiene una sesión activa en el portal de AWS acceso, las Herramientas PowerShell le informarán de que ya ha iniciado sesión.

    Si ese no es el caso, la herramienta de herramientas PowerShell intentará abrir automáticamente la página de autorización del SSO en el navegador web predeterminado. Sigue las instrucciones del navegador, que pueden incluir un código de autorización del SSO, un nombre de usuario y una contraseña, y permiso para acceder a AWS IAM Identity Center las cuentas y conjuntos de permisos.

    Las herramientas de PowerShell le informan de que el inicio de sesión único se ha realizado correctamente.

Inicie una sesión en el portal de AWS acceso

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 PowerShell puedan utilizar la autenticación del IAM Identity Center para resolver las credenciales. Para iniciar sesión en el portal de AWS acceso, ejecute el siguiente comando PowerShell, donde -ProfileName my-sso-profile aparece el nombre del perfil que se creó en el config archivo compartido al seguir el procedimiento de la sección anterior de este tema.

Invoke-AWSSSOLogin -ProfileName my-sso-profile

Si ya tiene una sesión activa en el portal de AWS acceso, las Herramientas de PowerShell le informarán de que ya ha iniciado sesión.

Si ese no es el caso, la herramienta de herramientas PowerShell intentará abrir automáticamente la página de autorización del SSO en el navegador web predeterminado. Sigue las instrucciones del navegador, que pueden incluir un código de autorización del SSO, un nombre de usuario y una contraseña, y permiso para acceder a AWS IAM Identity Center las cuentas y conjuntos de permisos.

Las herramientas de PowerShell le informan de que el inicio de sesión único se ha realizado correctamente.

Para comprobar si ya tiene una sesión activa, ejecute el siguiente comando después de instalar o importar el AWS.Tools.SecurityToken módulo, según sea necesario.

Get-STSCallerIdentity -ProfileName my-sso-profile

La respuesta al Get-STSCallerIdentity cmdlet indica la cuenta y el conjunto de permisos del IAM Identity Center configurados en el archivo compartido. config

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 my-sso-profile perfil, que se configuró anteriormente en este tema.

  • Al iniciar sesión a través de los Invoke-AWSSSOLogin cmdlets Initialize-AWSSSOConfiguration o, el usuario tiene al menos permisos de solo lectura para Amazon S3.

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

Instale o importe el AWS.Tools.S3 módulo según sea necesario y, a continuación, utilice el siguiente PowerShell comando para mostrar una lista de los buckets de S3.

Get-S3Bucket -ProfileName my-sso-profile

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 herramientas y AWS SDK.

  • 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.