¿Cómo soluciono los errores de federación de IdP de OIDC en IAM?
Quiero solucionar los errores que aparecen cuando uso un proveedor de identidades (IdP) de OpenID Connect (OIDC) en AWS Identity and Access Management (IAM).
Resolución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de errores para la AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Importante: Agrega /.well-known/openid-configuration al final de la URL del proveedor de identidad de OIDC para ver el documento de configuración y los metadatos del proveedor.
"No OpenIDConnect provider found in your account"
Si no se hace referencia correctamente al IdP de OIDC al llamar a la operación de la API AssumeRoleWithWebIdentity, se muestra el siguiente mensaje de error:
"An error occurred (InvalidIdentityToken) when calling the AssumeRoleWithWebIdentity operation: No OpenIDConnect provider found in your account"
Para solucionar este problema, toma las siguientes medidas:
- Comprueba que estás proporcionando el nombre de recurso de Amazon (ARN) correcto del IdP de OIDC al llamar a la operación de la API AssumeRoleWithWebIdentity.
Nota: Cuando se utiliza la CLI de AWS para la configuración, se agrega automáticamente una barra diagonal final al ARN del IdP de OIDC. La barra diagonal final no se agrega cuando se usan los AWS SDK. - Comprueba que la política de confianza para el rol de IAM otorga confianza a las entidades principales que se federan a través del IdP del OIDC.
Importante: El IdP de OIDC y el rol de IAM deben estar en la misma cuenta de AWS. - Comprueba que la URL del IdP de OIDC en la solicitud de AWS Security Token Service (AWS STS) coincide con la URL del IdP de OIDC de IAM.
Nota: En ocasiones, el mensaje de error incluye la URL que figura en la solicitud de AWS STS.
"Please check .well-known/openid-configuration of provider: oidc_issuer_url is valid"
Se muestra el siguiente mensaje de error cuando la URL del IdP de OIDC es incorrecta:
"Your request has a problem. Please see the following details. Please check .well-known/openid-configuration of provider: oidc_issuer_url is valid"
Para resolver este problema, comprueba que la URL del IdP de OIDC cumple los siguientes requisitos:
- Es única dentro de la cuenta
- Usa las mayúsculas y minúsculas de forma correcta
- Empieza con https://
- No contiene un número de puerto
Si el problema persiste, toma las siguientes medidas:
- Agrega una barra diagonal (/) al final de la URL del emisor.
- Obtén la huella digital del IdP del OIDC manualmente.
- Crea el IdP de OIDC en la AWS CLI .
"Could not connect to openid configuration of provider: oidc_issuer_url"
Se muestra el siguiente mensaje de error cuando el emisor del IdP del OIDC utiliza una cadena de certificados que está fuera de servicio o incluye certificados duplicados o adicionales:
"Your request has a problem. Please see the following details. Could not connect to openid configuration of provider: oidc_issuer_url"
Para resolver este problema, sigue estos pasos:
-
Instala y configura la herramienta de línea de comandos de OpenSSL.
Nota: Sustituye keys.example.com por la URL asignada a jwks_uri en los metadatos del IdP de OIDC. -
En la herramienta de línea de comandos de OpenSSL, ejecuta el comando openssl-s_client para descargar la cadena de certificados del IdP de OIDC:
openssl s_client -servername keys.example.com -showcerts -connect keys.example.com:443 -
Confirma que la cadena de certificados del IdP de OIDC comienza con la URL del dominio o del emisor, continúa con el certificado intermedio y termina con el certificado raíz.
Si el orden de la cadena de certificados es diferente, se muestra un error de discordancia de firmas y STS no podrá validar el JWT (JSON Web Token, token web JSON). Para obtener más información sobre los estándares de la cadena de certificados, consulta certificate_list en la sección Server certificate (Certificado del servidor) del sitio web de la serie RFC.
"The ID Token provided is not a valid JWT"
Se muestra el siguiente mensaje de error porque ha cifrado el JWT o porque el JWT utiliza caracteres no admitidos cuando el IdP del OIDC se federa en IAM:
"An error occurred (InvalidIdentityToken) when calling the AssumeRoleWithWebIdentity operation: The ID Token provided is not a valid JWT"
Para solucionar este problema, toma las siguientes medidas:
- Define el formato de los valores de los parámetros del encabezado del JWT como "string." Cualquier otro tipo de datos del encabezado del JWT produce un error.
- Ejecuta una herramienta de decodificación en línea para comprobar la información que ha proporcionado en el encabezado del JWT.
- Elimina los valores de parámetros de encabezado innecesarios.
Nota: Los OIDC personalizados admiten los algoritmos de firma: RS256, RS384, RS512, HS256, HS384 y HS512. La federación de OIDC en IAM no admite los JWT cifrados.
"Couldn't retrieve verification key from your identity provider"
"An error occurred (InvalidIdentityToken) when calling the AssumeRoleWithWebIdentity operation: Couldn't retrieve verification key from your identity provider, please reference AssumeRoleWithWebIdentity documentation for requirements"
El mensaje de error anterior puede mostrarse por los siguientes motivos:
- No se puede acceder a los puntos de enlace .well-known y jwks_uri del IdP de OIDC desde la Internet pública.
- Un firewall personalizado bloquea la solicitud de API.
- Hay más de 5 segundos de latencia en las solicitudes de API del IdP del OIDC al punto de enlace de STS.
- AWS STS no puede verificar la clave del IdP de OIDC porque el JWKS (JSON Web Key Set, conjunto de claves web JSON) tiene una gran cantidad de claves que hacen que las solicitudes se limiten.
Para resolver estos problemas, toma las siguientes medidas:
- Comprueba que los puntos de enlace .well-known y jwks_uri del IdP de OIDC sean de acceso público.
- Comprueba la configuración del firewall para confirmar que los dominios no están en una lista de denegados.
- Comprueba la latencia de toda la operación. Usa un retroceso exponencial si es necesario.
- Elimina las claves innecesarias del JWKS y prueba la configuración.
Para obtener más información sobre cómo resolver este mensaje de error, consulta ¿Cómo resuelvo el error "InvalidIdentityToken" en la llamada a la API AssumeRoleWithWebIdentity de AWS STS?
Nota: AWS CloudTrail no registra el error "InvalidIdentityToken" porque el error se produce en el lado del cliente.
"Unsupported condition keys used"
Se muestra el siguiente mensaje de error cuando se usan claves de condición no compatibles en la política de confianza del rol de IAM del IdP de OIDC:
"An unknown error occurred for AssumeRoleWithWebIdentity: Unsupported condition keys used"
Para resolver este problema, crea una política de confianza con las claves disponibles para la federación de identidades web de AWS.
"Incorrect token audience"
Se muestra el siguiente mensaje de error cuando la afirmación de audiencia de JWT no coincide con el identificador único de una aplicación que usa el IdP de OIDC:
"An error occurred (InvalidIdentityToken) when calling the AssumeRoleWithWebIdentity operation: Incorrect token audience"
Para comprobar la audiencia del IdP del OIDC de IAM, ejecuta el siguiente comando get-open-id-connect-provider:
aws iam get-open-id-connect-provider --open-id-connect-provider-arn OIDC_ARN_Example-provider
Nota: Sustituye OIDC_ARN_Example-Provider por el ARN de la IdP de OIDC.
El valor de la audiencia debe coincidir con el ID de cliente de la aplicación.
"Returned thumbprint (too large for IAM)."
Se muestra el mensaje de error "Returned thumbprint (too large for IAM)." al añadir una huella digital incorrecta al IdP del OIDC en IAM.
Para solucionar este problema, asegúrate de utilizar la huella digital correcta. Para obtener la huella digital manualmente, consulta Obtener huellas digitales de certificados.
Para obtener más información, consulta Obtención de la huella digital de un proveedor de identidades OpenID Connect.
"Token audience contains more than one audience while authorized party is not present"
Se muestra el siguiente mensaje de error al definir más de una audiencia en un token JWT:
"InvalidIdentityToken: Token audience contains more than one audience while authorized party is not present"
AWS no admite los tokens JWT con varias audiencias, pero puede configurar un IdP de OIDC con varios ID de cliente como audiencias.
Para resolver este problema, sigue estos pasos:
- Define solo una audiencia en el token JWT.
- Registra cada una de las aplicaciones con un IdP de OIDC independiente para que los usuarios puedan iniciar sesión desde más de un IdP.
- Crea y administra el IdP del OIDC y configura diferentes roles de IAM para cada valor de audiencia, si es necesario.
"Unable to configure OpenID Connect configuration with a private application"
Se muestra el siguiente mensaje de error cuando el IdP de OIDC es privado porque los puntos de enlace .well-known/openid-configuration y jwks_uri no son de acceso público desde Internet:
"Unable to configure OpenID Connect configuration with a private application (For example: Gitlab instance)"
Para solucionar este problema, toma las siguientes medidas:
- Configura los puntos de enlace .well-known/openid-configuration y jwks_uri para que sean accesibles desde Internet.
Nota: IAM no admite configuraciones de proxy para la federación de OIDC en IAM. Incluso si se agrega manualmente una huella digital, las solicitudes posteriores de AssumeRoleWithWebIdentity a STS seguirán fallando porque el punto de enlace jwks_uri no es de acceso público. STS no puede validar la firma en el JWT para emitir credenciales. - Utiliza Amazon Cognito para generar credenciales de cliente que puedas usar para federar desde tu aplicación a un grupo de usuarios de Amazon Cognito. En el grupo de usuarios, puedes asumir un rol de un grupo de identidades de Amazon Cognito que tenga acceso a servicios de AWS específicos de tu cuenta. Para cada aplicación, puedes usar un cliente único para autenticarte en los grupos de identidades de Amazon Cognito a fin de diferenciar los niveles de acceso.
Importante: Para autenticarte en Amazon Cognito, es posible que tengas que realizar una codificación adicional, ya que debe incluir Amazon Cognito en la tarea de la aplicación. - Utiliza Autoridad de certificado privado de AWS para implementar IAM Roles Anywhere.
- Define un punto de enlace de nube virtual privada (VPC) de la interfaz para AWS STS a fin de mantener el tráfico de autenticación dentro de una VPC.
"OpenIdInvalidIDPResponseException error"
Se muestra el siguiente mensaje de error cuando faltan los atributos obligatorios en los metadatos del IdP de OIDC:
"OpenIdInvalidIDPResponseException error while obtaining the thumbprint of the IAM OIDC identity provider"
Para resolver este problema, ponte en contacto con el IdP del OIDC para determinar los atributos que faltan. Para obtener más información sobre los patrones de metadatos y los atributos necesarios, consulta Obtaining OpenID provider configuration information (Obtener información de configuración del proveedor de OpenID) en el sitio web de OpenID.
"OpenIDConnect provider's HTTPS certificate doesn't match configured thumbprint"
Se muestra el siguiente mensaje de error cuando la huella digital del IdP del OIDC ha caducado o no coincide con la autoridad de certificación:
"Invalid login token. OpenIDConnect provider's HTTPS certificate doesn't match configured thumbprint"
Para resolver este problema, sigue estos pasos:
- Obtén el certificado la huella digital manualmente .
- Utiliza UpdateOpenIDConnectProviderThumbprint para actualizar la huella digital para que coincida con el IdP de OIDC.
"AccessDenied error logged for AssumeRoleWithWebIdentity"
Puede aparecer el mensaje de error "AccessDenied error logged for AssumeRoleWithWebIdentity" por los siguientes motivos:
- El ARN del rol de IAM que está en el parámetro de solicitud es incorrecto.
- La entidad principal que ejecuta la acción AssumeRoleWithWebIdentity no tiene suficientes permisos.
- El valor del parámetro DurationSeconds es mayor que el valor de duración máxima establecido para el rol de IAM.
Para resolver los problemas anteriores, toma las siguientes medidas:
- Incluye el ARN correcto del rol de IAM en la acción AssumeRoleWithWebIdentity.
Nota: Los ARN de rol distinguen entre mayúsculas y minúsculas. - Para determinar los permisos necesarios para la acción AssumeRoleWithWebIdentity, consulta la sección Permisos de AssumeRoleWithWebIdentity.
- Si usas AWS Organizations, comprueba las políticas de control de servicios (SCP) para confirmar que incluyen los permisos necesarios.
- Si la solicitud contiene etiquetas de sesión, permite que aws:TagSession se incluya en la política de confianza.
- Asegúrate de que la configuración de duración máxima de la sesión para el rol de IAM sea siempre mayor que o igual al parámetro SessionDuration.
- Etiquetas
- AWS Identity and Access Management
- Idioma
- Español

Contenido relevante
- preguntada hace un año
- preguntada hace un año
- preguntada hace 6 meses