View a markdown version of this page

Creación de un punto de conexión de VPC para detección de OIDC de AWS STS - AWS Identity and Access Management

Creación de un punto de conexión de VPC para detección de OIDC de AWS STS

La detección de OIDC de AWS Security Token Service (AWS STS) es un par de puntos de conexión públicos que proporcionan los metadatos y las claves de verificación que las partes de confianza necesitan para validar los tokens web JSON (JWT) emitidos por la federación de identidad saliente.

Cuando habilita la federación de identidad saliente, AWS STS publica una URL del emisor que es específica de la cuenta. Esta URL aloja dos puntos de conexión de detección de OpenID Connect (OIDC). Las partes de confianza recuperan estos puntos de conexión para obtener los metadatos y las claves públicas que se necesitan para verificar los JWT que GetWebIdentityToken emite:

  • {issuer_url}/.well-known/openid-configuration: El documento de detección de OIDC

  • {issuer_url}/.well-known/jwks.json: El conjunto de claves web JSON (JWKS) que contiene las claves de verificación de la firma del token

De forma predeterminada, para acceder a estos puntos de conexión desde la VPC, se requiere una puerta de enlace de Internet, un dispositivo NAT, una conexión de VPN o una conexión. En su lugar, para mantener este tráfico en la red de AWS, se debe crear un punto de conexión de VPC de interfaz para el punto de conexión de detección OIDC de STS.

nota

El punto de conexión de detección OIDC de STS sirve solo a los dos puntos de conexión enumerados anteriormente. No sirve para ninguna operación de API de AWS STS. Para realizar llamadas GetWebIdentityToken, AssumeRole o cualquier otra operación de AWS STS de forma privada, utilice el servicio de punto de conexión de com.amazonaws.region.sts. Consulte Creación de un punto de enlace de la VPC para . AWS STS.

Elección del servicio de puntos de conexión correcto

La federación de identidades salientes utiliza dos rutas de red distintas. La mayoría de las cargas de trabajo que crean y verifican tokens necesitan ambos servicios de punto de conexión.

Tarea Servicio de punto de conexión Autenticación
Creación de un JWT (sts:GetWebIdentityToken) com.amazonaws.region.sts AWS SigV4
Lea… /.well-known/openid-configuration com.amazonaws.region.sts-oidc Ninguno (sin autenticar)
Lea… /.well-known/jwks.json com.amazonaws.region.sts-oidc Ninguno (sin autenticar)

No necesita el punto de conexión de detección OIDC de STS si la única parte que verifica sus tokens es un servicio externo por fuera de AWS. Ese servicio obtiene la URL del emisor a través de la Internet pública y su tráfico no entra en la VPC.

Consideraciones

Tenga en cuenta lo siguiente antes de crear un punto de conexión de VPC de interfaz para la detección de OIDC de STS.

  • Las políticas de punto de conexión de VPC no son compatibles. Ambas API de descubrimiento proporcionan datos disponibles de manera pública, y el punto de conexión de descubrimiento de OIDC de STS no aplica las políticas de puntos de conexión de VPC. Utilice los grupos de seguridad y la ubicación de las subredes para controlar qué recursos pueden llegar al punto de conexión.

  • Solo se proporcionan dos rutas. El punto de conexión solo acepta solicitudes HTTPS GET para /.well-known/openid-configuration y /.well-known/jwks.json. Todas las demás rutas y métodos devuelven un error.

Creación de un punto de conexión de VPC de interfaz para detección de OIDC de STS

Puede crear un punto de conexión de VPC para el punto de conexión de detección de OIDC de STS mediante la consola de Amazon Virtual Private Cloud o la AWS Command Line Interface. Para obtener más información, consulte Acceso a un servicio de AWS a través de un punto de conexión de VPC de interfaz en la Guía del usuario de Amazon VPC.

Cree un punto de conexión de VPC para la detección de OIDC de STS mediante el siguiente nombre de servicio:

  • com.amazonaws.region.sts-oidc

Si habilita el DNS privado para el punto de conexión, puede enviar solicitudes a sts-oidc.region.amazonaws.com y se resolverán en las interfaces de red del punto de conexión dentro de su VPC.

Enviar solicitudes mediante el punto de conexión

Cuando una parte de confianza en su VPC necesita verificar un JWT, obtiene el documento de detección de OIDC y el JWKS de la URL del emisor. El nombre de host del emisor (por ejemplo, uuid.tokens.sts.global.api.aws) usa un dominio diferente al del punto de conexión (sts-oidc.region.amazonaws.com), por lo que no se resuelve en el punto de conexión de VPC de forma predeterminada.

Para enrutar las solicitudes del nombre de host del emisor a través del punto de conexión, cree una zona alojada privada de Amazon Route 53 para el nombre de host del emisor y añada un registro de alias que apunte al punto de conexión de VPC. Después de crear la zona alojada, los recursos de la VPC resuelven el nombre de host del emisor en las interfaces de red del punto de conexión. De este modo, las bibliotecas de OIDC estándar pueden recuperar los documentos de detección sin cambiar el código. Para obtener más información acerca de la creación de una zona alojada privada, consulte Uso de zonas alojadas privadas en la Guía para desarrolladores de Amazon Route 53.

nota

El servicio de punto de conexión es regional, pero un único punto de conexión atiende las solicitudes de detección de cualquier UUID del emisor en la partición. Cree puntos de conexión en las regiones en las que se ejecutan sus verificadores; no necesita uno por cuenta de emisor.