En esta página, se muestra cómo resolver problemas habituales con la federación de identidades de personal.
Inspecciona la respuesta del IdP
En esta sección, se muestra cómo inspeccionar la respuesta de tu proveedor de identidad (IdP) para solucionar los problemas enumerados en este documento.
Acceso basado en el navegador
Para inspeccionar la respuesta que muestra tu IdP, genera un archivo HAR con la herramienta que elijas. Por ejemplo, puedes usar HAR Analyzer de la Caja de herramientas para administradores de Google, que proporciona instrucciones a fin de generar un archivo HAR y las herramientas para subirlo y analizarlo.
SAML
Para inspeccionar la respuesta del IdP de SAML, sigue estos pasos:
- Ubica el valor del parámetro de la solicitud
SAMLResponse
en el archivo HAR que se registra en la URL con la ruta de acceso/signin-callback
. - Decodifícalo mediante la herramienta que prefieras, por ejemplo, puedes usar la codificación o decodificación de la Caja de herramientas para administradores de Google.
OIDC
Para inspeccionar la respuesta del IdP de OIDC, sigue estos pasos:
- Busca el parámetro de solicitud
id_token
en el archivo HAR que se registra en una URL con la ruta de acceso/signin-callback
. - Decodifícala mediante la herramienta de depuración de JWT que elijas.
gcloud CLI
Para inspeccionar la respuesta de tu IdP cuando usas la gcloud CLI, copia el contenido del archivo que pasaste en la marca --credential-source-file
cuando ejecutaste el comando gcloud iam workforce-pools create-cred-config
y, luego, realiza los pasos que aparecen a continuación:
SAML
Para decodificar la respuesta del IdP de SAML mediante la herramienta que prefieras, por ejemplo, puedes usar la codificación o decodificación de la Caja de herramientas para administradores de Google.
OIDC
Decodifica la respuesta del IdP de OIDC con la herramienta de depuración de JWT que elijas.
Revisa los registros
Para determinar si Google Cloud se comunica con tu IdP y revisar la información de la transacción, puedes inspeccionar los registros de auditoría de Cloud. Para ver ejemplos de registros, consulta Registros de auditoría de ejemplo.
Errores de administración de grupos de trabajadores y proveedores
En esta sección, se proporcionan sugerencias para corregir errores comunes que pueden surgir cuando administras grupos y proveedores.
Permiso denegado
Este error se produce cuando el usuario que intenta configurar la federación de identidades de personal no tiene el rol de administrador de grupos de trabajadores de IAM (roles/iam.workforcePoolAdmin
).
INVALID_ARGUMENT: falta la configuración de inicio de sesión único de OIDC en la Web
El siguiente error ocurre cuando los campos web-sso-response-type
y web-sso-assertion-claims-behavior
no están configurados cuando se crea un proveedor de grupos de identidades de personal de OIDC:
ERROR: (gcloud.iam.workforce-pools.providers.create-oidc) INVALID_ARGUMENT: Missing OIDC web single sign-on config.
Para resolver este error, sigue los pasos de la sección Crea un proveedor a fin de configurar los campos de forma adecuada cuando crees el proveedor de grupos de identidades de personal de OIDC.
Se superó el límite de frecuencia. Vuelve a intentarlo más tarde.
Este error se produce cuando alcanzas el límite de cuota de los recursos del grupo de trabajadores. Comunícate con tu representante de cuenta de Google Cloud para solicitar un aumento de la cuota.
Errores de acceso
En esta sección, se proporcionan sugerencias para corregir errores comunes que puede encontrar un usuario de federación de identidades de personal cuando accede.
Errores de acceso comunes
La condición del atributo rechaza la credencial determinada
Este error ocurre cuando no se cumplió la condición de atributo establecida en el proveedor de grupo de identidades de personal.
Por ejemplo, considera la siguiente condición de atributo:
SAML
'gcp-users' in assertion.attributes.groups
OIDC
'gcp-users' in assertion.groups
En este caso, verás el error si la lista de grupos que envió tu proveedor de identidad (IdP) en el atributo groups
no contiene gcp-users
.
Para resolver este error, realiza los siguientes pasos:
Describe el proveedor que se usó para acceder y verifica que la
attributeCondition
sea correcta. Para obtener información sobre las operaciones que son compatibles con las condiciones, consulta la definición del lenguaje.Sigue los pasos en Inspecciona la respuesta del IdP para ver los atributos que muestra el IdP y confirma si la condición del atributo tiene el formato correcto y es precisa.
Accede a la Consola del administrador del IdP y verifica si los atributos de IdP a los que se hace referencia en la condición del atributo estén configurados de forma correcta. Si es necesario, consulta la documentación de tu IdP.
El atributo asignado debe ser del tipo STRING
Este error ocurre en un proveedor de grupos de identidades de personal de SAML cuando el atributo especificado en el mensaje de error es una STRING de un solo valor, pero se asigna a una lista en la asignación de atributos.
Por ejemplo, considera un proveedor de grupo de identidades de personal de SAML que tiene la asignación de atributos, attribute.role=assertion.attributes.userRole
. En una aserción de SAML, un Attribute
puede tener varias etiquetas AttributeValue
como se muestra en el siguiente ejemplo. Por lo tanto, todos los atributos de SAML se consideran listas, por lo que assertion.attributes.userRole
es una lista.
<saml:Attribute Name="userRole">
<saml:AttributeValue>
security-admin
</saml:AttributeValue>
<saml:AttributeValue>
user
</saml:AttributeValue>
</saml:Attribute>
En este ejemplo, es posible que veas el siguiente error:
The mapped attribute 'attribute.role' must be of type STRING
Para resolver este problema, realiza los siguientes pasos:
Describe el proveedor que se usó para acceder y, luego, identifica el atributo de IdP que se establece en
attributeMapping
. Compara el atributo y el atributo que se presenta en el mensaje de error. En el ejemplo anterior, un atributo de IdP llamadouserRole
se asigna al atributorole
y el atributorole
aparece en la muestra de error anterior.Sigue la guía que aparece a continuación para actualizar la asignación de atributos:
Si el atributo que causa el error es un valor de lista, identifica un atributo alternativo, estable y con valores de string. Luego, actualiza la asignación de atributos para usarla; para ello, haz referencia a su primer elemento. Para el ejemplo anterior, si
myRole
se identifica como el atributo de IdP de solo valor alternativo, la asignación de atributos sería la siguiente:attribute.role=assertion.attributes.myRole[0]
De manera alternativa, si se sabe que el atributo es de un solo valor, actualiza la asignación de atributos para usar el primer elemento de la lista. Para el ejemplo anterior, si
userRole
contiene solo un rol, puedes usar la siguiente asignación:attribute.role=assertion.attributes.userRole[0]
Para derivar un identificador estable y de un solo valor de la lista, consulta la sección sobre definición del lenguaje y actualiza la asignación de atributos según corresponda.
Consulta la sección Inspecciona la respuesta de IdP para ver la respuesta que muestra el IdP.
No se pudo obtener un valor para google.subject a partir de la credencial determinada
Este error se produce cuando el reclamo google.subject
obligatorio no se pudo asignar mediante la asignación de atributos que estableciste en la configuración de tu proveedor de identidades de personal.
Para resolver este error, realiza los siguientes pasos:
Describe el proveedor y, luego, inspecciona el
attributeMapping
. Identifica la asignación que está configurada paragoogle.subject
. Si la asignación no es correcta, actualiza el proveedor de grupo de identidades de personal.Consulta la sección Inspecciona la respuesta de IdP para ver la respuesta que muestra el IdP. Inspecciona el valor del atributo de la respuesta del IdP que se asigna a
google.subject
en tus asignaciones de atributos.Si el valor está vacío o es incorrecto, accede a la Consola del administrador del IdP y, luego, inspecciona los atributos configurados. Para los atributos, verifica si tu usuario afectado tiene datos correspondientes en tu IdP. Actualiza tu configuración de IdP para corregir los atributos o la información del usuario según corresponda.
Intenta acceder de nuevo.
400. Se trata de un error.
Este error se produce cuando la solicitud no se recibió como se esperaba o si tenía un formato incorrecto.
Para resolver este error, realiza los siguientes pasos:
Sigue los pasos en la sección Informa a tus usuarios cómo acceder a fin de verificar si sigues los pasos correctos para acceder.
Compara la configuración del proveedor de grupo de identidades de personal con la configuración de IdP.
Errores de acceso de OIDC
En esta sección, se proporcionan sugerencias para corregir errores específicos de OIDC que un usuario de federación de identidades de personal puede encontrar cuando acceda.
Error en la conexión con la entidad emisora de la credencial
Este error se produce cuando un proveedor de grupo de identidades de personal de OIDC no puede acceder al documento de descubrimiento de OIDC o URI de JWKS.
Para resolver este error, realiza los siguientes pasos:
Describe el proveedor y, luego, inserta el
issuerUri
configurado. Construye la URL del documento de descubrimiento mediante la adición de/.well-known/openid-configuration
al URI de la entidad emisora. Por ejemplo, si tuissuerUri
eshttps://example.com
, la URL del documento de descubrimiento seríahttps://example.com/.well-known/openid-configuration
.Abre la URL del documento de descubrimiento en una ventana de navegación de incógnito.
Si la URL no se abre o en el navegador se muestra un error
404
, consulta la documentación de tu IdP para identificar el URI de la entidad emisora correcto. Si es necesario, actualiza elissuerUri
en tu proveedor de grupos de federación de identidades de personal.Si tu IdP se ejecuta de forma local, consulta la documentación de tu IdP para aprovisionarlo a fin de acceder a través de Internet.
Si se abre la URL, verifica estas condiciones:
- Comprueba que la URL no redireccione demasiadas veces antes de entregar el documento de descubrimiento. Si es así, consulta con el administrador de tu IdP para solucionar el problema.
- Verifica el tiempo de respuesta del IdP. Consulta con el administrador del IdP para reducir la latencia de respuesta.
- El documento de descubrimiento abierto debe estar en formato JSON.
Busca un campo
jwks_uri
en el archivo JSON.- Verifica que también se abra el valor de la URL asociada.
- Verifica que la URL cumpla con las condiciones como se describió antes en esta guía.
Intenta acceder de nuevo.
Errores de acceso de SAML
En esta sección, se proporcionan sugerencias para corregir errores específicos de SAML que un usuario de federación de identidades de personal puede encontrar cuando acceda.
No se pudo verificar la firma en SAMLResponse
Este error ocurre en un proveedor de grupos de identidades de trabajadores de SAML cuando la firma en la respuesta de IdP no se puede verificar mediante ninguno de los certificados X.509 proporcionados en el archivo XML de metadatos de IdP que configuraste en tu proveedor de identidades de personal. Una causa común de este error es que se rotó el certificado de verificación en tu IdP, pero no actualizaste la configuración del proveedor de grupo de identidades de personal con el archivo XML de metadatos de IdP más reciente.
Para resolver este error, realiza los siguientes pasos:
Sigue los pasos que se indican en inspecciona la respuesta de IdP para ver la respuesta que muestra el IdP y ubica el campo
X509Certificate
en ella (opcional). Describe el proveedor que usaste para acceder y, luego, inspecciona el campoX509Certificate
presente en el valoridpMetadataXml
que se establece en el proveedor de grupo de identidades de personal. Compara el certificado con el que se ve en la respuesta que muestra tu IdP. Los certificados deben coincidir.Accede a la Consola del administrador del IdP y descarga el último archivo XML de metadatos.
Actualiza el proveedor de grupo de identidades de personal con el archivo XML de metadatos de IdP descargado.
Intenta acceder de nuevo.
El destinatario de la aserción de SAML no está configurado en la URL de ACS correcta
Este error se produce en un proveedor de grupo de identidades de personal de SAML cuando la respuesta del IdP contiene un valor incorrecto para el campo Recipient
en la etiqueta SubjectConfirmationData
.
Si deseas resolver este error, actualiza Recipient URL
o Redirect URL
, o el campo equivalente en la configuración de tu IdP para usar la URL de redireccionamiento que se describe en la sección Configura las URLs de redireccionamiento en tu IdP y vuelve a acceder.
Sigue los pasos en la página Inspecciona la respuesta de IdP para ver la respuesta que muestra el IdP y confirma que el campo Recipient
sea correcto.
Por ejemplo, para el proveedor de grupo de identidades de personal locations/global/workforcePools/example-pool/providers/example-provider
, el Recipient
que contiene la URL de redireccionamiento aparece en la respuesta SAML de IdP, como se muestra a continuación:
<SubjectConfirmationData Recipient="https://auth.cloud.google/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"
El destino de SAMLResponse no coincide con la URL de devolución de llamada de RP
Este error se produce en un proveedor de grupo de identidades de personal de SAML cuando la respuesta del IdP contiene un valor incorrecto para el campo Destination
en la etiqueta Response
.
Si deseas resolver este error, actualiza Destination URL
o Redirect URL
, o el campo equivalente en la configuración de tu IdP para usar la URL de redireccionamiento que se describe en Configura las URLs de redireccionamiento en tu IdP.
Sigue los pasos en la página Inspecciona la respuesta de IdP para ver la respuesta que muestra el IdP y confirma que el campo Destination
sea correcto.
Por ejemplo, para un proveedor de grupo de identidades de personal locations/global/workforcePools/example-pool/providers/example-provider
, el Destination
que contiene la URL de redireccionamiento aparecerá en la respuesta SAML de IdP de la siguiente manera:
<Response Destination="https://auth.cloud.google/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"
Aserción no válida: NameID vacío o faltante
Este error se produce cuando la respuesta SAML que se recibió desde el IdP no contiene el campo NameId
o tiene un valor vacío.
Si deseas resolver este error, consulta la documentación de tu IdP para configurarla a fin de enviar el NameID
, que es el sujeto de una aserción de SAML, que suele ser el usuario que se autentica.
Sigue los pasos en la página Inspecciona la respuesta de IdP para ver la respuesta que muestra el IdP y el NameID
que se configuró en ella.
Todos los valores de <AudienceRestriction>
deben contener el ID de entidad del RP de SAML
Este error se produce cuando las etiquetas AudienceRestriction
en la respuesta de SAML de tu IdP no configuran una etiqueta Audience
con valor que represente el ID de entidad del proveedor de grupo de identidades de personal.
Para resolver este error, realiza los siguientes pasos:
Consulta la documentación de IdP sobre cómo configurar el público en las etiquetas
AudienceRestriction
que envía en la respuesta de SAML. Por lo general, el público se configura mediante los camposEntity ID
oAudience
en la configuración de IdP. Consulta la sección de SAML Crea un proveedor de grupo de identidades de personal para ver el valorSP Entity ID
que se debe configurar.Después de actualizar tu configuración de IdP, vuelve a acceder.
Sigue los pasos que aparecen en Inspecciona la respuesta de IdP para ver la respuesta que muestra el IdP y los valores de AudienceRestriction
que se configuran en ella.