

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.

# Proveedor de credenciales del IAM Identity Center
<a name="feature-sso-credentials"></a>

**nota**  
Para obtener ayuda para comprender el diseño de las páginas de configuración o para interpretar la tabla **Support by AWS SDKs and tools** que aparece a continuación, consulte[Cómo comprender las páginas de configuración de esta guía](settings-reference.md#settingsPages).

Este mecanismo de autenticación se utiliza AWS IAM Identity Center para obtener acceso a tu código mediante un inicio de sesión único (SSO). Servicios de AWS 

**nota**  
En la documentación de la API del AWS SDK, el proveedor de credenciales del IAM Identity Center se denomina proveedor de credenciales de SSO.

Tras activar el Centro de identidades de IAM, debe definir un perfil para su configuración en el archivo compartido. AWS `config` Este perfil se utiliza para conectarse al portal de acceso a IAM Identity Center. Cuando un usuario se autentica correctamente en IAM Identity Center, el portal devuelve las credenciales de corta duración para el rol de IAM asociado a ese usuario. Para saber cómo el SDK obtiene las credenciales temporales de la configuración y las utiliza para las Servicio de AWS solicitudes, consulte[Cómo se resuelve la autenticación de IAM Identity Center AWS SDKs y sus herramientas](understanding-sso.md).

Hay dos formas de configurar IAM Identity Center a través del archivo `config`:
+ **(Recomendado) Configuración del proveedor de tokens de SSO**: duraciones de sesión prolongadas. Incluye soporte para duraciones de sesión personalizadas.
+ **Configuración antigua que no se puede actualizar**: utiliza una sesión fija de ocho horas.

En ambas configuraciones, tendrá que volver a iniciar sesión cuando caduque la sesión.

Las dos guías siguientes contienen información adicional sobre IAM Identity Center:
+ [AWS IAM Identity Center Guía del usuario](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)
+ [AWS IAM Identity Center Referencia de la API del portal](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/Welcome.html)

Para obtener información detallada sobre cómo las herramientas SDKs y herramientas utilizan y actualizan las credenciales con esta configuración, consulte[Cómo se resuelve la autenticación de IAM Identity Center AWS SDKs y sus herramientas](understanding-sso.md).

## Requisitos previos
<a name="feature-sso-credentials-prereq"></a>

Primero debe activar el IAM Identity Center. Para más detalles sobre la activación de la autenticación en el IAM Identity Center, consulte [Habilitación AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) en la *Guía del usuario de AWS IAM Identity Center *.

**nota**  
Como alternativa, para conocer todos los requisitos previos **y** la configuración del archivo `config` compartidos necesaria que se detalla en esta página, consulte las instrucciones de configuración detalladas [Uso del Centro de identidades de IAM para autenticar el AWS SDK y las herramientas](access-sso.md).

## Configuración del proveedor de token de SSO
<a name="sso-token-config"></a>

Cuando utilizas la configuración del proveedor de token de SSO, el AWS SDK o la herramienta actualizan automáticamente la sesión hasta que se prolongue el período de sesión. *Para obtener más información sobre la duración y la duración máxima de la sesión, consulte [Configurar la duración de la sesión del portal de AWS acceso y de las aplicaciones integradas del IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html) en la Guía del AWS IAM Identity Center usuario.*

La `sso-session` sección del `config` archivo se usa para agrupar las variables de configuración para adquirir los tokens de acceso del SSO, que luego se pueden usar para adquirir AWS credenciales. Para obtener más información sobre esta sección dentro de un archivo `config`, consulte [Formato del archivo de configuración](file-format.md#file-format-config). 

En el siguiente ejemplo de archivo `config` compartido se configura el SDK o la herramienta mediante un perfil `dev` para que solicite credenciales del IAM Identity Center.

```
[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}}
sso_registration_scopes = {{sso:account:access}}
```

En los siguientes ejemplos, se muestra cómo se define una sección `sso-session` y asóciela a un perfil. Normalmente, `sso_account_id` se `sso_role_name` debe configurar en la `profile` sección para que el SDK pueda solicitar AWS credenciales. `sso_region`,`sso_start_url`, y `sso_registration_scopes` debe configurarse dentro de la `sso-session` sección. 

No obstante, `sso_account_id` y `sso_role_name` no son necesarios para todos los escenarios de configuración de token de SSO. Si su aplicación solo utiliza Servicios de AWS ese soporte de autenticación de portador, no necesitará AWS las credenciales tradicionales. La autenticación de portador es un esquema de autenticación HTTP que utiliza tokens de seguridad denominados tokens de portador. En este escenario, no se necesitan `sso_account_id` ni `sso_role_name`. Consulte la Servicio de AWS guía individual para determinar si el servicio admite la autorización de token al portador.

Los ámbitos de registro se configuran como parte de un `sso-session`. El alcance es un mecanismo de OAuth 2.0 para limitar el acceso de una aplicación a la cuenta de un usuario. El anterior ejemplo establece `sso_registration_scopes` para proporcionar acceso para enumerar cuentas y roles. 

En los siguientes ejemplos, se muestra cómo reutilizar la misma configuración `sso-session` en varios perfiles.

```
[profile {{dev}}]
sso_session = {{my-sso}}
sso_account_id = {{111122223333}}
sso_role_name = {{SampleRole}}

[profile prod]
sso_session = {{my-sso}}
sso_account_id = {{111122223333}}
sso_role_name = {{SampleRole2}}

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

## Configuración heredada no actualizable
<a name="sso-legacy"></a>

La actualización automática de tokens no se admite con la configuración no actualizable heredada. Se recomienda utilizar el [Configuración del proveedor de token de SSO](#sso-token-config) en su lugar.

Para utilizar la configuración heredada no renovable, debe especificar los siguientes parámetros en su perfil:
+ `sso_start_url`
+ `sso_region`
+ `sso_account_id`
+ `sso_role_name`

Debe especificar el portal de usuario para un perfil con la configuración de `sso_start_url` y `sso_region`. Los permisos se especifican con la configuración de `sso_account_id` y `sso_role_name`.

En el siguiente ejemplo se definen los cuatro valores obligatorios del archivo `config`.

```
[profile {{my-sso-profile}}]
sso_start_url = {{https://my-sso-portal.awsapps.com/start}}
sso_region = {{us-west-2}}
sso_account_id = {{111122223333}}
sso_role_name = {{SSOReadOnlyRole}}
```

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 `sso_start_url`. 

## Configuración del proveedor de credenciales del IAM Identity Center
<a name="feature-sso-credentials-profile"></a>

Configure esta funcionalidad mediante lo siguiente:

**`sso_start_url`- configuración de AWS `config` archivos compartidos**  
La URL que apunta a la URL del portal de acceso o a la URL emisora del IAM Identity Center de su organización. Para obtener más información, consulte [Uso del portal de acceso de AWS](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-the-portal.html) en la *Guía de usuario de AWS IAM Identity Center *.  
 Para encontrar este valor, abra la [consola del IAM Identity Center](https://console.aws.amazon.com/singlesignon), consulte el **panel de control** y busque la **URL del portal de acceso a AWS **.  
+ Como alternativa, a partir de la versión **2.22.0** del AWS CLI, puedes utilizar el valor de la URL del **AWS emisor**.

**`sso_region`- configuración de archivos compartidos AWS `config`**  
El Región de AWS que contiene el host del portal del Centro de Identidad de IAM; es decir, la región que seleccionó antes de activar el Centro de Identidad de IAM. Es independiente de la AWS región predeterminada y puede ser diferente.  
Para obtener una lista completa de ellos Regiones de AWS y sus códigos, consulte los [puntos finales regionales](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) en. *Referencia general de Amazon Web Services* Para encontrar este valor, abra la [consola del IAM Identity Center](https://console.aws.amazon.com/singlesignon), consulte el **panel de control** y busque la **región**.

**`sso_account_id`- configuración de AWS `config` archivos compartidos**  
El identificador numérico del Cuenta de AWS que se agregó a través del AWS Organizations servicio para usarlo en la autenticación.   
Para ver la lista de cuentas disponibles, vaya a la [consola del IAM Identity Center](https://console.aws.amazon.com/singlesignon) y abra la página **Cuentas de AWS**. También puedes ver la lista de cuentas disponibles mediante el método [ListAccounts](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_ListAccounts.html)API en la *Referencia de API del AWS IAM Identity Center portal*. Por ejemplo, puedes llamar al AWS CLI método [list-accounts](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sso/list-accounts.html). 

**`sso_role_name`- configuración de archivos compartidos AWS `config`**  
El nombre de un conjunto de permisos aprovisionado como rol de IAM que define los permisos resultantes que tiene el usuario. El rol debe existir en el lugar Cuenta de AWS especificado por`sso_account_id`. Utilice el nombre de la función, no el Nombre de recurso de Amazon (ARN) de la función.  
Los conjuntos de permisos tienen adjuntas políticas de IAM y políticas de permisos personalizadas y definen el nivel de acceso que los usuarios tienen a su Cuentas de AWS asignada.  
Para ver la lista de conjuntos de permisos disponibles por cada uno Cuenta de AWS, vaya a la [consola del IAM Identity Center](https://console.aws.amazon.com/singlesignon) y abra la **Cuentas de AWS**página. Elija el nombre correcto del conjunto de permisos que aparece en la Cuentas de AWS tabla. También puede ver la lista de conjuntos de permisos disponibles mediante el método [ListAccountRoles](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_ListAccountRoles.html)API en la *Referencia de API del AWS IAM Identity Center portal*. Por ejemplo, puedes llamar al AWS CLI método [list-account-roles](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sso/list-account-roles.html). 

**`sso_registration_scopes`- configuración de AWS `config` archivos compartidos**  
Una lista delimitada por comas de los ámbitos válidos que deben autorizarse para la `sso-session`. Una solicitud puede pedir uno o varios ámbitos y el token de acceso emitido a la solicitud se limita a los ámbitos concedidos. Para recuperar un token de actualización del servicio del IAM Identity Center, se debe conceder un límite mínimo de `sso:account:access`. Para ver una lista de las opciones de ámbito de acceso compatibles, consulte los [Ámbitos de acceso](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept) en la *Guía del usuario de AWS IAM Identity Center *.   
Estos ámbitos definen los permisos cuya autorización se solicita para el cliente OIDC registrado y los tokens de acceso recuperados por el cliente. Los ámbitos autorizan el acceso a los puntos de conexión autorizados por el token de portador del Centro de identidades de IAM.   
Esta configuración no aplica a la configuración heredada no actualizable. Los tokens emitidos con la configuración heredada tienen un alcance limitado de `sso:account:access` de forma implícita.

## Support by AWS SDKs and tools
<a name="feature-sso-credentials-sdk-compat"></a>

Las siguientes SDKs son compatibles con las funciones y configuraciones descritas en este tema. Se anotan todas las excepciones parciales. Todos los ajustes de propiedades del sistema JVM son compatibles con AWS SDK para Java y AWS SDK para Kotlin únicamente.


| SDK |  compatible | Notas o más información | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | Sí |  | 
| [SDK para C\+\+](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | Sí |  | 
| [SDK para Go V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | Sí |  | 
| [SDK para Go 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | Sí | Para usar la configuración de archivos compartidos config, debe activar la carga desde el archivo de configuración; consulte [Sesiones](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/). | 
| [SDK para Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | Sí | Los valores de configuración también se admiten en el archivo credentials. | 
| [SDK para Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | No |  | 
| [SDK para 3.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | Sí |  | 
| [SDK para 2.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | Sí |  | 
| [SDK para Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | Sí |  | 
| [SDK para .NET 4.x](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | Sí |  | 
| [SDK para .NET 3.x](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | Sí |  | 
| [SDK para PHP 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | Sí |  | 
| [SDK para Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | Sí |  | 
| [SDK para Ruby 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | Sí |  | 
| [SDK para Rust](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | Parcial | Solo configuración heredada no actualizable. | 
| [SDK para Swift](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | Sí |  | 
| [Herramientas para V5 PowerShell ](https://docs.aws.amazon.com/powershell/latest/userguide/) | Sí |  | 
| [Herramientas para la PowerShell V4](https://docs.aws.amazon.com/powershell/v4/userguide/) | Sí |  | 