Configurar Workforce Identity Federation

En esta guía se describe cómo configurar la federación de identidades de trabajo con un proveedor de identidades que admita OIDC o SAML 2.0.

Para obtener instrucciones específicas de cada proveedor de identidades, consulta lo siguiente:

Antes de empezar

  1. Asegúrate de que tienes una organización de Trusted Cloud configurada.
  2. Define la variable de entorno GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
  3. Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada. Después de iniciar sesión, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

    gcloud init
  4. Enable the Identity and Access Management (IAM) and Resource Manager APIs.

    Enable the APIs

  5. Para iniciar sesión, tu proveedor de identidades debe proporcionar información de autenticación firmada: los proveedores de identidades de OIDC deben proporcionar un JWT y las respuestas de los proveedores de identidades de SAML deben estar firmadas.
  6. Para recibir información importante sobre los cambios que se produzcan en tu organización o en tusTrusted Cloud productos, debes proporcionar contactos esenciales. Para obtener más información, consulta la descripción general de la Federación de Identidades de Workforce.

Costes

La federación de identidades para los trabajadores está disponible como función gratuita. Sin embargo, el registro de auditoría detallado de la federación de identidades de Workforce usa Cloud Logging. Para obtener información sobre los precios de Logging, consulta los precios de Google Cloud Observability.

Roles obligatorios

Para obtener los permisos que necesitas para configurar la federación de identidades de los trabajadores, pide a tu administrador que te conceda el rol de gestión de identidades y accesos administrador de grupos de identidades de los trabajadores (roles/iam.workforcePoolAdmin) en la organización. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

También puedes usar el rol básico Propietario (roles/owner), que incluye permisos para configurar Workforce Identity Federation. No debes conceder roles básicos en un entorno de producción, pero sí puedes hacerlo en un entorno de desarrollo o de pruebas.

Configurar Workforce Identity Federation

Para configurar Workforce Identity Federation, debes crear un grupo de identidades de empleados y un proveedor de grupos de identidades de empleados.

Crear un grupo de identidades de Workforce

Para crear el grupo, ejecuta el siguiente comando:

gcloud

Para crear el grupo de identidades de Workforce, ejecuta el siguiente comando:

gcloud iam workforce-pools create WORKFORCE_POOL_ID \
    --organization=ORGANIZATION_ID \
    --display-name="DISPLAY_NAME" \
    --description="DESCRIPTION" \
    --session-duration=SESSION_DURATION \
    --location=global

Haz los cambios siguientes:

  • WORKFORCE_POOL_ID: un ID que elijas para representar tu Trusted Cloud grupo de Workforce. Para obtener información sobre el formato del ID, consulta la sección Parámetros de consulta de la documentación de la API.
  • ORGANIZATION_ID: el ID numérico de tu organización Trusted Cloud para el grupo de identidades de Workforce. Los grupos de identidades de Workforce están disponibles en todos los proyectos y carpetas de la organización.
  • DISPLAY_NAME: opcional. Nombre visible del grupo de identidades de Workforce.
  • DESCRIPTION: opcional. Descripción del grupo de identidades de Workforce.
  • SESSION_DURATION: opcional. La duración de la sesión, expresada como un número seguido de s. Por ejemplo, 3600s. La duración de la sesión determina cuánto tiempo son válidos los Trusted Cloud tokens de acceso, las sesiones de inicio de sesión de la consola (federadas) y las sesiones de inicio de sesión de la CLI de gcloud de este grupo de empleados. La duración de la sesión es de una hora (3600 s) de forma predeterminada. El valor de la duración de la sesión debe estar entre 15 minutos (900 s) y 12 horas (43.200 s).

Consola

Para crear el grupo de identidades de Workforce, sigue estos pasos:

  1. En la Trusted Cloud consola, ve a la página Grupos de identidades de la fuerza de trabajo:

    Ir a Grupos de identidades de Workforce

  2. Selecciona la organización de tu grupo de identidades de Workforce. Los grupos de identidades de la fuerza de trabajo están disponibles en todos los proyectos y carpetas de una organización.

  3. Haz clic en Crear grupo y sigue estos pasos:

    1. En el campo Nombre, introduce el nombre visible del grupo. El ID del grupo se deriva automáticamente del nombre a medida que lo escribes y se muestra en el campo Nombre. Para actualizar el ID del grupo, haz clic en Editar junto al ID del grupo.

    2. Opcional: En Descripción, escribe una descripción del grupo.

    3. Para crear el grupo de identidades de Workforce, haz clic en Siguiente.

La duración de la sesión del grupo de identidades de Workforce es de una hora (3600 s) de forma predeterminada. La duración de la sesión determina cuánto tiempo son válidas las sesiones de inicio de sesión de los tokens de acceso, la consola (federada) y la CLI de gcloud de este grupo de empleados. Trusted Cloud Una vez que hayas creado el grupo, podrás actualizarlo para definir una duración de sesión personalizada. La duración de la sesión debe ser de entre 15 minutos (900 s) y 12 horas (43.200 s).

Crear un proveedor de grupos de identidades de empleados

En esta sección se describe cómo crear un proveedor de grupo de identidades de la fuerza de trabajo para que los usuarios de tu IdP puedan acceder a Trusted Cloud. Puedes configurar el proveedor para que use el protocolo OIDC o SAML.

Crear un proveedor de grupos de empleados de OIDC

Para crear un proveedor de grupos de identidades de los empleados mediante el protocolo OIDC, haz lo siguiente:

  1. En tu IdP de OIDC, registra una nueva aplicación para Trusted Cloud Federación de Identidades de la Fuerza de Trabajo. Anota el ID de cliente y el URI del emisor que te ha proporcionado el proveedor de identidades. Los usas en este documento.

  2. Si tienes previsto configurar el acceso de los usuarios a la consola, añade la siguiente URL de redirección a tu proveedor de identidades OIDC:

    https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    

    Haz los cambios siguientes:

    • WORKFORCE_POOL_ID: el ID del grupo de identidades de Workforce

    • WORKFORCE_PROVIDER_ID: el ID del proveedor de grupos de identidades de Workforce que crearás más adelante en este documento.

    Para saber cómo configurar el inicio de sesión en la consola (federado), consulta Configurar el acceso de los usuarios a la consola (federado).

  3. En Trusted Cloud, para crear el proveedor, haz lo siguiente:

    gcloud

    Flujo de código

    Para crear un proveedor de OIDC que utilice el flujo de código de autorización para iniciar sesión en la Web, ejecuta el siguiente comando:

    gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \
        --workforce-pool=WORKFORCE_POOL_ID \
        --display-name="DISPLAY_NAME" \
        --description="DESCRIPTION" \
        --issuer-uri="ISSUER_URI" \
        --client-id="OIDC_CLIENT_ID" \
    --client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --detailed-audit-logging \ --location=global

    Haz los cambios siguientes:

    • WORKFORCE_PROVIDER_ID: ID único del proveedor de grupos de identidades de Workforce. El prefijo gcp- está reservado y no se puede usar en un ID de grupo de identidades de Workforce ni en un ID de proveedor de grupos de identidades de Workforce.
    • WORKFORCE_POOL_ID: el ID del grupo de identidades de Workforce al que conectar tu proveedor de identidades.
    • DISPLAY_NAME: nombre visible opcional para el proveedor. Por ejemplo, idp-eu-employees.
    • DESCRIPTION: descripción opcional del proveedor de mano de obra. Por ejemplo, IdP for Partner Example Organization employees.
    • ISSUER_URI: el URI del emisor de OIDC, en un formato de URI válido, que empieza por https; por ejemplo, https://example.com/oidc. Nota: Por motivos de seguridad, ISSUER_URI debe usar el esquema HTTPS.
    • OIDC_CLIENT_ID: el ID de cliente de OIDC registrado en tu proveedor de identidades de OIDC. El ID debe coincidir con la reclamación aud del JWT emitido por tu proveedor de identidades.
    • OIDC_CLIENT_SECRET: el secreto de cliente de OIDC.
    • WEB_SSO_ADDITIONAL_SCOPES: ámbitos adicionales opcionales que se enviarán al proveedor de identidades OIDC para iniciar sesión en la consola (federada) o en la CLI de gcloud basada en navegador.
    • ATTRIBUTE_MAPPING: una asignación de atributos. A continuación, se muestra un ejemplo de asignación de atributos:
      google.subject=assertion.sub,
      google.groups=assertion.group1,
      attribute.costcenter=assertion.costcenter
      En este ejemplo, se asignan los atributos subject, group1 y costcenter del proveedor de identidades en la aserción de OIDC a los atributos google.subject, google.groups y attribute.costcenter, respectivamente.
    • ATTRIBUTE_CONDITION: una condición de atributo; por ejemplo, assertion.role == 'gcp-users'. Esta condición de ejemplo asegura que solo los usuarios con el rol gcp-users puedan iniciar sesión con este proveedor.
    • JWK_JSON_PATH: ruta opcional a las claves web JSON (JWK) de OIDC subidas localmente. Si no se proporciona este parámetro, Trusted Cloud se usa la ruta /.well-known/openid-configuration de tu IdP para obtener los JWKs que contienen las claves públicas. Para obtener más información sobre los JWKs de OIDC subidos localmente, consulta gestionar JWKs de OIDC.
    • La federación de identidades de Workforce registra información de auditoría detallada recibida de tu proveedor de identidades en Logging. Los registros de auditoría detallados pueden ayudarte a solucionar problemas con la configuración de tu proveedor de identidades de la plantilla. Para saber cómo solucionar problemas de asignación de atributos con registros de auditoría detallados, consulta Errores generales de asignación de atributos. Para obtener información sobre los precios de Logging, consulta la página de precios de Google Cloud Observability.

      Para inhabilitar el registro de auditoría detallado de un proveedor de grupos de identidades de fuerza de trabajo, omite la marca --detailed-audit-logging al ejecutar gcloud iam workforce-pools providers create. Para inhabilitar el registro de auditoría detallado, también puedes actualizar el proveedor.

    En la respuesta del comando, POOL_RESOURCE_NAME es el nombre del grupo. Por ejemplo, locations/global/workforcePools/enterprise-example-organization-employees.

    Flujo implícito

    Para crear un proveedor de OIDC que use el flujo implícito para iniciar sesión en la Web, ejecuta el siguiente comando:

    gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \
        --workforce-pool=WORKFORCE_POOL_ID \
        --display-name="DISPLAY_NAME" \
        --description="DESCRIPTION" \
        --issuer-uri="ISSUER_URI" \
        --client-id="OIDC_CLIENT_ID" \
        --web-sso-response-type="id-token" \
        --web-sso-assertion-claims-behavior="only-id-token-claims" \
        --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \
        --attribute-mapping="ATTRIBUTE_MAPPING" \
        --attribute-condition="ATTRIBUTE_CONDITION" \
        --jwk-json-path="JWK_JSON_PATH" \
        --detailed-audit-logging \
        --location=global
    

    Haz los cambios siguientes:

    • WORKFORCE_PROVIDER_ID: ID único del proveedor de grupos de identidades de Workforce. El prefijo gcp- está reservado y no se puede usar en un ID de grupo de identidades de Workforce ni en un ID de proveedor de grupos de identidades de Workforce.
    • WORKFORCE_POOL_ID: el ID del grupo de identidades de Workforce al que conectar tu proveedor de identidades.
    • DISPLAY_NAME: nombre visible opcional para el proveedor. Por ejemplo, idp-eu-employees.
    • DESCRIPTION: descripción opcional del proveedor de mano de obra. Por ejemplo, IdP for Partner Example Organization employees.
    • ISSUER_URI: el URI del emisor de OIDC, en un formato de URI válido, que empieza por https; por ejemplo, https://example.com/oidc. Nota: Por motivos de seguridad, ISSUER_URI debe usar el esquema HTTPS.
    • OIDC_CLIENT_ID: el ID de cliente de OIDC registrado en tu proveedor de identidades de OIDC. El ID debe coincidir con la reclamación aud del JWT emitido por tu proveedor de identidades.
    • WEB_SSO_ADDITIONAL_SCOPES: ámbitos adicionales opcionales que se enviarán al proveedor de identidades OIDC para iniciar sesión en la consola (federada) o en la CLI de gcloud basada en navegador.
    • ATTRIBUTE_MAPPING: una asignación de atributos. A continuación, se muestra un ejemplo de asignación de atributos:
      google.subject=assertion.sub,
      google.groups=assertion.group1,
      attribute.costcenter=assertion.costcenter
      En este ejemplo, se asignan los atributos subject, group1 y costcenter del proveedor de identidades en la aserción de OIDC a los atributos google.subject, google.groups y attribute.costcenter, respectivamente.
    • ATTRIBUTE_CONDITION: una condición de atributo; por ejemplo, assertion.role == 'gcp-users'. Esta condición de ejemplo asegura que solo los usuarios con el rol gcp-users puedan iniciar sesión con este proveedor.
    • JWK_JSON_PATH: ruta opcional a las claves web JSON (JWK) de OIDC subidas localmente. Si no se proporciona este parámetro, Trusted Cloud se usa la ruta /.well-known/openid-configuration de tu IdP para obtener los JWKs que contienen las claves públicas. Para obtener más información sobre los JWKs de OIDC subidos localmente, consulta gestionar JWKs de OIDC.
    • La federación de identidades de Workforce registra información de auditoría detallada recibida de tu proveedor de identidades en Logging. Los registros de auditoría detallados pueden ayudarte a solucionar problemas con la configuración de tu proveedor de identidades de la plantilla. Para saber cómo solucionar problemas de asignación de atributos con registros de auditoría detallados, consulta Errores generales de asignación de atributos. Para obtener información sobre los precios de Logging, consulta la página de precios de Google Cloud Observability.

      Para inhabilitar el registro de auditoría detallado de un proveedor de grupos de identidades de fuerza de trabajo, omite la marca --detailed-audit-logging al ejecutar gcloud iam workforce-pools providers create. Para inhabilitar el registro de auditoría detallado, también puedes actualizar el proveedor.

    En la respuesta del comando, POOL_RESOURCE_NAME es el nombre del grupo. Por ejemplo, locations/global/workforcePools/enterprise-example-organization-employees.

    El prefijo gcp- está reservado y no se puede usar en un ID de grupo de identidades de Workforce ni en un ID de proveedor de grupos de identidades de Workforce.

    En la federación de OIDC, puedes usar assertion.NAME: una cadena igual al valor de la reclamación con el mismo nombre en la carga útil del token de ID.

    Consola

    Flujo de código

    En la Trusted Cloud consola, para crear un proveedor de OIDC que utilice el flujo de código de autorización, haz lo siguiente:

    1. En la Trusted Cloud consola, ve a la página Grupos de identidades de la fuerza de trabajo:

      Ir a Grupos de identidades de Workforce

    2. En la tabla Grupos de identidades de Workforce, seleccione el grupo para el que quiera crear el proveedor.

    3. En la tabla Proveedores, haga clic en Añadir proveedor.

    4. En Seleccionar un protocolo, selecciona OpenID Connect (OIDC).

    5. En Crear un proveedor de grupos, haz lo siguiente:

      1. En Name (Nombre), escribe el nombre del proveedor.
      2. En Emisor (URL), introduzca el URI del emisor. El URI del emisor de OIDC debe tener un formato de URI válido y empezar por https. Por ejemplo, https://example.com/oidc.
      3. Introduce el ID de cliente, el ID de cliente de OIDC registrado en tu proveedor de identidades de OIDC. El ID debe coincidir con la reclamación aud del JWT emitido por tu proveedor de identidades.
      4. Para crear un proveedor habilitado, asegúrate de que la opción Proveedor habilitado esté activada.
      5. Haz clic en Continuar.
    6. En Tipo de flujo, haz lo siguiente: El tipo de flujo solo se usa en un flujo de inicio de sesión único basado en la Web.

      1. En Tipo de flujo, selecciona Código.
      2. En Secreto de cliente, introduce el secreto de cliente de tu proveedor de identidades.
      3. En Comportamiento de las reclamaciones de aserción, seleccione una de las siguientes opciones:

        • Información del usuario y token de ID
        • Solo token de ID
      4. Haz clic en Continuar.

    7. En Configurar proveedor, puede configurar una asignación de atributos y una condición de atributo. Para crear una asignación de atributos, sigue estos pasos. Puedes proporcionar el nombre del campo del proveedor de identidades o una expresión con formato CEL que devuelva una cadena.

      1. Obligatorio: en OIDC 1, introduce el asunto del proveedor de identidades. Por ejemplo: assertion.sub.

      2. Opcional: Para añadir más asignaciones de atributos, haz lo siguiente:

        1. Haz clic en Añadir asignación.
        2. En Google n, donde n es un número, introduce una de las teclas compatibles conTrusted Cloud.
        3. En el campo OIDC n correspondiente, introduce el nombre del campo específico del IdP que quieras asignar, en formato CEL.
      3. Para crear una condición de atributo, siga estos pasos:

        1. Haz clic en Añadir condición.
        2. En Condiciones de atributo, introduce una condición en formato CEL; por ejemplo, assertion.role == 'gcp-users'. Esta condición de ejemplo asegura que solo los usuarios con el rol gcp-users puedan iniciar sesión con este proveedor.
      4. Para activar el registro de auditoría detallado, en Registro detallado, haz clic en el interruptor Habilitar registro detallado de valores de atributos.

        La federación de identidades de Workforce registra información de auditoría detallada recibida de tu proveedor de identidades en Logging. Los registros de auditoría detallados pueden ayudarte a solucionar problemas con la configuración de tu proveedor de identidades de la plantilla. Para saber cómo solucionar problemas de asignación de atributos con registros de auditoría detallados, consulta Errores generales de asignación de atributos. Para obtener información sobre los precios de Logging, consulta la página de precios de Google Cloud Observability.

        Para inhabilitar el registro de auditoría detallado de un proveedor de grupos de identidades de fuerza de trabajo, omite la marca --detailed-audit-logging al ejecutar gcloud iam workforce-pools providers create. Para inhabilitar el registro de auditoría detallado, también puedes actualizar el proveedor.

    8. Para crear el proveedor, haz clic en Enviar.

    Flujo implícito

    En la Trusted Cloud consola, para crear un proveedor de OIDC que use el flujo implícito, haz lo siguiente:

    1. En la Trusted Cloud consola, ve a la página Grupos de identidades de la fuerza de trabajo:

      Ir a Grupos de identidades de Workforce

    2. En la tabla Grupos de identidades de Workforce, seleccione el grupo para el que quiera crear el proveedor.

    3. En la tabla Proveedores, haga clic en Añadir proveedor.

    4. En Seleccionar un protocolo, selecciona OpenID Connect (OIDC).

    5. En Crear un proveedor de grupos, haz lo siguiente:

      1. En Name (Nombre), escribe el nombre del proveedor.
      2. En Emisor (URL), introduzca el URI del emisor. El URI del emisor de OIDC debe tener un formato de URI válido y empezar por https. Por ejemplo, https://example.com/oidc.
      3. Introduce el ID de cliente, el ID de cliente de OIDC registrado en tu proveedor de identidades de OIDC. El ID debe coincidir con la reclamación aud del JWT emitido por tu proveedor de identidades.
      4. Para crear un proveedor habilitado, asegúrate de que la opción Proveedor habilitado esté activada.
      5. Haz clic en Continuar.
    6. En Tipo de flujo, haz lo siguiente: El tipo de flujo solo se usa en un flujo de inicio de sesión único basado en la Web.

      1. En Tipo de flujo, selecciona Token de ID.
      2. Haz clic en Continuar.
    7. En Configurar proveedor, puede configurar una asignación de atributos y una condición de atributo. Para crear una asignación de atributos, sigue estos pasos. Puedes proporcionar el nombre del campo del proveedor de identidades o una expresión con formato CEL que devuelva una cadena.

      1. Obligatorio: en OIDC 1, introduce el asunto del proveedor de identidades. Por ejemplo: assertion.sub.

      2. Opcional: Para añadir más asignaciones de atributos, haz lo siguiente:

        1. Haz clic en Añadir asignación.
        2. En Google n, donde n es un número, introduce una de las teclas compatibles conTrusted Cloud.
        3. En el campo OIDC n correspondiente, introduce el nombre del campo específico del IdP que quieras asignar, en formato CEL.
      3. Para crear una condición de atributo, siga estos pasos:

        1. Haz clic en Añadir condición.
        2. En Condiciones de atributo, introduce una condición en formato CEL; por ejemplo, assertion.role == 'gcp-users'. Esta condición de ejemplo asegura que solo los usuarios con el rol gcp-users puedan iniciar sesión con este proveedor.

      4. Para activar el registro de auditoría detallado, en Registro detallado, haz clic en el interruptor Habilitar registro detallado de valores de atributos.

        La federación de identidades de Workforce registra información de auditoría detallada recibida de tu proveedor de identidades en Logging. Los registros de auditoría detallados pueden ayudarte a solucionar problemas con la configuración de tu proveedor de identidades de la plantilla. Para saber cómo solucionar problemas de asignación de atributos con registros de auditoría detallados, consulta Errores generales de asignación de atributos. Para obtener información sobre los precios de Logging, consulta la página de precios de Google Cloud Observability.

        Para inhabilitar el registro de auditoría detallado de un proveedor de grupos de identidades de fuerza de trabajo, omite la marca --detailed-audit-logging al ejecutar gcloud iam workforce-pools providers create. Para inhabilitar el registro de auditoría detallado, también puedes actualizar el proveedor.

    8. Para crear el proveedor, haz clic en Enviar.

Crear un proveedor de grupos de identidades de empleados SAML

  1. En tu proveedor de identidades SAML, registra una nueva aplicación para la federación de identidades de Workforce. Trusted Cloud

  2. Define la audiencia de las aserciones SAML. Suele ser el campo SP Entity ID en la configuración de tu proveedor de identidades. Debe definirla en la siguiente URL:

    https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    
  3. Define la URL de redirección, también conocida como URL del servicio de consumidor de aserciones (ACS). Para definir la URL de redirección, busque el campo correspondiente en su proveedor de identidades SAML y haga una de las siguientes acciones:

    • Para configurar el inicio de sesión basado en navegador a través de la consola Trusted Cloud u otro método de inicio de sesión basado en navegador, introduce la siguiente URL:

      https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
      

      Haz los cambios siguientes:

      • WORKFORCE_POOL_ID: el ID del grupo de identidades de Workforce

      • WORKFORCE_PROVIDER_ID: el ID del proveedor de grupos de identidades de Workforce que crearás más adelante en este documento.

    • Para configurar el inicio de sesión programático a través de tu proveedor de identidades, introduce la siguiente URL:

      localhost
      

    Consulta más información sobre cómo configurar el inicio de sesión en la consola en el artículo Configurar el acceso de los usuarios a la consola.

  4. En Trusted Cloud, crea un proveedor de grupos de identidades de Workforce SAML con el documento de metadatos SAML de tu IdP. Puedes descargar el documento XML de metadatos de SAML de tu proveedor de identidades. El documento debe incluir al menos lo siguiente:

    • Un ID de entidad SAML de tu proveedor de identidades.
    • La URL de inicio de sesión único de tu proveedor de identidades.
    • Al menos una clave pública de firma. Para obtener más información sobre las claves de firma, consulta los requisitos de las claves más adelante en esta guía.

gcloud

Para configurar el proveedor de SAML mediante la CLI de gcloud, haz lo siguiente:

  gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
      --workforce-pool=WORKFORCE_POOL_ID \
      --display-name="DISPLAY_NAME" \
      --description="DESCRIPTION" \
      --idp-metadata-path=METADATA_FILE_PATH \
      --attribute-mapping="ATTRIBUTE_MAPPING" \
      --attribute-condition="ATTRIBUTE_CONDITION" \
      --location=global

Haz los cambios siguientes:

  • WORKFORCE_PROVIDER_ID: ID del proveedor del grupo de identidades de Workforce.
  • WORKFORCE_POOL_ID: el ID del grupo de identidades de Workforce.
  • DISPLAY_NAME Nombre visible del proveedor (por ejemplo, idp-eu-employees).
  • DESCRIPTION: descripción del proveedor del grupo de identidades de Workforce. Por ejemplo, IdP for Partner Example Organization EU employees.
  • METADATA_FILE_PATH: ruta del archivo de metadatos SAML.
  • ATTRIBUTE_MAPPING: la asignación de atributos; por ejemplo:

    google.subject=assertion.subject,
    google.groups=assertion.attributes['https://example.com/aliases'],
    attribute.costcenter=assertion.attributes.costcenter[0]
    En este ejemplo, se asignan los atributos del proveedor de identidades assertion.subject, assertion.attributes['https://example.com/aliases'] y assertion.attributes.costcenter[0] a los atributos Trusted Cloudgoogle.subject, google.groups y google.costcenter, respectivamente.

  • ATTRIBUTE_CONDITION: una condición de atributo. Por ejemplo, para limitar el atributo ipaddr a un intervalo de IPs determinado, puedes definir la condición assertion.attributes.ipaddr.startsWith('98.11.12.'). Esta condición de ejemplo asegura que solo los usuarios con una dirección IP que empiece por 98.11.12. puedan iniciar sesión con este proveedor de la plantilla.

El proveedor puede tardar unos minutos en empezar a aceptar solicitudes.

En la federación SAML, puedes usar las siguientes palabras clave en las asignaciones de atributos y las condiciones:

  • assertion.subject: una cadena igual al atributo NameID de la aserción SAML.
  • assertion.attributes.NAME: una lista de cadenas igual a los valores de los atributos con el mismo nombre en la aserción SAML.

Opcional: Aceptar aserciones SAML cifradas de tu proveedor de identidades

Para habilitar tu proveedor de identidades SAML 2.0 para que genere aserciones SAML cifradas que pueda aceptar la federación de identidades de trabajo, haz lo siguiente:

  • En la federación de identidades para los trabajadores, haz lo siguiente:
    • Crea un par de claves asimétricas para tu proveedor de grupos de identidades de Workforce.
    • Descarga un archivo de certificado que contenga la clave pública.
    • Configura tu proveedor de identidades SAML para que use la clave pública para cifrar las aserciones SAML que emita.
  • En tu proveedor de identidades, haz lo siguiente:
    • Habilita el cifrado de aserciones, también conocido como cifrado de tokens.
    • Sube la clave pública que has creado en la federación de identidades para los trabajadores.
    • Confirma que tu IdP genera aserciones SAML cifradas.
Ten en cuenta que, aunque se hayan configurado claves de proveedor de cifrado SAML, la federación de identidades de Workforce puede seguir procesando una aserción de texto sin cifrar.

Crear claves de cifrado de aserciones SAML de federación de identidades para los trabajadores

En esta sección se explica cómo crear un par de claves asimétricas que permita a la federación de identidades de empleados aceptar aserciones SAML cifradas.

Trusted Cloud by S3NS usa la clave privada para descifrar las aserciones SAML que emite tu proveedor de identidades. Para crear un par de claves asimétricas que se pueda usar con el cifrado SAML, ejecuta el siguiente comando. Para obtener más información, consulta Algoritmos de cifrado SAML admitidos.

gcloud iam workforce-pools providers keys create KEY_ID \
    --workforce-pool WORKFORCE_POOL_ID \
    --provider WORKFORCE_PROVIDER_ID \
    --location global \
    --use encryption \
    --spec KEY_SPECIFICATION

Haz los cambios siguientes:

  • KEY_ID: el nombre de la clave que elijas
  • WORKFORCE_POOL_ID: el ID del grupo
  • WORKFORCE_PROVIDER_ID: el ID del proveedor de grupos de identidades de Workforce
  • KEY_SPECIFICATION: la especificación de la clave, que puede ser rsa-2048, rsa-3072 o rsa-4096.

Una vez creado el par de claves, ejecuta el siguiente comando para descargar la clave pública en un archivo de certificado. Solo la federación de identidades para los trabajadores tiene acceso a la clave privada.

gcloud iam workforce-pools providers keys describe KEY_ID \
    --workforce-pool WORKFORCE_POOL_ID \
    --provider WORKFORCE_PROVIDER_ID \
    --location global \
    --format "value(keyData.key)" \
    > CERTIFICATE_PATH

Haz los cambios siguientes:

  • KEY_ID: el nombre de la clave
  • WORKFORCE_POOL_ID: el ID del grupo
  • WORKFORCE_PROVIDER_ID: el ID del proveedor de grupos de identidades de Workforce
  • CERTIFICATE_PATH: la ruta en la que se escribirá el certificado (por ejemplo, saml-certificate.cer o saml-certificate.pem).

Configurar un IdP compatible con SAML 2.0 para que emita aserciones SAML cifradas

Configura tu proveedor de identidades SAML para que use el certificado público descargado en el último paso para cifrar las aserciones de SAML que emita. Ponte en contacto con el equipo de tu IdP para obtener instrucciones específicas.

Una vez que haya configurado su proveedor de identidades para cifrar las aserciones SAML, le recomendamos que compruebe que las aserciones que genera estén cifradas. Aunque se haya configurado el cifrado de aserciones SAML, la federación de identidades de los trabajadores puede seguir procesando aserciones de texto sin cifrar.

Eliminar claves de cifrado de federación de identidades de los trabajadores

Para eliminar las claves de cifrado SAML, ejecuta el siguiente comando:
  gcloud iam workforce-pools providers keys delete KEY_ID \
      --workforce-pool WORKFORCE_POOL_ID \
      --provider WORKFORCE_PROVIDER_ID \
      --location global

Haz los cambios siguientes:

  • KEY_ID: el nombre de la clave
  • WORKFORCE_POOL_ID: el ID del grupo
  • WORKFORCE_PROVIDER_ID: el ID del proveedor de grupos de identidades de Workforce

Algoritmos de cifrado SAML admitidos

La federación de identidades de Workforce admite los siguientes algoritmos de transporte clave:

La federación de identidades de Workforce admite los siguientes algoritmos de cifrado por bloques:

Requisitos de la clave de firma X.509 de SAML

Las siguientes especificaciones de claves se aplican a las claves de firma X.509 de SAML:

  • Una clave pública RSA encapsulada en un certificado X.509 v3.

  • Requisitos de validez de los certificados:

    • notBefore: una marca de tiempo que no sea posterior a 7 días
    • notAfter: una marca de tiempo que no sea posterior a 25 años
  • Algoritmos recomendados:

Un proveedor de grupos de identidades de empleados se puede configurar con un máximo de tres claves de firma en un momento dado. Si hay varias claves, Trusted Cloud las recorre e intenta usar cada clave no caducada para completar una solicitud de intercambio de tokens.

Como medida de seguridad recomendada, te aconsejamos que no reutilices el mismo par de claves con otros servicios.

Gestión de claves

Para actualizar las claves de firma de tu IdP, sigue estos pasos:

  1. Crea un nuevo par de claves asimétricas y configura el proveedor de identidades SAML con el par de claves. Primero lo marcas como inactivo y, después, lo activas.

  2. Descarga un documento XML de metadatos SAML de tu proveedor de identidades.

  3. Actualiza el recurso del proveedor de grupos de identidades de Workforce mediante el documento de metadatos de SAML. Cuando hay varias claves, Trusted Cloud itera por cada clave no caducada e intenta usarla para completar una solicitud de intercambio de tokens.

    Para actualizar el proveedor de grupos de identidades de Workforce con los metadatos de SAML, ejecuta el siguiente comando.

    gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \
        --workforce-pool=WORKFORCE_POOL_ID \
        --idp-metadata-path=SAML_METADATA_FILE_PATH \
        --location=global
    

    Haz los cambios siguientes:

    • WORKFORCE_PROVIDER_ID: el ID del proveedor del grupo de identidades de Workforce
    • WORKFORCE_POOL_ID: el ID del grupo de identidades de Workforce
    • SAML_METADATA_FILE_PATH: la ruta al archivo de metadatos SAML
  4. Espera a que se complete la operación devuelta en el paso anterior (la operación se marca como completada) y, a continuación, activa la nueva clave de firma en tu proveedor de identidades SAML. La clave de firma antigua se marca como inactiva. Las aserciones emitidas por tu proveedor de identidades se firman con la nueva clave.

Los pasos que se indican a continuación son opcionales, pero te recomendamos que los sigas para aplicar las prácticas recomendadas:

  1. Elimina la clave de firma antigua, ahora inactiva, de tu proveedor de identidades.
  2. Descarga el documento XML de metadatos SAML de tu proveedor de identidades.
  3. Actualiza el recurso del proveedor del grupo de identidades de Workforce mediante el documento de metadatos de SAML. Trusted Cloud Rechaza las aserciones firmadas con la clave de firma caducada. Para actualizar el documento, ejecuta el siguiente comando:

    gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \
        --workforce-pool=WORKFORCE_POOL_ID \
        --idp-metadata-path=SAML_METADATA_FILE_PATH \
        --location=global
    

    Haz los cambios siguientes:

    • WORKFORCE_PROVIDER_ID: el ID del proveedor del grupo de identidades de Workforce
    • WORKFORCE_POOL_ID: el ID del grupo de identidades de Workforce
    • SAML_METADATA_FILE_PATH: la ruta de los metadatos de SAML

Restricción de eliminación de claves

Trusted Cloud rechaza las aserciones firmadas con una clave eliminada.

Consola

Para configurar el proveedor de SAML mediante la consola Trusted Cloud , haz lo siguiente:

  1. En la Trusted Cloud consola, ve a la página Grupos de identidades de la fuerza de trabajo:

    Ir a Grupos de identidades de Workforce

  2. En la tabla Grupos de identidades de Workforce, seleccione el grupo en el que quiera crear el proveedor.

  3. En la tabla Proveedores, haga clic en Añadir proveedor.

  4. En Select a protocol (Seleccionar un protocolo), selecciona SAML.

  5. En Crear un proveedor de grupos, haz lo siguiente:

    1. En Name (Nombre), escribe el nombre del proveedor.

    2. Opcional: En Descripción, escribe una descripción del proveedor.

    3. En Archivo de metadatos del IdP (XML), selecciona el archivo XML de metadatos que has generado anteriormente en esta guía.

    4. Comprueba que la opción Proveedor habilitado esté habilitada.

    5. Haz clic en Continuar.

  6. En Configurar proveedor, haz lo siguiente:

    1. En Asignación de atributos, introduce una expresión CEL para google.subject.

    2. Opcional: Para introducir otras asignaciones, haz clic en Añadir asignación e introduce otras asignaciones. Por ejemplo:

      google.subject=assertion.subject,
      google.groups=assertion.attributes['https://example.com/aliases'],
      attribute.costcenter=assertion.attributes.costcenter[0]
      En este ejemplo, se asignan los atributos del proveedor de identidades assertion.subject, assertion.attributes['https://example.com/aliases'] y assertion.attributes.costcenter[0] a los atributos Trusted Cloudgoogle.subject, google.groups y google.costcenter, respectivamente.

    3. Opcional: Para añadir una condición de atributo, haga clic en Añadir condición e introduzca una expresión CEL que represente una condición de atributo. Por ejemplo, para limitar el atributo ipaddr a un intervalo de IPs determinado, puedes definir la condición assertion.attributes.ipaddr.startsWith('98.11.12.'). Esta condición de ejemplo asegura que solo los usuarios con una dirección IP que empiece por 98.11.12. puedan iniciar sesión con este proveedor de la plantilla.

    4. Haz clic en Continuar.

    5. Para activar el registro de auditoría detallado, en Registro detallado, haz clic en el interruptor Habilitar registro detallado de valores de atributos.

      La federación de identidades de Workforce registra información de auditoría detallada recibida de tu proveedor de identidades en Logging. Los registros de auditoría detallados pueden ayudarte a solucionar problemas con la configuración de tu proveedor de identidades de la plantilla. Para saber cómo solucionar problemas de asignación de atributos con registros de auditoría detallados, consulta Errores generales de asignación de atributos. Para obtener información sobre los precios de Logging, consulta la página de precios de Google Cloud Observability.

      Para inhabilitar el registro de auditoría detallado de un proveedor de grupos de identidades de fuerza de trabajo, omite la marca --detailed-audit-logging al ejecutar gcloud iam workforce-pools providers create. Para inhabilitar el registro de auditoría detallado, también puedes actualizar el proveedor.

  7. Para crear el proveedor, haz clic en Enviar.

Representar usuarios de grupos de Workforce en políticas de gestión de identidades y accesos

En la siguiente tabla se muestran los identificadores de entidad principal que se usan para conceder roles a un solo usuario, a un grupo de usuarios, a usuarios que tienen una reclamación concreta o a todos los usuarios de un grupo de trabajo.

Identidades Formato del identificador
Una sola identidad en un grupo de identidades de Workforce principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
Todas las identidades de los trabajadores de un grupo principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/GROUP_ID
Todas las identidades de la plantilla que tengan un valor de atributo específico principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
Todas las identidades de un grupo de identidades de Workforce principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/*

Para ver una lista completa de los identificadores de principales, consulta Identificadores de principales.

Asignar roles de gestión de identidades y accesos a principales

Puedes conceder roles a principales, como identidades individuales, grupos de identidades o un pool completo.

Para asignar un rol en un proyecto a una entidad, ejecuta el siguiente comando:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --role="ROLE" \
    --member="PRINCIPAL"

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto
  • ROLE: el rol que se va a definir
  • PRINCIPAL: la entidad de seguridad. Consulta Identificadores de la entidad de seguridad para obtener información sobre Workforce Identity Federation.

En el ejemplo siguiente, el comando concede el rol Administrador de almacenamiento (roles/storage.admin) a todas las identidades del grupo GROUP_ID:

gcloud projects add-iam-policy-binding my-project \
    --role="roles/storage.admin" \
    --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"

Para obtener más información sobre el formato principal, consulta Identificadores principales de la federación de identidades de Workforce.

Eliminar usuarios

Workforce Identity Federation crea metadatos y recursos de usuario para las identidades de usuario federadas. Si decides eliminar usuarios en tu proveedor de identidades, también debes eliminar explícitamente estos recursos en Trusted Cloud. Para ello, consulte Eliminar usuarios de la federación de identidades de la plantilla y sus datos.

Es posible que veas que los recursos siguen asociados a un usuario que se ha eliminado. Esto se debe a que la eliminación de los metadatos y los recursos de los usuarios requiere una operación de larga duración. Después de iniciar la eliminación de la identidad de un usuario, los procesos que haya iniciado antes de la eliminación pueden seguir ejecutándose hasta que se completen o se cancelen.

Siguientes pasos