Proveedor de credenciales del IAM Identity Center
nota
Para obtener ayuda para comprender el diseño de las páginas de configuración o para interpretar la tabla Soporte mediante herramientas y SDK de AWS que aparece a continuación, consulte Comprender las páginas de configuración de esta guía.
Este mecanismo de autenticación utiliza AWS IAM Identity Center para obtener acceso de inicio de sesión único (SSO) a Servicios de AWS para su código.
nota
En la documentación de la API de AWS SDK, el proveedor de credenciales del IAM Identity Center se denomina proveedor de credenciales de SSO.
Tras activar IAM Identity Center, debe definir un perfil para su configuración en el archivo compartido config de AWS. 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 descubrir cómo el SDK obtiene las credenciales temporales de la configuración y las utiliza para las solicitudes de Servicio de AWS, consulte Cómo se resuelve la autenticación de IAM Identity Center para los SDK y las herramientas de AWS.
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:
Para obtener información detallada sobre cómo los SDK y las herramientas utilizan y actualizan las credenciales con esta configuración, consulte Cómo se resuelve la autenticación de IAM Identity Center para los SDK y las herramientas de AWS.
Requisitos previos
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 la Habilitación AWS IAM Identity Center 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 de IAM Identity Center para autenticar el SDK y las herramientas de AWS.
Configuración del proveedor de token de SSO
Al usar la configuración del proveedor de token de SSO, su SDK o la herramienta de AWS actualizan automáticamente la sesión hasta el período de sesión extendido. Para obtener más información sobre la duración de la sesión y la duración máxima, consulte Configuración de la duración de la sesión del portal de acceso de AWS y aplicaciones integradas del IAM Identity Center en la Guía del usuario de AWS IAM Identity Center.
La sección sso-session del archivo config se usa para agrupar las variables de configuración para adquirir los tokens de acceso SSO, que luego se pueden usar para adquirir credenciales de AWS. Para obtener más información sobre esta sección dentro de un archivo config, consulte Formato del archivo de configuración.
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.
[profiledev] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole[sso-sessionmy-sso] sso_region =us-east-1sso_start_url =https://my-sso-portal.awsapps.com/startsso_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 y sso_role_name deben establecerse en la sección profile para que el SDK pueda solicitar las credenciales de AWS. sso_region, sso_start_url y sso_registration_scopes deben estar establecidos dentro de la sección sso-session.
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 Servicios de AWS que admite la autenticación de portador, no son necesarias las credenciales de AWS 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 guía de Servicio de AWS individual para determinar si admite la autorización de token de 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.
[profiledev] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole[profile prod] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole2[sso-sessionmy-sso] sso_region =us-east-1sso_start_url =https://my-sso-portal.awsapps.com/startsso_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
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 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.
[profilemy-sso-profile] sso_start_url =https://my-sso-portal.awsapps.com/startsso_region =us-west-2sso_account_id =111122223333sso_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
Configure esta funcionalidad mediante lo siguiente:
sso_start_url: configuración de archivosconfigde AWS 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 en la Guía de usuario de AWS IAM Identity Center.
Para encontrar este valor, abra la consola del IAM Identity Center
, 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 de la AWS CLI, puede utilizar el valor para la URL emisora de AWS.
-
sso_region: configuración de archivosconfigde AWS compartidos-
La Región de AWS que contiene el host del portal del IAM Identity Center; es decir, la región que seleccionó antes de activar el IAM Identity Center. Es independiente de la región predeterminada de AWS y puede ser diferente.
Para obtener una lista completa de los puntos de conexiones regionales de Regiones de AWS, consulte Regiones y puntos de conexión en la Referencia general de Amazon Web Services. Para encontrar este valor, abra la consola del IAM Identity Center
, consulte el panel de control y busque la región. sso_account_id: configuración de archivosconfigde AWS compartidos-
El identificador numérico de la Cuenta de AWS que se agregó a través del servicio de AWS Organizations para usarlo en la autenticación.
Para ver la lista de cuentas disponibles, vaya a la consola del IAM Identity Center
y abra la página Cuentas de AWS. También puede ver la lista de cuentas disponibles mediante el método de la API ListAccounts en la Referencia de la API del portal AWS IAM Identity Center. Por ejemplo, puede llamar al método de la AWS CLI list-accounts . sso_role_name: configuración de archivosconfigde AWS compartidos-
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 la Cuenta de AWS especificada 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 Cuenta de AWS, vaya a la consola del IAM Identity Center
y abra la página Cuentas de AWS. Elija el nombre correcto del conjunto de permisos que aparece en la tabla Cuentas de AWS. También puede ver la lista de cuentas disponibles mediante el método de la API ListAccountRoles en la referencia de la API del portal AWS IAM Identity Center. Por ejemplo, puede llamar al método de la AWS CLI list-accounts . sso_registration_scopes: configuración de archivosconfigde AWS 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 desso:account:access. Para ver una lista de las opciones de ámbito de acceso compatibles, consulte los Ámbitos de acceso 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:accessde forma implícita.
Soporte mediante SKD y herramientas de AWS
Los siguientes SDK admiten las características y los ajustes descritos 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 v2 | Sí | |
| SDK para C++ | Sí | |
| SDK para Go V2 (1.x) |
Sí | |
| SDK para Go 1.x (V1) | Sí | Para usar la configuración de archivos compartidos config, debe activar la carga desde el archivo de configuración; consulte Sesiones. |
| SDK para Java 2.x | Sí | Los valores de configuración también se admiten en el archivo credentials. |
| SDK para Java 1.x | No | |
| SDK para JavaScript 3.x | Sí | |
| SDK para JavaScript 2.x | Sí | |
| SDK de para Kotlin | Sí | |
| SDK para .NET 4.x | Sí | |
| SDK para .NET 3.x | Sí | |
| SDK para PHP 3.x | Sí | |
| SDK para Python (Boto3) |
Sí | |
| SDK para Ruby 3.x | Sí | |
| SDK de para Rust | Parcial | Solo configuración heredada no actualizable. |
| SDK de para Swift | Sí | |
| Herramientas para PowerShell V5 | Sí | |
| Herramientas para PowerShell V4 | Sí |