Federación de identidades de AWS en servicios externos - AWS Identity and Access Management

Federación de identidades de AWS en servicios externos

La federación de identidad saliente de IAM permite que sus cargas de trabajo de AWS accedan de forma segura a los servicios externos sin almacenar credenciales a largo plazo. Sus cargas de trabajo de AWS pueden solicitar tokens web JSON (JWT) de corta duración de AWS Security Token Service (AWS STS) mediante una llamada a la API GetWebIdentityToken. Estos tokens están firmados criptográficamente, se pueden verificar de forma pública y contienen un conjunto completo de notificaciones que afirman la identidad de su carga de trabajo de AWS ante los servicios externos. Puede usar estos tokens con una amplia gama de proveedores de servicios en la nube de terceros, plataformas de SaaS y aplicaciones autoalojadas. Los servicios externos verifican la autenticidad del token mediante las claves de verificación de AWS publicadas en puntos de conexión conocidos y utilizan la información de los tokens para tomar decisiones de autenticación y autorización.

La federación de identidad saliente elimina la necesidad de almacenar credenciales a largo plazo, como claves de API o contraseñas, en el código de la aplicación o en las variables de entorno, lo que mejora la posición de seguridad. Puede controlar el acceso a la generación de tokens y aplicar las propiedades correspondientes, como los algoritmos de firma, las audiencias permitidas y la duración, mediante políticas de IAM. Todas las solicitudes de tokens se registran en AWS, lo que proporciona registros de auditoría completos para la supervisión de la seguridad y los informes de cumplimiento. También puede personalizar los tokens con etiquetas que aparecen como notificaciones personalizadas, lo que permite a los servicios externos implementar un control de acceso detallado basado en atributos.

Casos de uso comunes

Al utilizar la federación de identidad saliente, sus cargas de trabajo de AWS pueden hacer lo siguiente de forma segura:

  • Acceder a recursos y servicios en proveedores de servicios en la nube externos. Por ejemplo, una función de Lambda que procesa datos puede escribir los resultados en el servicio de almacenamiento de un proveedor de servicios en la nube externo o consultar su base de datos.

  • Integrarse con proveedores de software como servicio (SaaS) externos para el análisis, el procesamiento de datos, la supervisión, etc. Por ejemplo, sus funciones de Lambda pueden enviar métricas a plataformas de observabilidad.

  • Autenticarse con sus propias aplicaciones alojadas en AWS, proveedores de servicios en la nube externos o centros de datos en las instalaciones, lo que posibilita arquitecturas híbridas y multinube seguras. Por ejemplo, sus cargas de trabajo de AWS pueden interactuar con las aplicaciones en contenedores que se ejecutan en su clúster de Kubernetes en las instalaciones.

Cómo funciona

  1. La función de Lambda llama a la API GetWebIdentityToken para solicitar un token web JSON (JWT) de AWS Security Token Service (AWS STS).

  2. AWS STS valida la solicitud y devuelve un JWT firmado a la función de Lambda.

  3. La función de Lambda envía el JWT al servicio externo.

  4. El servicio externo extrae la URL del emisor del token, verifica que coincida con un emisor de confianza conocido y recupera las claves de verificación de AWS y los metadatos del punto de conexión de detección de OIDC.

  5. El servicio externo utiliza las claves de verificación para verificar la firma del token y valida notificaciones como la fecha de vencimiento, el tema y la audiencia.

  6. Tras una validación correcta, el servicio externo concede acceso a la función de Lambda.