Solucionar problemas de Workforce Identity Federation

En esta página se explica cómo resolver problemas habituales con Federación de Identidades de la Fuerza de Trabajo.

Inspeccionar la respuesta del IdP

En esta sección se explica cómo inspeccionar la respuesta de tu proveedor de identidades para solucionar los problemas que se indican en este documento.

Inicio de sesión basado en el navegador

Para inspeccionar la respuesta devuelta por tu proveedor de identidades, genera un archivo HAR con la herramienta que prefieras. Por ejemplo, puedes usar HAR Analyzer de la Caja de herramientas de Google Admin, que ofrece instrucciones para generar un archivo HAR y las herramientas para subirlo y analizarlo.

SAML

Para inspeccionar la respuesta del IdP de SAML, sigue estos pasos:

  1. Busque el valor del parámetro de solicitud SAMLResponse en el archivo HAR registrado en la URL con la ruta /signin-callback.
  2. Decodifícalo con la herramienta que quieras. Por ejemplo, puedes usar Caja de herramientas de Google Admin Codificar/Decodificar.

OIDC

Para inspeccionar la respuesta del IdP de OIDC, sigue estos pasos. Este método no funciona con el flujo de código.

  1. Busca el parámetro de solicitud id_token en el archivo HAR registrado en una URL con la ruta /signin-callback.
  2. Decodifícalo con la herramienta de depuración de JWT que quieras.

CLI de gcloud

Para inspeccionar la respuesta de tu proveedor de identidades al usar gcloud CLI, copia el contenido del archivo que has introducido en la marca --credential-source-file al ejecutar el comando gcloud iam workforce-pools create-cred-config y, a continuación, sigue estos pasos:

SAML

Decodifica la respuesta del IdP de SAML con la herramienta que quieras. Por ejemplo, puedes usar Caja de herramientas de Google Admin Codificar/Decodificar.

OIDC

Decodifica la respuesta del proveedor de identidades de OIDC con la herramienta de depuración de JWT que quieras.

Revisar registros

Para determinar si Trusted Cloud se comunica con tu proveedor de identidades y revisar la información de las transacciones, puedes inspeccionar los registros de auditoría de Cloud.

Para ver ejemplos de registros, consulta Ejemplos de registros de auditoría.

Errores de gestión de grupos y proveedores de empleados

En esta sección se ofrecen sugerencias para corregir los errores habituales que pueden surgir al gestionar grupos y proveedores.

Errores generales de asignación de atributos

Para solucionar problemas de mapeado de atributos de proveedores de grupos de identidades de Workforce, haz lo siguiente:

  • Inspecciona los atributos, también conocidos como reclamaciones, en la configuración de tu IdP.
  • Inspecciona los tokens que genera tu IdP. Para saber cómo generar un token desde tu IdP, consulta su documentación.
  • Consulta los registros de auditoría detallados de Workforce Identity Federation en Cloud Audit Logs.

Los registros de auditoría detallados registran los errores de autenticación y autorización junto con las reclamaciones que ha recibido Workforce Identity Federation.

Puedes habilitar el registro de auditoría detallado al crear tu proveedor de grupo de identidades de la plantilla. Para habilitar el registro de auditoría detallado, añade la marca --detailed-audit-logging al crear tu proveedor de grupo de Workload Identity.

Permiso denegado

Este error se produce cuando el usuario que intenta configurar la federación de identidades de la fuerza de trabajo no tiene el rol Administrador de grupos de la fuerza de trabajo de IAM (roles/iam.workforcePoolAdmin).

INVALID_ARGUMENT: falta la configuración de inicio de sesión único web de OIDC

Se produce el siguiente error si no se definen los campos web-sso-response-type y web-sso-assertion-claims-behavior al crear un proveedor de grupos de identidades de la fuerza de trabajo de OIDC:

ERROR: (gcloud.iam.workforce-pools.providers.create-oidc) INVALID_ARGUMENT: Missing OIDC web single sign-on config.

Para solucionar este error, siga los pasos de la sección Crear un proveedor para definir los campos correctamente al crear el proveedor de grupos de identidades de la plantilla de personal de OIDC.

Se ha superado el límite de frecuencia. Inténtalo de nuevo más tarde.

Este error se produce cuando has alcanzado el límite de cuota de recursos del grupo de trabajadores. Ponte en contacto con tu Trusted Cloud representante de cuenta para solicitar un aumento de cuota.

Errores de inicio de sesión

En esta sección se ofrecen sugerencias para solucionar los errores habituales que pueden surgir al iniciar sesión con la federación de identidades de la plantilla.

Errores de inicio de sesión habituales

La credencial proporcionada se rechaza por la condición del atributo

Este error se produce cuando no se cumple la condición del atributo que se ha definido en el proveedor del grupo de identidades de la fuerza de trabajo.

Por ejemplo, considere 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 enviada en el atributo groups por tu proveedor de identidades no contiene gcp-users.

Para solucionar este error, siga estos pasos:

  1. Describe el proveedor que se ha usado para iniciar sesión y comprueba que el attributeCondition es correcto. Para obtener información sobre las operaciones admitidas en las condiciones, consulta la definición de lenguaje.

  2. Sigue los pasos que se indican en Inspeccionar la respuesta del IdP para ver los atributos que devuelve el IdP y confirma si la condición del atributo está bien formada y es precisa.

  3. Inicia sesión en la consola de administración de tu IdP y comprueba si los atributos del IdP a los que se hace referencia en la condición del atributo están configurados correctamente. Si es necesario, consulta la documentación de tu IdP.

El atributo asignado debe ser de tipo STRING

Este error se produce en un proveedor de identidades de la fuerza de trabajo SAML cuando se espera que el atributo especificado en el mensaje de error sea una cadena de un solo valor, pero se asigna a una lista en el mapeo de atributos.

Por ejemplo, supongamos que tienes un proveedor de identidades de Workforce de SAML que tiene la asignación de atributos attribute.role=assertion.attributes.userRole. En una aserción SAML, un Attribute puede tener varias etiquetas AttributeValue, como se muestra en el ejemplo siguiente. Por lo tanto, todos los atributos 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, puede que vea el siguiente error:

The mapped attribute 'attribute.role' must be of type STRING

Para solucionar este problema, sigue estos pasos:

  1. Describe el proveedor que se ha usado para iniciar sesión e identifica el atributo de IdP que se ha definido en el attributeMapping. Compruebe el atributo con el que se muestra en el mensaje de error. En el ejemplo anterior, un atributo de IdP llamado userRole se asigna al atributo role, y este atributo aparece en el ejemplo de error anterior.role

  2. Sigue las instrucciones que se indican a continuación para actualizar la asignación de atributos:

    • Si el atributo que provoca el error tiene varios valores, identifique un atributo alternativo, estable y con un solo valor de cadena. A continuación, actualiza la asignación de atributos para usarlo haciendo referencia a su primer elemento. En el ejemplo anterior, si myRole se identificara como el atributo de IdP alternativo de un solo valor, la asignación de atributos sería la siguiente:

      attribute.role=assertion.attributes.myRole[0]
      
    • Si sabe que el atributo tiene un solo valor, actualice la asignación de atributos para usar el primer elemento de la lista. En el ejemplo anterior, si userRole solo contiene un rol, puede usar la siguiente asignación:

      attribute.role=assertion.attributes.userRole[0]
      
    • Para obtener un identificador estable de un solo valor a partir de la lista, consulte la sección Definición de idioma y actualice la asignación de atributos según corresponda.

Consulta la sección Inspeccionar la respuesta del IdP para ver la respuesta que devuelve el IdP.

No se ha podido obtener un valor para google.subject de la credencial proporcionada

Este error se produce cuando no se puede asignar la reclamación obligatoria google.subject mediante la asignación de atributos que ha definido en la configuración de su proveedor de identidades del grupo de identidades de la plantilla.

Para solucionar este error, siga estos pasos:

  1. Describe el proveedor e inspecciona el attributeMapping. Identifica la asignación configurada para google.subject. Si la asignación no es correcta, actualiza el proveedor de grupos de identidades de la fuerza de trabajo.

  2. Consulta la sección Inspeccionar la respuesta del IdP para ver la respuesta devuelta por el IdP. Inspecciona el valor del atributo de la respuesta del proveedor de identidades que se ha asignado a google.subject en tus asignaciones de atributos.

    Si el valor está vacío o es incorrecto, inicia sesión en la consola de administración de tu proveedor de identidades e inspecciona los atributos configurados. En cuanto a los atributos, comprueba si el usuario afectado tiene los datos correspondientes en tu proveedor de identidades. Actualice la configuración de su proveedor de identidades para corregir los atributos o la información del usuario según corresponda.

  3. Vuelve a intentar iniciar sesión.

El tamaño de los atributos asignados supera el límite

Se ha producido el siguiente error cuando un usuario federado intenta iniciar sesión:

The size of the entire mapped attributes exceeds the 16 KB limit.

Para solucionar este problema, pida al administrador de su IdP que reduzca el número de atributos que emite su IdP. Tu proveedor de identidades solo tiene que emitir los atributos necesarios para federar usuarios en Trusted Cloud. Para obtener más información sobre los límites de mapeado de atributos, consulte Mapeados de atributos.

Por ejemplo, si tu proveedor de identidades emite un gran número de google.groups que son atributos asignados en tu proveedor de identidades de la plantilla, un intento de inicio de sesión puede fallar. Pide a tu administrador que limite el número de grupos que emite tu proveedor de identidades.

El número de grupos supera el límite

Se ha producido el siguiente error cuando un usuario federado intenta iniciar sesión:

The current count of GROUPS_COUNT mapped attribute google.groups exceeds the GROUPS_COUNT_LIMIT count limit. Either modify your attribute mapping or the incoming assertion to produce a mapped attribute that has fewer than GROUPS_COUNT_LIMIT groups.

Este error incluye los siguientes valores:

  • GROUPS_COUNT: el número de grupos que emite el IdP

  • GROUPS_COUNT_LIMIT:límite de recuento de Trusted Cloudpara grupos

Este error se ha producido cuando el número de grupos emitidos por el proveedor de identidades supera el límite deTrusted Cloud. Los grupos se asignan a Trusted Cloud mediante el atributo google.groups.

Para solucionar este problema, pide a tu administrador que reduzca el número de grupos que emite tu proveedor de identidades. Tu proveedor de identidades solo tiene que emitir los grupos que se usen para federar usuarios en Trusted Cloud. Consulta más información sobre los límites relacionados con los grupos en las asignaciones de atributos.

400. Se trata de un error

Este error se produce cuando la solicitud no se ha recibido correctamente o está mal formada.

Para solucionar este error, siga estos pasos:

  1. Sigue los pasos que se indican en la sección Informa a tus usuarios sobre cómo iniciar sesión para comprobar si estás siguiendo los pasos correctos para iniciar sesión.

  2. Compara la configuración de tu proveedor de grupos de identidades de carga de trabajo con la de tu proveedor de identidades.

Errores de inicio de sesión de OIDC

En esta sección se ofrecen sugerencias para corregir errores específicos de OIDC que pueden surgir a los usuarios de la federación de identidades de la plantilla al iniciar sesión.

Error al conectar con el emisor de la credencial proporcionada

Este error se produce cuando un proveedor de grupos de identidades de trabajo de OIDC no puede acceder al documento de descubrimiento de OIDC o al URI de JWKS.

Para solucionar este error, siga estos pasos:

  1. Describe el proveedor e inspecciona el issuerUri configurado. Crea la URL del documento de descubrimiento añadiendo /.well-known/openid-configuration al URI de tu emisor. Por ejemplo, si tu issuerUri es https://example.com, la URL del documento de descubrimiento sería https://example.com/.well-known/openid-configuration.

  2. Abre la URL del documento de descubrimiento en una ventana de navegación de incógnito.

    1. Si la URL no se abre o el navegador muestra un error 404, consulta la documentación de tu proveedor de identidades para identificar el URI de emisor correcto. Si es necesario, actualiza el issuerUri en tu proveedor de grupos de identidades de Workforce.

      Si tu IdP se ejecuta de forma local, consulta su documentación para proporcionarlo para que se pueda acceder a él a través de Internet.

    2. Si la URL se abre, comprueba lo siguiente:

      1. Comprueba que la URL no redirija demasiadas veces antes de publicar el documento de descubrimiento. Si es así, ponte en contacto con el administrador de tu IdP para solucionar el problema.
      2. Comprueba el tiempo de respuesta del IdP. Ponte en contacto con el administrador de tu proveedor de identidades para reducir la latencia de respuesta.
      3. El documento de descubrimiento abierto debe estar en formato JSON.
      4. Busca un campo jwks_uri en el JSON.

        1. Comprueba que también se abra el valor de la URL asociada.
        2. Comprueba que la URL cumpla las condiciones descritas anteriormente en esta guía.
    3. Vuelve a intentar iniciar sesión.

Errores de inicio de sesión mediante SAML

En esta sección se ofrecen sugerencias para corregir errores específicos de SAML que pueden surgir a los usuarios de la federación de identidades de la plantilla al iniciar sesión.

No se ha podido verificar la firma en SAMLResponse

Este error se produce en un proveedor de identidades de Workforce de SAML cuando no se puede verificar la firma de la respuesta del IdP con ninguno de los certificados X.509 proporcionados en los metadatos XML del IdP que has configurado en tu proveedor de identidades de Workforce. Una causa habitual de este error es que el certificado de verificación de tu proveedor de identidades se ha rotado, pero no has actualizado la configuración del proveedor del grupo de identidades de los empleados con el archivo XML de metadatos más reciente del proveedor de identidades.

Para solucionar este error, siga estos pasos:

  1. Opcional: Sigue los pasos que se indican en Inspeccionar la respuesta del proveedor de identidades para ver la respuesta devuelta por el proveedor de identidades y localizar el campo X509Certificate en ella. Describe el proveedor que has usado para iniciar sesión e inspecciona el campo X509Certificate presente en el valor idpMetadataXml que se ha definido en el proveedor del grupo de identidades de la fuerza de trabajo. Compara el certificado con el que se muestra en la respuesta devuelta por tu IdP. Los certificados deben coincidir.

  2. Inicia sesión en la consola de administración de tu proveedor de identidades y descarga el archivo XML de metadatos más reciente.

  3. Actualiza el proveedor de grupos de identidades de la fuerza de trabajo con el archivo XML de metadatos del proveedor de identidades que has descargado.

  4. Vuelve a intentar iniciar sesión.

El destinatario de la aserción SAML no se ha definido en la URL de ACS correcta

Este error se produce en un proveedor de identidades de carga de trabajo SAML cuando la respuesta del IdP contiene un valor incorrecto para el campo Recipient en la etiqueta SubjectConfirmationData.

Para solucionar este error, actualiza el campo Recipient URL o Redirect URL (o el campo equivalente) en la configuración de tu proveedor de identidades para que use la URL de redirección que se describe en el artículo Configurar URLs de redirección en tu proveedor de identidades y vuelve a intentar iniciar sesión.

Sigue los pasos que se indican en Inspeccionar la respuesta del IdP para ver la respuesta devuelta por el IdP y confirma que el campo Recipient es correcto.

Por ejemplo, en el caso del proveedor de identidades de la fuerza de trabajo locations/global/workforcePools/example-pool/providers/example-provider, el Recipient que contiene la URL de redirección aparece en la respuesta SAML del proveedor de identidades como se muestra a continuación:

<SubjectConfirmationData Recipient="https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"

El destino de SAMLResponse no coincide con la URL de retrollamada del proveedor de servicios

Este error se produce en un proveedor de identidades de carga de trabajo SAML cuando la respuesta del IdP contiene un valor incorrecto para el campo Destination en la etiqueta Response.

Para solucionar este error, actualiza Destination URL / Redirect URL o el campo equivalente en la configuración de tu IdP para que use la URL de redirección descrita en Configurar URLs de redirección en tu IdP.

Sigue los pasos que se indican en Inspeccionar la respuesta del proveedor de identidades para ver la respuesta devuelta por el proveedor de identidades y confirma que el campo Destination es correcto.

Por ejemplo, en el caso de un proveedor de identidades de la fuerza de trabajo locations/global/workforcePools/example-pool/providers/example-provider, el Destination que contiene la URL de redirección aparecería en la respuesta SAML del IdP de la siguiente manera:

<Response Destination="https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"

Aserción no válida: falta el NameID o está vacío

Este error se produce cuando la respuesta SAML recibida de su IdP no contiene el campo NameId o tiene un valor vacío.

Para solucionar este error, consulte la documentación de su proveedor de identidades para configurarlo de forma que envíe el NameID, que es el asunto de una aserción SAML y, normalmente, el usuario que se está autenticando.

Sigue los pasos que se indican en Inspeccionar la respuesta del IdP para ver la respuesta devuelta por el IdP y la NameID que se ha definido en ella.

Todos los <AudienceRestriction>s deben contener el ID de entidad del tercero restringido de SAML

Este error se produce cuando las etiquetas AudienceRestriction de la respuesta SAML de tu IdP no definen una etiqueta Audience con un valor que represente el ID de entidad del proveedor del grupo de identidades de la fuerza de trabajo.

Para solucionar este error, siga estos pasos:

  1. Consulta la documentación de tu proveedor de identidades para saber cómo configurar la audiencia en las etiquetas AudienceRestriction que envía en la respuesta SAML. Normalmente, la audiencia se configura definiendo el campo Entity ID o Audience en la configuración de tu proveedor de identidades. Consulta la sección SAML de Crear un proveedor de grupos de identidades de empleados para ver el valor SP Entity ID que se debe definir.

  2. Después de actualizar la configuración del IdP, vuelve a intentar iniciar sesión.

Sigue los pasos que se indican en inspeccionar la respuesta del IdP para ver la respuesta devuelta por el IdP y las AudienceRestrictions que se han definido en ella.