

Herramientas de AWS para PowerShell La V4 ha entrado en modo de mantenimiento.

Le recomendamos que migre a la [Herramientas de AWS para PowerShell V5](https://docs.aws.amazon.com/powershell/v5/userguide/). Para obtener información y detalles adicionales sobre cómo realizar la migración, consulta nuestro [anuncio sobre el modo de mantenimiento](https://aws.amazon.com/blogs/developer/aws-tools-for-powershell-v4-maintenance-mode-announcement/).

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.

# Cómo usar la AWS CLI para iniciar sesión en el portal
<a name="creds-idc-cli"></a>

A partir de la versión 4.1.538 de las Herramientas para PowerShell, el método recomendado para configurar las credenciales de SSO e iniciar una sesión en el portal de acceso a AWS es usar los cmdlets [https://docs.aws.amazon.com/powershell/v4/reference/index.html?page=Initialize-AWSSSOConfiguration.html&tocid=Initialize-AWSSSOConfiguration](https://docs.aws.amazon.com/powershell/v4/reference/index.html?page=Initialize-AWSSSOConfiguration.html&tocid=Initialize-AWSSSOConfiguration) y [https://docs.aws.amazon.com/powershell/v4/reference/index.html?page=Invoke-AWSSSOLogin.html&tocid=Invoke-AWSSSOLogin](https://docs.aws.amazon.com/powershell/v4/reference/index.html?page=Invoke-AWSSSOLogin.html&tocid=Invoke-AWSSSOLogin), tal y como se describe en [Configurar la autenticación de herramientas con AWS](creds-idc.md). Si no tiene acceso a esa versión de las Herramientas para PowerShell (o posterior) o no puede usar esos cmdlets, puede seguir llevando a cabo estas tareas mediante la AWS CLI.

## Configure las Herramientas para PowerShell para usar IAM Identity Center mediante la AWS CLI.
<a name="idc-config-sdk-cli"></a>

Si aún no lo ha hecho, asegúrese de [habilitar y configurar IAM Identity Center](creds-idc.md#idc-config-sso) antes de continuar.

La información sobre cómo configurar las Herramientas para PowerShell para usar IAM Identity Center mediante la AWS CLI se encuentra en el **Paso 2** del tema sobre la [Autenticación de IAM Identity Center](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html) de la *Guía de referencia de las herramientas y los SDK de AWS*. Tras completar esta configuración, el sistema debe contener los siguientes elementos:
+ La AWS CLI, que se utiliza para iniciar una sesión en el portal de acceso a AWS antes de ejecutar la aplicación.
+ El archivo compartido `config` de AWS que contiene un [perfil `[default]`](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile) con un conjunto de valores de configuración a los que se puede hacer referencia desde las Herramientas para PowerShell. Para encontrar la ubicación de este archivo, consulte [Ubicación de los archivos compartidos](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html) en la *Guía de referencia de herramientas y AWS SDK*. Herramientas para PowerShell utiliza el proveedor de token de SSO del perfil para adquirir las credenciales antes de enviar las solicitudes a AWS. El valor `sso_role_name`, que es un rol de IAM conectado a un conjunto de permisos del Centro de identidades de IAM, debería permitir el acceso a los Servicios de AWS utilizados en la aplicación.

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

  ```
  [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 sesión de PowerShell debe tener los siguientes módulos instalados e importados para que la resolución de SSO pueda funcionar:  
`AWS.Tools.SSO`
`AWS.Tools.SSOOIDC`
Si usa una versión antigua de las Herramientas para PowerShell en la que estos módulos no están disponibles, aparecerá un error similar al siguiente: “Assembly AWSSDK.SSOOIDC could not be found...”.

## Iniciar una sesión en el portal de acceso a AWS
<a name="idc-start-portal-cli"></a>

Antes de ejecutar los comandos de acceso a Servicios de AWS, necesita una sesión activa en el portal de acceso a AWS para que las Herramientas para Windows PowerShell puedan utilizar la autenticación de 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 acceso a AWS, ejecute el siguiente comando en la AWS CLI.

```
aws sso login
```

Como está utilizando el perfil `[default]`, no necesita llamar al comando con la opción `--profile`. Si la configuración del proveedor de token de SSO utiliza un perfil con nombre, el comando es `aws sso login --profile named-profile` en su lugar. Para obtener más información sobre los perfiles con nombre, consulte [Perfiles](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile) en la *Guía de referencia de las herramientas y los SDK de AWS*.

Para comprobar si ya tiene una sesión activa, ejecute el siguiente comando de la AWS CLI (con la misma consideración para perfiles con nombre):

```
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 acceso a AWS y ejecuta `aws sso login`, no tendrá que proporcionar credenciales.  
Es posible que el proceso de inicio de sesión le permita el acceso de la AWS CLI a los datos. Como la AWS CLI se ha creado con el SDK para Python, los mensajes de permiso pueden contener variaciones del nombre `botocore`.

## Ejemplo
<a name="idc-short-example-cli"></a>

A continuación, se muestra un ejemplo de cómo utilizar el Centro de identidades de IAM con 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 en la AWS CLI mediante el uso de `aws 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.

Use los siguientes comandos de PowerShell 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 perfil `[default]`, no necesita llamar al cmdlet `Get-S3Bucket` 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, consulte [Perfiles](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile) en la *Guía de referencia de las herramientas y los SDK de AWS*.

## Información adicional
<a name="idc-additional-info-cli"></a>
+ Para obtener más opciones de autenticación para las Herramientas para PowerShell, como el uso de perfiles y variables de entorno, consulte el capítulo de [configuración](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html) de la *Guía de referencia de herramientas y AWS SDK*.
+ Algunos comandos requieren que se especifique una región de AWS. Hay varias formas de hacerlo, como por ejemplo mediante la opción del cmdlet `-Region`, el perfil `[default]` y la variable de entorno `AWS_REGION`. Para obtener más información, consulte [Especificar AWS regiones](pstools-installing-specifying-region.md) en esta guía y [Región de AWS](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html) en la *Guía de referencia de las herramientas y los SDK de AWS*.
+ Para obtener más información sobre las prácticas recomendadas, consulte [Prácticas recomendadas de seguridad en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.
+ Para crear credenciales de AWS de corta duración, consulte [Credenciales de seguridad temporales](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) 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](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) en la *Guía de referencia de herramientas y AWS SDK*.