Comprender la autenticación del Centro de identidades de IAM - AWS SDKsy herramientas

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.

Comprender la autenticación del Centro de identidades de IAM

Términos relevantes del Centro de identidades de IAM

Los siguientes términos le ayudan a entender el proceso y la configuración subyacentes en AWS IAM Identity Center. La documentación de las API del SDK de AWS utiliza nombres diferentes a los del Centro de identidades de IAM para algunos de estos conceptos de autenticación. Resulta útil conocer ambos nombres.

En la siguiente tabla, se muestra cómo se relacionan entre sí los nombres alternativos.

Nombre del Centro de identidades de IAM Nombre de la API del SDK Descripción
Centro de identidades sso Aunque se haya cambiado el nombre de inicio de sesión único de AWS, los espacios de nombres de las API de sso mantendrán su nombre original por motivos de compatibilidad con versiones anteriores. Para más información, consulte Cambiar el nombre del Centro de identidades de IAM en la Guía del usuario de AWS IAM Identity Center.

Consola del Centro de identidades de IAM

Consola administrativa

La consola que se utiliza para configurar el inicio de sesión único.
URL del portal de acceso a AWS Una URL exclusiva de su cuenta del Centro de identidades de IAM, como https://xxx.awsapps.com/start. Inicie sesión en este portal con sus credenciales de inicio de sesión del Centro de identidades de IAM.
Sesión del Portal de Acceso del Centro de identidades de IAM Sesión de autenticación Proporciona un token de acceso al portador al intermediario.
Sesión del conjunto de permisos La sesión de IAM que el SDK usa internamente para realizar las llamadas de Servicio de AWS. En las discusiones informales, es posible que vea que esto se denomina incorrectamente “sesión de roles”.
Credenciales de configuración de permisos

Credenciales de AWS Single Sign-On

credenciales de sigv4

Las credenciales que el SDK utiliza realmente para la mayoría de las llamadas de Servicio de AWS (específicamente, todas las llamadas sigv4 de Servicio de AWS). En las discusiones informales, es posible que veas que esto se denomina incorrectamente “credenciales de roles”.
Proveedor de credenciales del IAM Identity Center Proveedor de credenciales SSO Cómo se obtienen las credenciales, como la clase o el módulo que proporciona la funcionalidad.

Comprenda la resolución de credenciales del SDK para Servicios de AWS

La API del IAM Identity Center intercambia credenciales de token de portador por credenciales sigv4. La mayoría son API sigv4 de Servicios de AWS, con algunas excepciones, como Amazon CodeWhisperer y Amazon CodeCatalyst. A continuación, se describe el proceso de resolución de credenciales para admitir la mayoría de las llamadas de Servicio de AWS mediante el código de la aplicación AWS IAM Identity Center.

Iniciar una sesión en el portal de acceso a AWS

  • Inicie el proceso iniciando sesión con sus credenciales.

    • Use el comando de aws sso login en el AWS Command Line Interface (AWS CLI). Esto inicia una nueva sesión en el IAM Identity Center si aún no tiene una sesión activa.

  • Al iniciar una nueva sesión, recibirá un token de actualización y un token de acceso del IAM Identity Center. El AWS CLI también actualiza un archivo JSON de la caché del SSO con un nuevo token de acceso y un token de actualización, y lo pone a disposición de los SDK para que lo utilicen.

  • Si ya tiene una sesión activa, el AWS CLI comando reutiliza la sesión existente y caducará cuando caduque la sesión existente. Para obtener información sobre cómo establecer la duración de una sesión del IAM Identity Center, consulte Configurar la duración de las sesiones del portal de acceso de los usuarios de AWS en la AWS IAM Identity CenterGuía del usuario.

    • La duración máxima de la sesión se ha ampliado a 90 días para reducir la necesidad de iniciar sesión con frecuencia.

Cómo obtiene el SDK las credenciales para las llamadas a Servicio de AWS

Los SDK proporcionan acceso a Servicios de AWS cuando se crea una instancia de un objeto de cliente por servicio. Cuando el perfil seleccionado del archivo compartido de AWS config está configurado para la resolución de credenciales del IAM Identity Center, el IAM Identity Center se utiliza para resolver las credenciales de su aplicación.

Para recuperar las credenciales de las API sigv4 mediante el inicio de sesión único del IAM Identity Center, el SDK utiliza el token de acceso al IAM Identity Center para obtener una sesión de IAM. Esta sesión de IAM se denomina sesión de conjunto de permisos y proporciona a AWS acceso al SDK al asumir un rol de IAM.

  • La duración de la sesión del conjunto de permisos se establece independientemente de la duración de la sesión del IAM Identity Center.

    • Para obtener información sobre cómo configurar la duración de la sesión del conjunto de permisos, consulte Establecer la duración de la sesión en la Guía del usuario de AWS IAM Identity Center.

  • Ten en cuenta que las credenciales del conjunto de permisos también se denominan credenciales de AWS y credenciales sigv4 en la mayoría de la documentación de la API del SDK de AWS.

Las credenciales del conjunto de permisos se devuelven de una llamada a getRoleCredentials de la API del Centro de identidades de IAM al SDK. El objeto cliente del SDK utiliza ese supuesto rol de IAM para realizar llamadas al Servicio de AWS, por ejemplo, pedir a Amazon S3 que incluya los buckets en su cuenta. El objeto de cliente puede seguir funcionando con esas credenciales del conjunto de permisos hasta que caduque la sesión del conjunto de permisos.

Caducidad y actualización de la sesión

Al utilizar el SSOconfiguración del proveedor de tokens, el token de acceso por hora obtenido del Centro de identidades de IAM se actualiza automáticamente mediante el token de actualización.

  • Si el token de acceso ha caducado cuando el SDK intenta usarlo, el SDK utiliza el token de actualización para intentar obtener un nuevo token de acceso. El Centro de identidades de IAM compara el token de actualización con la duración de la sesión del portal de acceso al Centro de identidades de IAM. Si el token de actualización no ha caducado, el Centro de identidades de IAM responde con otro token de acceso.

  • Este token de acceso se puede utilizar para actualizar la sesión del conjunto de permisos de los clientes existentes o para resolver las credenciales de los nuevos clientes.

Sin embargo, si la sesión del portal de acceso del Centro de identidades de IAM ha caducado, no se concede ningún token de acceso nuevo. Por lo tanto, la duración del conjunto de permisos no se puede renovar. Caducará (y se perderá el acceso) cuando se agote el tiempo de espera de la sesión del conjunto de permisos almacenado en caché para los clientes existentes.

Cualquier código que cree un nuevo cliente no se autenticará en cuanto caduque la sesión del Centro de identidades de IAM. Esto se debe a que las credenciales del conjunto de permisos no se almacenan en caché. Su código no podrá crear un nuevo cliente ni completar el proceso de resolución de credenciales hasta que tenga un token de acceso válido.

En resumen, cuando el SDK necesita nuevas credenciales de conjunto de permisos, primero compruebe si hay credenciales válidas y existentes y si las utiliza. Esto se aplica tanto si las credenciales son para un cliente nuevo como para un cliente existente con credenciales caducadas. Si no se encuentran las credenciales o no son válidas, el SDK llama a la API del Centro de identidades de IAM para obtener nuevas credenciales. Para llamar a la API, necesita el token de acceso. Si el token de acceso ha caducado, el SDK utiliza el token de actualización para intentar obtener un nuevo token de acceso del servicio del Centro de identidades de IAM. Este token se concede si la sesión del portal de acceso al IAM Identity Center no ha caducado.