Configura la federación de identidades de personal con Okta y permite el acceso de usuarios

En esta guía, se muestra cómo configurar la federación de identidades de personal con Okta como proveedor de identidad (IdP), administrar el acceso y permitir que los usuarios accedan a los servicios deGoogle Cloud que admiten la federación de identidades de personal.

Antes de comenzar

  1. Asegúrate de tener configurada una organización de Google Cloud .
  2. Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:

    gcloud init

    Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

  3. Para el acceso, tu IdP debe proporcionar información de autenticación firmada: los IdP de OIDC deben proporcionar un JWT y las respuestas del IdP de SAML deben estar firmadas.
  4. Para recibir información importante sobre los cambios en tu organización o en los productos deGoogle Cloud , debes proporcionar Essential Contacts. Para obtener más información, consulta la descripción general de la federación de identidades de personal.

Costos

La federación de identidades de personal está disponible como una función sin costo. Sin embargo, el registro de auditoría detallado de la federación de identidades de la fuerza laboral 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 personal, pídele a tu administrador que te otorgue el rol de IAM Administrador de grupos de trabajadores de IAM (roles/iam.workforcePoolAdmin) en la organización. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Como alternativa, el rol básico Owner (roles/owner) de IAM también incluye permisos para configurar la federación de identidades de personal. No deberías otorgar funciones básicas en un entorno de producción, pero puedes otorgarlas en un entorno de desarrollo o de prueba.

Crea un grupo de Workforce Identity

gcloud

Para crear el grupo de identidades de personal, 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

Reemplaza lo siguiente:

  • WORKFORCE_POOL_ID: Es un ID que elijas para representar tu Google Cloud grupo de personal. El ID del grupo debe ser único a nivel global en todos los grupos de identidad de personal de Google Cloud. Para obtener información sobre el formato del ID, consulta la sección Parámetros de consulta en la documentación de la API.
  • ORGANIZATION_ID: Es el ID numérico de tu organización Google Cloud para el grupo de identidades de personal. Los grupos de identidades del personal están disponibles en todos los proyectos y carpetas de la organización.
  • DISPLAY_NAME: Opcional Un nombre visible para tu grupo de identidad del personal.
  • DESCRIPTION: Opcional Una descripción del grupo de identidad del personal.
  • SESSION_DURATION: Opcional Duración de la sesión, expresada como un número al que se agrega s, por ejemplo, 3600s. La duración de la sesión determina el tiempo de acceso a los tokens de acceso de Google Cloud , las sesiones de acceso de la consola (federada) y las sesiones de acceso de la gcloud CLI de este grupo de personal son válidas. La duración predeterminada de la sesión es de una hora (3,600 s). El valor de duración de la sesión debe estar entre 15 minutos (900 s) y 12 horas (43,200 s).

Console

Para crear el grupo de identidades de personal, haz lo siguiente:

  1. En la consola de Google Cloud , ve a la página Grupos de identidades de personal:

    Ir a Grupos de identidades de personal

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

  3. Haz clic en Crear grupo y haz lo siguiente:

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

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

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

La duración de la sesión del grupo de identidades del personal se establece de forma predeterminada en una hora (3,600 s). La duración de la sesión determina el tiempo de validez de los tokens de acceso Google Cloud , la consola (federada) y las sesiones de acceso a gcloud CLI de este grupo de personal. Después de crear el grupo, puedes actualizar el grupo para establecer una duración de la sesión personalizada. La duración de la sesión debe ser de 15 minutos (900 s) a 12 horas (43,200 s).

Crea una integración de app de Okta

En esta sección, se proporcionan los pasos para crear una integración de una app de Okta con la Consola del administrador de Okta. Para obtener más detalles, consulta Cómo crear integraciones de apps personalizadas.

Los grupos de identidades de personal admiten la federación mediante el uso de protocolos OIDC y SAML.

Para obtener más detalles, consulta la documentación de integración de OIDC y SAML. La configuración básica se describe en esta sección.

OIDC con el catálogo de apps

Para crear una integración de app de Okta desde el catálogo de apps con el protocolo OIDC, sigue estos pasos:

  1. Accede a la Consola del administrador de Okta.
  2. Ve a Aplicaciones > Aplicaciones.
  3. Haz clic en Browse App Catalog.
  4. En el campo Buscar, ingresa Integración de la federación de identidades de personal de Google Cloud y, luego, selecciona Integración de la federación de identidades de personal de Google Cloud en los resultados.
  5. Haz clic en Agregar integración.
  6. En el campo Etiqueta de la aplicación, ingresa un nombre para tu app.
  7. En el campo Grupo de personal, ingresa el nombre del grupo de personal que obtuviste de gcloud CLI.
  8. En el campo Proveedor, ingresa un nombre para el proveedor.

  9. Haz clic en Siguiente.

  10. Selecciona la opción OpenID Connect.

  11. Haz clic en Listo.

OIDC

Para crear una integración de app de Okta que use el protocolo OIDC, sigue estos pasos:

  1. Accede a la Consola del administrador de Okta.
  2. Ve a Aplicaciones > Aplicaciones.
  3. Para comenzar a configurar la integración de app, haz lo siguiente:

    1. Haz clic en Crear integración de aplicaciones.
    2. En Método de acceso, selecciona OIDC - OpenID Connect.
    3. En Tipo de aplicación, selecciona un tipo de aplicación, por ejemplo, Aplicación web.
    4. Para crear la app, haz clic en Siguiente.
    5. En Nombre de la integración de la app, ingresa un nombre para tu app.
    6. En la sección Tipo de otorgamiento, selecciona la casilla de verificación Implícito (híbrido).
    7. En la sección URI de redireccionamiento de acceso, en el campo de texto, ingresa una URL de redireccionamiento. Se redirecciona a tus usuarios a esta URL después de que acceden de forma correcta. Si configuras el acceso a la consola (federada), usa el siguiente formato de URL:

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

      Reemplaza lo siguiente:

      • WORKFORCE_POOL_ID: el ID del grupo de personal que creaste antes en esta guía.
      • WORKFORCE_PROVIDER_ID: un ID de proveedor de Workforce Identity que elijas; por ejemplo: okta-oidc-provider Para obtener información sobre el formato del ID, consulta la sección Parámetros de consulta en la documentación de la API.
    8. Selecciona la casilla de verificación Omitir la asignación del grupo por ahora.

    9. Para guardar la integración de app, haz clic en Guardar.

  4. Asigna una integración de app a un usuario.

  5. Opcional: Para agregar atributos personalizados a un perfil de usuario de Okta, haz lo siguiente:

    1. En Tipo de datos, selecciona string.
    2. En Nombre visible, ingresa Department.
    3. En Nombre de la variable, ingresa department.
    4. Para guardar la asignación, haz clic en Guardar.

    Para obtener más información sobre cómo agregar atributos personalizados, consulta Cómo agregar atributos personalizados a un perfil de usuario de Okta.

  6. Opcional: Si deseas crear asignaciones para los atributos que se envían en el token de OIDC, en Directorio, haz clic en Editor de perfiles y haz lo siguiente:

    1. Busca la aplicación OIDC que creaste antes en esta guía.
    2. Haz clic en Asignaciones.
    3. Selecciona la pestaña Usuario de Okta a la app.
    4. En la pestaña Perfil de usuario de Okta, en un cuadro combinado disponible, ingresa department. Okta se completa automáticamente en user.department.
    5. Para guardar las asignaciones, haz clic en Guardar asignaciones. Para obtener más detalles, consulta Agrega asignación de atributos.

    Para obtener más información sobre las asignaciones, consulta Cómo asignar atributos de Okta a los atributos de la app en el Editor de perfiles.

  7. Para configurar una reclamación de grupo, haz lo siguiente (opcional):

    1. Si usas un servidor de autorización de la organización, haz lo siguiente:

      1. Go to Aplicaciones > Aplicaciones
      2. Selecciona la aplicación cliente de OpenID Connect que creaste antes en esta sección.
      3. Ve a la pestaña Acceder.
      4. En la sección Token de ID de OpenID Connect, haz clic en Editar.
      5. En la sección Tipo de reclamación de grupos, puedes seleccionar cualquiera de las siguientes opciones:
        • Selecciona Expresión.
        • Selecciona Coincide con la regex y, luego, ingresa .*.
      6. Para guardar la reclamación de los grupos, haz clic en Guardar.
      7. Si quieres que los usuarios accedan con la consola (federada) o el flujo de acceso basado en el navegador de la gcloud CLI, haz lo siguiente cuando crees tu proveedor de grupo de identidades para la fuerza laboral, más adelante en este documento:

        1. Asegúrate de usar las instrucciones de la gcloud CLI para poder usar la marca --web-sso-additional-scopes.

        2. Cuando crees el proveedor de grupos de identidades de personal, pasa groups como un alcance adicional en --web-sso-additional-scopes. Si lo haces, se solicitará la reclamación de grupos de Okta durante el acceso.

    2. Si usas un servidor de autorización personalizado, haz lo siguiente:

      1. En la Consola del administrador, en el menú Seguridad, selecciona API.
      2. Selecciona el servidor de autorización personalizado que deseas configurar.
      3. Ve a la pestaña Reclamos y haz clic en Agregar reclamo.
      4. Ingresa un nombre para la reclamación. Para este ejemplo, asígnale el nombre groups.
      5. En tu reclamación, en Incluir en tipo de token, selecciona Token de ID y, luego, Siempre.
      6. Selecciona Grupos como Tipo de valor.
      7. En el cuadro desplegable Filtro, selecciona Coincide con la regex y, luego, ingresa la siguiente expresión como el valor: .*.
      8. Haz clic en Crear.

Para obtener más detalles sobre las reclamaciones de grupos, consulta Agrega una reclamación de grupos.

SAML

Para crear una integración de app de Okta que use el protocolo SAML, sigue estos pasos:

  1. Accede a la Consola del administrador de Okta.
  2. Ve a Aplicaciones > Aplicaciones.
  3. Haz clic en Browse App Catalog.
  4. En el campo Buscar, ingresa Integración de la federación de identidades de personal de Google Cloud y, luego, selecciona Integración de la federación de identidades de personal de Google Cloud en los resultados.
  5. Haz clic en Agregar integración.
  6. En el campo Etiqueta de la aplicación, ingresa un nombre para tu app.
  7. En el campo Grupo de personal, ingresa el nombre del grupo de personal que obtuviste de gcloud CLI.
  8. En el campo Proveedor, ingresa un nombre para el proveedor.

  9. Haz clic en Siguiente.

  10. Opcional: Para acceder a la aplicación a través de un flujo de acceso iniciado por IdP con Vínculo integrado, ingresa https://console.cloud.google/ en Estado de retransmisión predeterminado.

  11. Opcional: Para enviar el atributo personalizado department en la aserción de SAML, expande la sección Atributos (opcional) y haz lo siguiente:

    • En el campo Nombre, ingresa department.
    • En la lista Formato de nombre, selecciona Sin especificar.
    • En la lista Value, selecciona user.department. Después de la configuración, estos atributos se pueden usar en Google Cloud para crear políticas de administración de acceso o en attribute_condition.
  12. Opcional: Para enviar las membresías de grupos de usuarios en la aserción de SAML, expande la sección Declaraciones de atributos de grupo (opcional) y haz lo siguiente:

    • En el campo Nombre, ingresa groups.
    • En la lista Formato de nombre, selecciona Sin especificar.
    • En la lista Filtro, selecciona Coincide con la regex y, luego, ingresa .* para incluir todos los grupos, o bien selecciona Comienza con y, luego, ingresa un prefijo.
  13. Descarga el contenido de la URL de metadatos que se muestra en un archivo local. Lo subirás a la consola de Google Cloud .

  14. Haz clic en Listo para terminar de crear la aplicación.

  15. Asigna una integración de app a un usuario.

Crea un proveedor de grupos de Workforce Identity

En esta sección, se describe cómo crear un proveedor de grupos de identidades de personal para permitir que los usuarios de tu IdP accedan a Google Cloud. Puedes configurar el proveedor para que use el protocolo OIDC o SAML.

Crea un proveedor de grupos de Workforce Identity de OIDC

Para crear un proveedor de grupos de Workforce Identity para tu integración de apps de Okta, mediante el protocolo OIDC, haz lo siguiente:

  1. Para obtener el ID de cliente para la integración de tu app de Okta, haz lo siguiente:

    1. Ve a tu integración de app de Okta.
    2. Haz clic en la pestaña General.
    3. Copia el contenido del campo ID de cliente.
  2. Para crear un proveedor de grupos de Workforce Identity de OIDC para el acceso basado en la Web, haz lo siguiente:

    gcloud

    Flujo de código

    En Okta, haz lo siguiente:

    1. En Autenticación del cliente, selecciona Secreto del cliente.

    2. En la tabla Secretos del cliente, busca el secreto y haz clic en Copiar.

    En Google Cloud, para crear un proveedor de OIDC que use el flujo de código de autorización para el acceso 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

    Reemplaza lo siguiente:

    • WORKFORCE_PROVIDER_ID: Es un ID único del proveedor de grupos de identidades de personal. El prefijo gcp- está reservado y no se puede usar en un ID de grupo de identidades del personal ni de proveedor de grupo de identidades del personal.
    • WORKFORCE_POOL_ID: El ID del grupo de identidades de personal al que se conecta tu IdP.
    • DISPLAY_NAME: un nombre visible opcional, fácil de usar para el proveedor, por ejemplo, idp-eu-employees.
    • DESCRIPTION: una descripción opcional del proveedor de personal, por ejemplo, IdP for Partner Example Organization employees.
    • ISSUER_URI: El URI de la entidad emisora de OIDC, en un formato de URI válido, que comienza con 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 que está registrado con el IdP de OIDC. El ID debe coincidir con la reclamación aud del JWT que emite el IdP.
    • OIDC_CLIENT_SECRET: El secreto del cliente de OIDC.
    • WEB_SSO_ADDITIONAL_SCOPES: Permisos adicionales opcionales así enviarle al IdP de OIDC para la consola (federada) o el acceso basado en el navegador de la gcloud CLI; por ejemplo, groups para solicitar la reclamación de grupos a Okta si se usa el servidor de autorización de la organización de Okta.
    • ATTRIBUTE_MAPPING: Una asignación de atributos. A continuación, se muestra un ejemplo de una asignación de atributos:
      google.subject=assertion.oid
      google.groups=assertion.groups,
      attribute.costcenter=assertion.costcenter
      En este ejemplo, se asignan los atributos de IdP assertion.oid, assertion.groups y assertion.costcenter en la aserción de OIDC a los atributos Google Cloud , google.subject, google.groups y attribute.costcenter, respectivamente.
    • ATTRIBUTE_CONDITION: Una condición de atributo, por ejemplo, assertion.subject.endsWith('@example.com') cuando el valor de subject asignado antes contiene una dirección de correo electrónico que termina con @example.com.
    • JWK_JSON_PATH: Una ruta de acceso opcional a un JWK de OIDC subido de forma local. Si no se proporciona este parámetro, Google Cloud usa la ruta de acceso /.well-known/openid-configuration de tu IdP para obtener los JWK que contienen las claves públicas. Encuentra más información sobre los JWK de OIDC subidos de forma local en Administra los JWK de OIDC.
    • El registro de auditoría detallado de la federación de identidades de personal registra la información que recibe de tu IdP en Logging. El registro de auditoría detallado puede ayudarte a solucionar problemas relacionados con la configuración del proveedor de grupo de identidades de personal. Para obtener información sobre cómo solucionar problemas de errores 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 los precios de Google Cloud Observability.

      Para inhabilitar el registro de auditoría detallado de un proveedor de grupos de identidades de personal, omite la marca --detailed-audit-logging cuando ejecutes 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 el acceso 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
    

    Reemplaza lo siguiente:

    • WORKFORCE_PROVIDER_ID: Es un ID único del proveedor de grupos de identidades de personal. El prefijo gcp- está reservado y no se puede usar en un ID de grupo de identidades del personal ni de proveedor de grupo de identidades del personal.
    • WORKFORCE_POOL_ID: El ID del grupo de identidades de personal al que se conecta tu IdP.
    • DISPLAY_NAME: un nombre visible opcional, fácil de usar para el proveedor, por ejemplo, idp-eu-employees.
    • DESCRIPTION: una descripción opcional del proveedor de personal, por ejemplo, IdP for Partner Example Organization employees.
    • ISSUER_URI: El URI de la entidad emisora de OIDC, en un formato de URI válido, que comienza con 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 que está registrado con el IdP de OIDC. El ID debe coincidir con la reclamación aud del JWT que emite el IdP.
    • WEB_SSO_ADDITIONAL_SCOPES: Permisos adicionales opcionales así enviarle al IdP de OIDC para la consola (federada) o el acceso basado en el navegador de la gcloud CLI; por ejemplo, groups para solicitar la reclamación de grupos a Okta si se usa el servidor de autorización de la organización de Okta.
    • ATTRIBUTE_MAPPING: Una asignación de atributos. A continuación, se muestra un ejemplo de una asignación de atributos:
      google.subject=assertion.oid
      google.groups=assertion.groups,
      attribute.costcenter=assertion.costcenter
      En este ejemplo, se asignan los atributos de IdP assertion.oid, assertion.groups y assertion.costcenter en la aserción de OIDC a los atributos Google Cloud , google.subject, google.groups y attribute.costcenter, respectivamente.
    • ATTRIBUTE_CONDITION: Una condición de atributo, por ejemplo, assertion.subject.endsWith('@example.com') cuando el valor de subject asignado antes contiene una dirección de correo electrónico que termina con @example.com.
    • JWK_JSON_PATH: Una ruta de acceso opcional a un JWK de OIDC subido de forma local. Si no se proporciona este parámetro, Google Cloud usa la ruta de acceso /.well-known/openid-configuration de tu IdP para obtener los JWK que contienen las claves públicas. Encuentra más información sobre los JWK de OIDC subidos de forma local en Administra los JWK de OIDC.
    • El registro de auditoría detallado de la federación de identidades de personal registra la información que recibe de tu IdP en Logging. El registro de auditoría detallado puede ayudarte a solucionar problemas relacionados con la configuración del proveedor de grupo de identidades de personal. Para obtener información sobre cómo solucionar problemas de errores 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 los precios de Google Cloud Observability.

      Para inhabilitar el registro de auditoría detallado de un proveedor de grupos de identidades de personal, omite la marca --detailed-audit-logging cuando ejecutes 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.

    Console

    Flujo de código

    Para crear un proveedor de OIDC que use el flujo de código de autorización para el acceso web, haz lo siguiente:

    1. Para obtener el secreto del cliente de Okta, haz lo siguiente:

      1. En Autenticación del cliente, selecciona Secreto del cliente.

      2. En la tabla Secretos del cliente, busca el secreto y haz clic en Copiar.

    1. En la consola de Google Cloud , ve a la página Grupos de identidades de personal:

      Ir a Grupos de identidades de personal

    2. En la tabla Workforce Identity Pools, selecciona el grupo para el que deseas crear el proveedor.
    3. En la sección Proveedores, haz clic en Agregar proveedor.
    4. En la lista Selecciona un proveedor de IdP, elige tu IdP.

      Si tu IdP no aparece en la lista, selecciona Generic Identity Provider.

    5. En Selecciona un protocolo de autenticación, selecciona OpenID Connect (OIDC).
    6. En la sección Crear un proveedor, haz lo siguiente:
      1. En Nombre, ingresa el nombre del proveedor.
      2. En Descripción, ingresa la descripción del proveedor.
      3. En Emisor (URL), ingresa el URI de la entidad emisora. El URI de la entidad emisora de OIDC debe tener un formato de URI válido y comenzar con https; por ejemplo, https://example.com/oidc.
      4. En ID de cliente, ingresa el ID de cliente de OIDC que está registrado con tu IdP de OIDC. El ID debe coincidir con la reclamación aud del JWT que emite tu IdP.
      5. Para crear un proveedor habilitado, asegúrate de que la opción Habilitar proveedor esté activada.
      6. Haz clic en Continuar.
    7. En la sección Comparte la información de tu proveedor con el IdP, copia la URL. En tu IdP, configura esta URL como el URI de redireccionamiento, que le informa a tu IdP dónde enviar el token de aserción después de acceder.
    8. Haz clic en Continuar.
    9. En la sección Configurar el acceso a la Web con OIDC, haz lo siguiente:
      1. En la lista Tipo de flujo, selecciona Código.
      2. En la lista Comportamiento de los reclamos de aserciones, selecciona una de las siguientes opciones:
        • Información del usuario y token de ID
        • Solo token de ID
      3. En el campo Secreto del cliente, ingresa el secreto del cliente de tu IdP.
      4. Opcional: Si seleccionaste Okta como tu IdP, agrega los permisos de OIDC adicionales en el campo Permisos adicionales más allá de openid, profile e email.
    10. Haz clic en Continuar.
    11. En la sección Configurar proveedor, en Registro detallado, haz clic en el botón de activación Habilitar el registro de auditoría del valor de atributos.

      El registro de auditoría detallado de la federación de identidades de personal registra la información que recibe de tu IdP en Logging. El registro de auditoría detallado puede ayudarte a solucionar problemas relacionados con la configuración del proveedor de grupo de identidades de personal. Para obtener información sobre cómo solucionar problemas de errores 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 los precios de Google Cloud Observability.

      Para inhabilitar el registro de auditoría detallado de un proveedor de grupo de identidades de personal, deja desactivado el botón de activación Habilitar el registro de auditoría del valor de atributos cuando crees el proveedor. Para inhabilitar el registro de auditoría detallado, también puedes actualizar el proveedor.

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

    Después de crear el proveedor, se te redireccionará a la página de atributos del proveedor.

    Para configurar las asignaciones y las condiciones de los atributos, haz lo siguiente:

    1. Cuando se te solicite, accede a tu IdP externo para validar las asignaciones de atributos predeterminadas.
    2. En la página de atributos del proveedor, consulta y edita las asignaciones y condiciones de los atributos:
      1. Para agregar o editar asignaciones de atributos, haz lo siguiente:
        1. Haz clic en Agregar asignación para agregar una asignación nueva o editar las asignaciones existentes.
        2. En el campo Google n, donde n es un número, selecciona una clave compatible con Google Cloud.
        3. En el campo OIDC n correspondiente, ingresa el nombre del atributo del IdP o una expresión CEL.
      2. Para agregar una condición de atributo, haz lo siguiente:
        1. Haz clic en Agregar condición:
        2. En el campo Condiciones del atributo, ingresa una condición en formato CEL. Por ejemplo, assertion.subject.endsWith('@example.com') cuando el valor de subject asignado antes contiene una dirección de correo electrónico que termina con @example.com.
    3. Para validar tus asignaciones, haz clic en Guardar y volver a obtener el token.
    4. Para completar la configuración, haz clic en Guardar y salir.

    Flujo implícito

    Para crear un proveedor de OIDC que use el flujo implícito para el acceso web, haz lo siguiente:

    1. En la consola de Google Cloud , ve a la página Grupos de identidades de personal:

      Ir a Grupos de identidades de personal

    2. En la tabla Workforce Identity Pools, selecciona el grupo para el que deseas crear el proveedor.
    3. En la sección Proveedores, haz clic en Agregar proveedor.
    4. En la lista Selecciona un proveedor de IdP, elige tu IdP.

      Si tu IdP no aparece en la lista, selecciona Generic Identity Provider.

    5. En Selecciona un protocolo de autenticación, selecciona OpenID Connect (OIDC).
    6. En la sección Crear un proveedor, haz lo siguiente:
      1. En Nombre, ingresa el nombre del proveedor.
      2. En Descripción, ingresa la descripción del proveedor.
      3. En Emisor (URL), ingresa el URI de la entidad emisora. El URI de la entidad emisora de OIDC debe tener un formato de URI válido y comenzar con https; por ejemplo, https://example.com/oidc.
      4. En ID de cliente, ingresa el ID de cliente de OIDC que está registrado con tu IdP de OIDC. El ID debe coincidir con la reclamación aud del JWT que emite tu IdP.
      5. Para crear un proveedor habilitado, asegúrate de que la opción Habilitar proveedor esté activada.
      6. Haz clic en Continuar.
    7. En la sección Comparte la información de tu proveedor con el IdP, copia la URL. En tu IdP, configura esta URL como el URI de redireccionamiento, que le informa a tu IdP dónde enviar el token de aserción después de acceder.
    8. Haz clic en Continuar.
    9. En la sección Configurar el acceso a la Web con OIDC, haz lo siguiente:
      1. En la lista Tipo de flujo, selecciona Token de ID.
      2. En la lista Comportamiento de los reclamos de aserciones, se selecciona Token de ID.
      3. Opcional: Si seleccionaste Okta como tu IdP, agrega los permisos de OIDC adicionales en el campo Permisos adicionales más allá de openid, profile e email.
    10. Haz clic en Continuar.
    11. En la sección Configurar proveedor, en Registro detallado, haz clic en el botón de activación Habilitar el registro de auditoría de valores de atributos.

      El registro de auditoría detallado de la federación de identidades de personal registra la información que recibe de tu IdP en Logging. El registro de auditoría detallado puede ayudarte a solucionar problemas relacionados con la configuración del proveedor de grupo de identidades de personal. Para obtener información sobre cómo solucionar problemas de errores 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 los precios de Google Cloud Observability.

      Para inhabilitar el registro de auditoría detallado de un proveedor de grupo de identidades de personal, deja desactivado el botón de activación Habilitar el registro de auditoría del valor de atributos cuando crees el proveedor. Para inhabilitar el registro de auditoría detallado, también puedes actualizar el proveedor.

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

    Después de crear el proveedor, se te redireccionará a la página de atributos del proveedor.

    Para configurar las asignaciones y las condiciones de los atributos, haz lo siguiente:

    1. Cuando se te solicite, accede a tu IdP externo para validar las asignaciones de atributos predeterminadas.
    2. En la página de atributos del proveedor, consulta y edita las asignaciones y condiciones de los atributos:
      1. Para agregar o editar asignaciones de atributos, haz lo siguiente:
        1. Haz clic en Agregar asignación para agregar una asignación nueva o editar las asignaciones existentes.
        2. En el campo Google n, donde n es un número, selecciona una clave compatible con Google Cloud.
        3. En el campo OIDC n correspondiente, ingresa el nombre del atributo del IdP o una expresión CEL.
      2. Para agregar una condición de atributo, haz lo siguiente:
        1. Haz clic en Agregar condición:
        2. En el campo Condiciones del atributo, ingresa una condición en formato CEL. Por ejemplo, assertion.subject.endsWith('@example.com') cuando el valor de subject asignado antes contiene una dirección de correo electrónico que termina con @example.com.
    3. Para validar tus asignaciones, haz clic en Guardar y volver a obtener el token.
    4. Para completar la configuración, haz clic en Guardar y salir.

Crea un proveedor de grupos de identidades de personal de SAML

  1. En tu IdP de SAML, registra una aplicación nueva para la federación de identidades de personal de Google Cloud.

  2. Configura el público para las aserciones de SAML. Por lo general, es el campo SP Entity ID en la configuración de IdP. Debes configurarla en la siguiente URL:

    https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    
  3. Establece la URL de redireccionamiento, también conocida como URL del servicio de confirmación de aserciones (ACS). Para establecer la URL de redireccionamiento, ubica el campo de URL de redireccionamiento en tu IdP de SAML y realiza una de las siguientes acciones:

    • Para configurar el acceso basado en el navegador a través de la consola de Google Cloud o de otro método de acceso basado en el navegador, ingresa la siguiente URL:

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

      Reemplaza lo siguiente:

      • WORKFORCE_POOL_ID: el ID del grupo de la identidad de personal

      • WORKFORCE_PROVIDER_ID: Es el ID del proveedor del grupo de identidades de personal que crearás más adelante en este documento.

    • Para configurar el acceso programático a través de tu IdP, ingresa la siguiente URL:

      localhost
      

    Consulta Configura el acceso de usuario a la consola para obtener más detalles sobre la configuración del acceso a la consola.

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

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

gcloud

Para crear un proveedor de grupos de Workforce Identity para la integración de tu app de Okta mediante el protocolo SAML, haz lo siguiente:

  1. A fin de guardar los metadatos de SAML para tu app de Okta, haz lo siguiente:

    1. Ve a la app de Okta.
    2. Haz clic en la pestaña Acceder.
    3. En la sección Certificados de firma de SAML, haz clic en Acciones > Ver metadatos de IdP para el certificado activo.
    4. En la página nueva que se abre, copia los metadatos XML.
    5. Guarda los metadatos como un archivo XML local.
  2. A fin de crear un proveedor de personal para tu aplicación de Okta, ejecuta el siguiente comando:

    gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
        --workforce-pool="WORKFORCE_POOL_ID" \
        --attribute-mapping="ATTRIBUTE_MAPPING" \
        --attribute-condition="ATTRIBUTE_CONDITION" \
        --idp-metadata-path="XML_METADATA_PATH" \
        --detailed-audit-logging \
        --location="global"
    

    Reemplaza lo siguiente:

    • WORKFORCE_PROVIDER_ID: el ID del proveedor de personal que creaste antes en esta guía.
    • WORKFORCE_POOL_ID: El ID del grupo de identidades de personal que creaste antes en esta guía.
    • ATTRIBUTE_MAPPING: una asignación de atributo; por ejemplo:

      google.subject=assertion.subject,
      google.groups=assertion.attributes['groups'],
      attribute.department=assertion.attributes['department'][0]

    • ATTRIBUTE_CONDITION: Es una condición de atributo opcional. Por ejemplo, para restringir el acceso a los usuarios cuya dirección de correo electrónico termina en @example.com, haz lo siguiente:

      assertion.subject.endsWith('@example.com')

    • XML_METADATA_PATH: Es la ruta de acceso al archivo de metadatos con formato XML para la app de Okta que creaste antes en esta guía.

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

    • El registro de auditoría detallado de la federación de identidades de personal registra la información que recibe de tu IdP en Logging. El registro de auditoría detallado puede ayudarte a solucionar problemas relacionados con la configuración del proveedor de grupo de identidades de personal. Para obtener información sobre cómo solucionar problemas de errores 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 los precios de Google Cloud Observability.

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

    Opcional: Acepta las aserciones de SAML encriptadas de tu IdP

    Para permitir que tu IdP de SAML 2.0 produzca aserciones de SAML encriptadas que la federación de identidades de personal pueda aceptar, haz lo siguiente:

    • En la federación de identidades de personal, haz lo siguiente:
      • Crea un par de claves asimétricas para tu proveedor de grupos de identidades de personal.
      • Descargar un archivo de certificado que contenga la clave pública
      • Configura tu IdP de SAML para usar la clave pública a fin de encriptar las aserciones de SAML que emite.
    • En el IdP, haz lo siguiente:
      • Habilita la encriptación de aserciones, también conocida como encriptación de tokens.
      • Sube la clave pública que creaste en la federación de identidades de personal.
      • Confirma que tu IdP produzca aserciones de SAML encriptadas.
    Ten en cuenta que, incluso con las claves de proveedor de encriptación de SAML configuradas, la federación de identidades de personal aún puede procesar una aserción de texto simple.

    Crea claves de encriptación de aserciones de SAML de la federación de identidades de personal

    En esta sección, se explica cómo crear un par de claves asimétricas que permite que la federación de identidades de personal acepte aserciones de SAML encriptadas.

    Google Cloud usa la clave privada para desencriptar las aserciones de SAML que emite tu IdP. Para crear un par de claves asimétricas que se usarán con la encriptación SAML, ejecuta el siguiente comando. Para obtener más información, consulta Algoritmos de encriptación de SAML compatibles.

    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

    Reemplaza lo siguiente:

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

    Después de crear 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 de personal 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

    Reemplaza lo siguiente:

    • KEY_ID: el nombre de la clave
    • WORKFORCE_POOL_ID: el ID del grupo
    • WORKFORCE_PROVIDER_ID: El ID del proveedor del grupo de identidades de personal
    • CERTIFICATE_PATH: la ruta en la que se escribe el certificado, por ejemplo, saml-certificate.cer o saml-certificate.pem

    Configura tu IdP compatible con SAML 2.0 para emitir aserciones de SAML encriptadas

    Si deseas configurar Okta para encriptar las aserciones de SAML, haz lo siguiente:

    • Ve al panel de Okta y accede
    • Ve a Aplicaciones>Aplicaciones.
    • Haz clic en tu app.
    • En la pestaña General, en la sección Configuración de SAML, haz clic en Editar.
    • Haz clic en Siguiente para ver la Configuración de SAML.
    • Haz clic en Mostrar configuración avanzada.
    • En Configuración de SAML, haz lo siguiente:
      • En Respuesta (opción preferida) o Firma de confirmación, selecciona Signed.
      • En Algoritmo de firma y Algoritmo de resumen, selecciona cualquier opción.
      • Configura los siguientes valores:
        • Encriptación de aserción: Encriptada.
        • Algoritmo de encriptación: Cualquier algoritmo que elijas.
        • Certificado de encriptación: Sube el archivo de certificado que generaste antes en esta guía.
    • Para guardar la configuración, haz clic en Siguiente y, luego, en Finalizar.

    Después de configurar tu IdP para encriptar las aserciones de SAML, te recomendamos que te asegures de que las aserciones que genera en realidad estén encriptadas. Incluso con la encriptación de aserciones de SAML configurada, la federación de identidades de personal puede procesar aserciones de texto simple.

    Borra claves de encriptación de la federación de identidades de personal

    Para borrar claves de encriptación de 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

    Reemplaza lo siguiente:

    • KEY_ID: el nombre de la clave
    • WORKFORCE_POOL_ID: el ID del grupo
    • WORKFORCE_PROVIDER_ID: El ID del proveedor del grupo de identidades de personal

    Algoritmos de encriptación SAML compatibles

    La federación de identidades de personal admite los siguientes algoritmos de transporte de claves:

    La federación de identidades de personal admite los siguientes algoritmos de encriptación de bloques:

Console

Para configurar el proveedor de SAML con la consola de Google Cloud , haz lo siguiente:

  1. En la consola de Google Cloud , ve a la página Grupos de identidades de personal:

    Ir a Grupos de identidades de personal

  2. En la tabla Workforce Identity Pools, selecciona el grupo para el que deseas crear el proveedor.
  3. En la sección Proveedores, haz clic en Agregar proveedor.
  4. En la lista Selecciona un proveedor de IdP, elige tu IdP.

    Si tu IdP no aparece en la lista, selecciona Generic Identity Provider.

  5. En Selecciona un protocolo de autenticación, selecciona SAML.
  6. En la sección Crear un proveedor, haz lo siguiente:
    1. En Nombre del proveedor, ingresa un nombre para el proveedor.
    2. Opcional: En Descripción, ingresa una descripción para el proveedor.
    3. En Archivo de metadatos de IdP (XML), selecciona el archivo XML de metadatos que generaste antes en esta guía.
    4. Para crear un proveedor habilitado, asegúrate de que la opción Habilitar proveedor esté activada.
    5. Haz clic en Continuar.
  7. En la sección Comparte la información de tu proveedor, copia las URLs. En tu IdP, configura la primera URL como el ID de entidad, que identifica tu aplicación ante el IdP. Configura la otra URL como el URI de redireccionamiento, que le informa a tu IdP dónde enviar el token de aserción después de acceder.
  8. Haz clic en Continuar.
  9. En la sección Configurar proveedor, en Registro detallado, haz clic en el botón de activación Habilitar el registro de auditoría de valores de atributos.

    El registro de auditoría detallado de la federación de identidades de personal registra la información que recibe de tu IdP en Logging. El registro de auditoría detallado puede ayudarte a solucionar problemas relacionados con la configuración del proveedor de grupo de identidades de personal. Para obtener información sobre cómo solucionar problemas de errores 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 los precios de Google Cloud Observability.

    Para inhabilitar el registro de auditoría detallado de un proveedor de grupo de identidades de personal, deja el botón de activación Habilitar el registro de auditoría del valor de atributos desactivado cuando crees el proveedor. Para inhabilitar el registro de auditoría detallado, también puedes actualizar el proveedor.

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

Después de crear el proveedor, se te redireccionará a la página de atributos del proveedor.

Para configurar las asignaciones y las condiciones de los atributos, haz lo siguiente:

  1. Cuando se te solicite, accede a tu IdP externo para validar las asignaciones de atributos predeterminadas.
  2. En la página de atributos del proveedor, consulta y edita las asignaciones y las condiciones de los atributos:
    1. Para agregar o editar asignaciones de atributos, haz lo siguiente:
      1. Haz clic en Agregar asignación para agregar una asignación nueva o editar las asignaciones existentes.
      2. En el campo Google n, donde n es un número, selecciona una Google Cloud clave compatible.
      3. En el campo SAML n correspondiente, ingresa el nombre del atributo del IdP o una expresión CEL, por ejemplo:
        google.subject=assertion.subject,
        google.groups=assertion.attributes['groups'],
        attribute.department=assertion.attributes['department'][0]
    2. Para agregar una condición de atributo, haz lo siguiente:
      1. Haz clic en Agregar condición:
      2. En el campo Condiciones del atributo, ingresa una condición en formato CEL. Por ejemplo, para restringir el acceso a los usuarios cuya dirección de correo electrónico termina con @example.com, ingresa la siguiente condición:
        assertion.subject.endsWith('@example.com')
        .
  3. Para validar tus asignaciones, haz clic en Guardar y volver a obtener el token.
  4. Para completar la configuración, haz clic en Guardar y salir.

Verifica la configuración de tu proveedor

Antes de probar el flujo de acceso del usuario final, puedes verificar que la configuración del proveedor sea correcta y que Google Cloud pueda intercambiar tokens con tu IdP.

La página Valida los atributos de tu proveedor en la consola de Google Cloud incluye un visualizador de atributos que te permite probar de forma interactiva tu configuración y depurar expresiones de Common Expression Language (CEL). Puedes usar el visualizador de atributos para hacer lo siguiente:

  • Consulta los atributos sin procesar que se envían en la aserción del IdP.
  • Verifica que las asignaciones y las condiciones de tus atributos transformen correctamente esos atributos.
  • Depura expresiones CEL complejas en tiempo real.

Para verificar la configuración del proveedor, haz lo siguiente:

  1. Para habilitar el flujo de acceso basado en el navegador para la federación de identidades de personal, agrega https://auth.cloud.google/signin-callback/locations/global/workforcePools/POOL_ID/providers/PROVIDER_ID a la lista de URIs de redireccionamiento permitidos de tu IdP.
  2. En la consola de Google Cloud , ve a Grupos de identidades de personal.

    Ir a Grupos de identidades de personal
  3. En la lista de grupos, haz clic en el nombre del grupo que deseas verificar.
  4. En la página Detalles del grupo de personal, haz clic en el nombre del IdP que deseas verificar.
  5. En la página Detalles del proveedor, haz clic en Depurar el token del IdP.
  6. En el cuadro de diálogo Acceder, accede a tu IdP como usuario de prueba.

En la página Valida los atributos de tu proveedor, se muestran los atributos asignados y el resultado de la condición del atributo.

En la sección Atributos asignados de tu token de IdP, se muestra cómo se completan los atributos de Google, como google.subject, a partir del token de tu IdP según la configuración de asignación. Si una asignación es incorrecta, aparecerá un ícono de error.

En la sección Condición del atributo, se muestra el resultado booleano de tu condición. Si la condición se evalúa como false, se bloquea el acceso.

Para ver el token de aserción completo, haz clic en Ver token completo. Aquí se muestra el objeto JSON sin procesar de tu IdP. Haz referencia a una propiedad de nivel superior en tus asignaciones con el formato assertion.PROPERTY_NAME.

Edita la configuración del proveedor

Para corregir cualquier error, puedes editar la configuración:

  1. En la página Valida los atributos de tu proveedor, haz clic en Editar.
  2. Realiza los cambios necesarios.
  3. Para iniciar una prueba nueva y ver los resultados actualizados, haz clic en Guardar y volver a recuperar el token.

Administra el acceso a los recursos de Google Cloud

En esta sección, se proporciona un ejemplo en el que se muestra cómo administrar el acceso a los recursos deGoogle Cloud por parte de los usuarios de la federación de identidades de personal.

En este ejemplo, otorgas un rol de Identity and Access Management (IAM) en un proyecto de muestra. Luego, los usuarios pueden acceder y usar este proyecto para acceder a los productos deGoogle Cloud .

Puedes administrar los roles de IAM para identidades individuales, un grupo de identidades o un grupo completo. Para obtener más información, consulta Identificadores principales de personal para políticas de permiso.

Para la identidad única

Para otorgar el rol Administrador de almacenamiento (roles/storage.admin) a una sola identidad para el proyecto TEST_PROJECT_ID, ejecuta el siguiente comando:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_VALUE"

Reemplaza lo siguiente:

  • TEST_PROJECT_ID: El ID del proyecto
  • WORKFORCE_POOL_ID: el ID del grupo de la identidad de personal
  • SUBJECT_VALUE: La identidad del usuario

Usa el atributo de departamento asignado

A fin de otorgar el rol Storage Admin (roles/storage.admin) a todas las identidades dentro de un departamento específico para el proyecto TEST_PROJECT_ID, ejecuta el siguiente comando:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/attribute.department/DEPARTMENT_VALUE"

Reemplaza lo siguiente:

  • TEST_PROJECT_ID: El ID del proyecto
  • WORKFORCE_POOL_ID: El ID del grupo de identidades de personal
  • DEPARTMENT_VALUE: el valor attribute.department asignado

Usa grupos asignados

A fin de otorgar el rol de Administrador de almacenamiento (roles/storage.admin) a todas las identidades dentro de un grupo específico para el proyecto TEST_PROJECT_ID, ejecuta el siguiente comando:

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

Reemplaza lo siguiente:

  • TEST_PROJECT_ID: El ID del proyecto
  • WORKFORCE_POOL_ID: El ID del grupo de identidades de personal
  • GROUP_ID: un grupo en la reclamación google.groups asignada.

Accede y prueba el acceso

En esta sección, accederás como un usuario de grupo de Workforce Identity y probarás que tienes acceso a un producto de Google Cloud .

Acceder

En esta sección, se muestra cómo acceder como un usuario federado y acceder a los recursos deGoogle Cloud .

Acceso con el navegador de la gcloud CLI

Para acceder a la gcloud CLI con un flujo de acceso basado en el navegador, haz lo siguiente:

Crea un archivo de configuración

Ejecuta el siguiente comando para crear un archivo de configuración de acceso:

Linux y macOS

gcloud iam workforce-pools create-login-config \
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \
    --output-file=LOGIN_CONFIG_PATH

Windows (PowerShell)

gcloud iam workforce-pools create-login-config `
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID `
    --output-file=LOGIN_CONFIG_PATH

Reemplaza lo siguiente:

  • WORKFORCE_POOL_ID: Es el ID del grupo de federación de identidades de personal.
  • WORKFORCE_PROVIDER_ID: Es el ID del proveedor de la federación de identidades de personal.
  • LOGIN_CONFIG_PATH: Es la ruta de acceso en la que se escribirá el archivo de configuración de acceso. Por ejemplo, login-config.json

El archivo de configuración de acceso contiene los endpoints que usa la gcloud CLI para habilitar el flujo de autenticación basado en el navegador y establecer el público en el IdP que se configuró en el proveedor del grupo de identidades de personal. El archivo no contiene información confidencial.

El contenido del archivo de configuración de acceso se ve de la siguiente manera:

{
  "universe_domain": "googleapis.com",
  "universe_cloud_web_domain": "cloud.google",
  "type": "external_account_authorized_user_login_config",
  "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID",
  "auth_url": "https://auth.cloud.google/authorize",
  "token_url": "https://sts.googleapis.com/v1/oauthtoken",
  "token_info_url": "https://sts.googleapis.com/v1/introspect"
}

Accede con autenticación basada en el navegador

Apunta al archivo de configuración de acceso con una variable de entorno, una propiedad en la configuración activa de la gcloud CLI o úsalo directamente con el comando gcloud auth login:

Variable de entorno

Para usar el archivo de configuración de acceso con una variable de entorno, completa las siguientes instrucciones:

  1. Establece la variable de entorno CLOUDSDK_AUTH_LOGIN_CONFIG_FILE en la ruta de acceso del archivo de configuración de acceso.
  2. Ejecuta el comando siguiente:

    gcloud auth login
  3. Gcloud CLI hace referencia a la variable de entorno para encontrar el archivo de configuración de acceso y, luego, inicia el proceso de autenticación. Sigue el flujo basado en el navegador para autenticar y autorizar gcloud CLI a acceder a los recursos en tu nombre para futuros comandos.

Para dejar de usar el archivo de configuración de acceso para los comandos gcloud auth login, borra la variable de entorno CLOUDSDK_AUTH_LOGIN_CONFIG_FILE.

Configuración de gcloud CLI

Para usar el archivo de configuración de acceso con una propiedad de configuración de gcloud CLI, completa las siguientes instrucciones:

  1. Establece la propiedad auth/login_config_file de la configuración activa de la gcloud CLI en la ruta de acceso del archivo de configuración de acceso con el siguiente comando:

    gcloud config set auth/login_config_file LOGIN_CONFIG_PATH
  2. Ejecuta el comando siguiente:

    gcloud auth login
  3. Gcloud CLI hace referencia a la propiedad de configuración para encontrar el archivo de configuración de acceso y, luego, inicia el proceso de autenticación. Sigue el flujo basado en el navegador para autenticar y autorizar gcloud CLI a acceder a los recursos en tu nombre para futuros comandos.

Para dejar de usar el archivo de configuración de acceso para los comandos de gcloud auth login, anula la configuración de la propiedad con el siguiente comando:

gcloud config unset auth/login_config_file

gcloud auth login

Para usar el archivo de configuración de acceso directamente con el comando gcloud auth login, sigue estas instrucciones:

  • Si usaste la marca --activate cuando creaste el archivo de configuración de acceso, ejecuta el siguiente comando:

    gcloud auth login
  • Si no usaste la marca --activate cuando creaste el archivo de configuración de acceso, ejecuta el siguiente comando:

    Linux y macOS

    gcloud auth login \
        --login-config=LOGIN_CONFIG_PATH

    Windows (PowerShell)

    gcloud auth login `
        --login-config=LOGIN_CONFIG_PATH

    Reemplaza LOGIN_CONFIG_PATH por la ruta de acceso del archivo de configuración de acceso.

El comando gcloud auth login almacena las credenciales de acceso en tu directorio principal. La principal autenticada se convierte en la principal activa en tu configuración activa de gcloud CLI. A menos que se anulen, la gcloud CLI usa estas credenciales almacenadas para acceder a Google Cloud.

Acceso sin interfaz gráfica de la gcloud CLI

Para acceder a la gcloud CLI con un flujo sin interfaz gráfica, haz lo siguiente:

OIDC

  1. Haz que un usuario acceda a tu app de Okta y obtén el token de OIDC de Okta.

  2. Guarda el token de OIDC que muestra Okta en una ubicación segura de tu máquina local.

  3. Para generar un archivo de configuración como el del ejemplo más adelante en este paso, ejecuta el siguiente comando:

    gcloud iam workforce-pools create-cred-config \
        locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \
        --subject-token-type="urn:ietf:params:oauth:token-type:id_token" \
        --credential-source-file="PATH_TO_OIDC_ID_TOKEN" \
        --workforce-pool-user-project="WORKFORCE_POOL_USER_PROJECT" \
        --output-file="config.json"
    

Reemplaza lo siguiente:

  • WORKFORCE_POOL_ID: el ID del grupo de Workforce Identity
  • WORKFORCE_PROVIDER_ID: el ID del proveedor
  • PATH_TO_OIDC_TOKEN: la ruta de acceso al archivo de credenciales del IdP de OIDC
  • WORKFORCE_POOL_USER_PROJECT: el número de proyecto asociado con el proyecto de usuario de grupos de personal.

La principal debe tener el permiso serviceusage.services.use en este proyecto.

Cuando ejecutas el comando, se produce un archivo de configuración del IdP de OIDC con un formato similar al siguiente:

{
  "type": "external_account",
  "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID",
  "subject_token_type": "urn:ietf:params:oauth:token-type:id_token",
  "token_url": "https://sts.googleapis.com/v1/token",
  "workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT",
  "credential_source": {
    "file": "PATH_TO_OIDC_CREDENTIALS_FILE"
  }
}

SAML

  1. Haz que un usuario acceda a tu app de Okta y obtén la Respuesta SAML de Okta.

  2. Guarda la respuesta SAML que muestra Okta en una ubicación segura de tu máquina local y, luego, almacena la ruta de acceso de la siguiente manera:

    SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
    
  3. Para generar un archivo de configuración, ejecuta el siguiente comando:

    gcloud iam workforce-pools create-cred-config \
        locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \
        --subject-token-type="urn:ietf:params:oauth:token-type:saml2" \
        --credential-source-file="SAML_ASSERTION_PATH"  \
        --workforce-pool-user-project="PROJECT_ID"  \
        --output-file="config.json"
    

    Reemplaza lo siguiente:

    • WORKFORCE_PROVIDER_ID: el ID del proveedor de personal que creaste antes en esta guía.
    • WORKFORCE_POOL_ID: el ID del grupo de identidades de personal que creaste antes en esta guía.
    • SAML_ASSERTION_PATH: la ruta de acceso del archivo de aserción de SAML.
    • PROJECT_ID: El ID del proyecto

    El archivo de configuración que se genera es similar al siguiente:

    {
      "type": "external_account",
      "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID",
      "subject_token_type": "urn:ietf:params:oauth:token-type:saml2",
      "token_url": "https://sts.googleapis.com/v1/token",
      "credential_source": {
        "file": "SAML_ASSERTION_PATH"
      },
      "workforce_pool_user_project": "PROJECT_ID"
    }
    

Para acceder a gcloud con el intercambio de tokens, ejecuta el siguiente comando:

gcloud auth login --cred-file="config.json"

Luego, gcloud intercambia de manera transparente tus credenciales de Okta por tokens de acceso temporales deGoogle Cloud , lo que te permite realizar otras llamadas de gcloud a Google Cloud.

Verás un resultado similar al siguiente:

Authenticated with external account user credentials for:
[principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_ID].

Para enumerar las cuentas con credenciales y la cuenta activa actual, ejecuta el siguiente comando:

gcloud auth list

Acceso a la consola (federada)

Para acceder a la consola de Google Cloud Workforce Identity Federation, también conocida como consola (federada), haz lo siguiente:

  1. Ve a la página de acceso de la consola (federada).

    Ir a la consola (federada)

  2. Ingresa el nombre del proveedor, que tiene el siguiente formato:
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    1. Ingresa las credenciales de usuario en la integración de la app de Okta, si se te solicita.

    Si inicias un acceso iniciado por IdP, usa la siguiente URL en Configuración de SAML para el parámetro RelayState predeterminado anidado: https://console.cloud.google/.

Prueba el acceso

Ahora tienes acceso a Google Cloud los servicios que admiten la federación de identidades de personal y a los que se te otorga acceso. En una sección anterior de esta guía, otorgaste el rol de administrador de almacenamiento (roles/storage.admin) a todas las identidades dentro de un departamento específico para el proyecto TEST_PROJECT_ID. Para probar que tienes acceso, enumera los buckets de Cloud Storage.

gcloud CLI

Para enumerar los buckets y los objetos de Cloud Storage para el proyecto al que tienes acceso, ejecuta el siguiente comando:

gcloud storage ls --project="TEST_PROJECT_ID"

La principal debe tener el permiso serviceusage.services.use en el proyecto especificado.

Consola (federada)

Para mostrar una lista de los buckets de Cloud Storage mediante la consola (federada), haz lo siguiente:

  • Ve a la página de Cloud Storage
  • Verifica que puedas ver la lista de depósitos existentes para TEST_PROJECT_ID

Borrar usuarios

La federación de identidades de personal crea metadatos y recursos de usuario para identidades de usuario federadas. Si eliges borrar usuarios en tu IdP, también debes borrar de forma explícita estos recursos en Google Cloud. Para hacerlo, consulta Borra los usuarios de la federación de identidades de personal y sus datos.

Es posible que veas que los recursos siguen asociados con un usuario que se borró. Esto se debe a que para borrar metadatos y recursos del usuario se requiere una operación de larga duración. Después de iniciar la eliminación de la identidad de un usuario, los procesos que este inició antes de la eliminación pueden seguir ejecutándose hasta que se completen o se cancelen los procesos.

¿Qué sigue?