Configura la federación de identidades de personal con Microsoft Entra ID y una gran cantidad de grupos

En este documento, se muestra cómo configurar la federación de identidades de personal con el proveedor de identidad (IdP) de Microsoft Entra ID y asignar hasta 400 grupos de Microsoft Entra ID a Google Cloud con Microsoft Graph. Luego, el documento te muestra cómo otorgar roles de IAM a esos grupos y cómo ingresar aGoogle Clouda los usuarios de Microsoft Entra ID que son miembros de los grupos. Luego, los usuarios pueden acceder a los Google Cloud productos a los que se les otorgó acceso de IAM y que admiten la federación de identidades de personal.

Para asignar menos de 150 grupos de Microsoft Entra ID a Google Cloud, consulta Configura la federación de identidades de personal con Microsoft Entra ID y permite el acceso de usuarios.

Puedes usar el método que se describe en este documento con los siguientes protocolos:

  • OIDC con flujo implícito
  • OIDC con flujo de código
  • Protocolo SAML 2.0

La cantidad de direcciones de correo electrónico de grupo que puede emitir una aplicación de Microsoft Entra ID en un token se limita a 150 para SAML y a 200 para JWT. Para obtener más información sobre este límite, consulta Cómo configurar reclamaciones de grupo para aplicaciones con el ID de Microsoft Entra. Para recuperar más grupos, la federación de identidades de personal usa el flujo de credenciales de cliente de OAuth 2.0 de Microsoft Identity para obtener credenciales que permitan a la federación de identidades de personal consultar la API de Microsoft Graph y recuperar los grupos de un usuario.

Para usar este método, en un nivel alto, haz lo siguiente:

  • Crea una nueva aplicación de Microsoft Entra ID o actualiza la existente para obtener las membresías de grupo de los usuarios de la API de Microsoft Graph. Para obtener más información sobre cómo Microsoft Graph recupera una gran cantidad de grupos de Microsoft Entra ID, consulta Excesos de grupos.

  • Cuando creas el proveedor de grupos de identidad de personal, usas marcas extra-attributes para configurar la federación de identidades de personal para recuperar las direcciones de correo electrónico de los grupos de usuarios de la API de Microsoft Graph.

La federación de identidades de personal puede recuperar un máximo de 999 grupos de la API de Microsoft Graph. Si la API de Microsoft Graph muestra más de 999 grupos, el acceso falla.

Para reducir la cantidad de grupos que muestra la API de Microsoft Graph, puedes refinar la consulta de la federación de identidades de personal con la marca --extra-attributes-filter cuando crees el proveedor de grupos de identidades de personal.

Después de que la federación de identidades de trabajadores recupera los grupos de la API de Microsoft Graph, acuña el token de acceso. La federación de identidades del personal puede agregar un máximo de 400 grupos al token de acceso. Por lo tanto, para filtrar aún más la cantidad de grupos a 400 o menos, puedes especificar una asignación de atributos que contenga expresiones en lenguaje de expresiones común (CEL) cuando crees el proveedor de grupos de identidad del personal.

Antes de comenzar

  1. Asegúrate de tener una Google Cloud organización configurada.
  2. After installing the Google Cloud CLI, initialize it by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  3. En Microsoft Entra ID, asegúrate de que los tokens de ID estén habilitados para el flujo implícito. Para obtener más información, consulta Habilita el otorgamiento implícito de tokens de ID.
  4. 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.
  5. Para recibir información importante sobre los cambios en tu organización o productos deGoogle Cloud , debes proporcionar Contactos esenciales. Para obtener más información, consulta la descripción general de la federación de identidades de personal.
  6. Todos los grupos que deseas asignar deben estar marcados como grupos de seguridad en Microsoft Entra ID.

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.

Si configuras permisos en un entorno de desarrollo o de prueba, pero no en un entorno de producción, puedes otorgar el rol básico de propietario de IAM (roles/owner), que también incluye permisos para la federación de identidades de personal.

Crea una aplicación de Microsoft Entra ID

En esta sección, se muestra cómo crear una aplicación de Microsoft Entra ID con el Portal de administración de Microsoft Entra. Como alternativa, puedes actualizar tu aplicación existente. Para obtener más detalles, consulta Cómo establecer aplicaciones en el ecosistema de Microsoft Entra ID.

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

OIDC

Para crear un registro de la aplicación de Microsoft Entra ID que use el protocolo OIDC, haz lo siguiente:

  1. Accede al portal de administración de Microsoft Entra.

  2. Ve a Identidad > Aplicaciones > Registros de apps.

  3. Para comenzar a configurar el registro de la aplicación, haz lo siguiente:

    1. Haz clic en Registro nuevo.

    2. Ingresa un nombre para tu aplicación.

    3. En Tipos de cuentas compatibles, selecciona una opción.

    4. En la sección URI de redireccionamiento, en la lista desplegable Seleccionar una plataforma, selecciona Web.

    5. 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: Un ID de grupo de identidades de personal que usarás cuando crees el grupo de identidades de personal más adelante en este documento; por ejemplo: entra-id-oidc-pool

      • WORKFORCE_PROVIDER_ID: Un ID de proveedor de grupos de identidades de personal que usarás cuando crees el proveedor de grupos de identidades de personal más adelante en este documento; por ejemplo: entra-id-oidc-pool-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.

    6. Para crear el registro de la aplicación, haz clic en Registrar.

    7. Para usar la asignación de atributos de ejemplo que se proporciona más adelante en este documento, debes crear un atributo department personalizado.

SAML

Para crear un registro de la aplicación de Microsoft Entra ID que use el protocolo SAML, haz lo siguiente:

  1. Accede al portal de administración de Microsoft Entra.

  2. Ve a Identidad > Aplicaciones > Registros de apps.

  3. Para comenzar a configurar la aplicación empresarial, haz lo siguiente:

    1. Haz clic en Nueva aplicación > Crear tu nueva aplicación.

    2. Ingresa un nombre para tu aplicación.

    3. Haz clic en Crear.

    4. Ve a Inicio de sesión único > SAML.

    5. Actualiza la Configuración básica del SAML de la siguiente manera:

      1. En el campo Identificador (ID de entidad), ingresa el siguiente valor:

        https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
        

        Reemplaza lo siguiente:

        • WORKFORCE_POOL_ID: Un ID de grupo de identidades de personal que usarás cuando crees el grupo de identidades de personal más adelante en este documento; por ejemplo: entra-id-saml-pool
        • WORKFORCE_PROVIDER_ID: Un ID de proveedor de identidades de personal que usarás cuando crees el proveedor de identidades de personal más adelante en este documento; por ejemplo: entra-id-saml-pool-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.

      2. En el campo URL de respuesta (URL del servicio de confirmación de consumidores), 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 identidades de personal
        • WORKFORCE_PROVIDER_ID: El ID del proveedor de identidades de personal
      3. Para habilitar el inicio de sesión iniciado por IdP, establece el campo Estado de retransmisión en el siguiente valor:

        https://console.cloud.google/
        
      4. Para guardar la configuración de la aplicación de SAML, haz clic en Guardar.

    6. Para usar la asignación de atributos de ejemplo que se proporciona más adelante en este documento, debes crear un atributo department personalizado.

Configura grandes cantidades de grupos con Microsoft Entra ID

En esta sección, se describe cómo asignar hasta 400 grupos de Microsoft Entra ID a la federación de identidades de personal con los protocolos OIDC y SAML.

Configura una gran cantidad de grupos con Microsoft Entra ID con el flujo implícito de OIDC

En esta sección, se describe cómo asignar hasta 400 grupos de Microsoft Entra ID a la federación de identidades de personal con el protocolo OpenID Connect (OIDC) con flujo implícito.

Configura tu aplicación de Microsoft Entra ID

Puedes configurar una aplicación de Microsoft Entra ID existente o crear una nueva. Para configurar tu aplicación, haz lo siguiente:

  1. En el portal de Microsoft Entra ID, haz lo siguiente:
    • Para registrar una aplicación nueva, sigue las instrucciones en Registra una aplicación nueva.
    • Para actualizar una aplicación existente, haz lo siguiente:
      • Ve a Identidad > Aplicaciones > Aplicaciones empresariales.
      • Selecciona la aplicación que quieres actualizar.
  2. Sigue las instrucciones en Certificados y secretos para crear un secreto del cliente nuevo en la aplicación. Asegúrate de registrar el valor del secreto de cliente, ya que solo se muestra una vez.

    Anota los siguientes valores de la aplicación que creaste o actualizaste. Proporcionarás los valores cuando configures el proveedor de grupos de identidades de personal más adelante en este documento.

    • Client ID
    • Issuer URI
    • Client Secret
    • Tenant ID
  3. Para recuperar los grupos de Microsoft Entra ID, agrega el permiso de API para permitir que Workload Identity Federation acceda a la información de los usuarios de Microsoft Entra ID con la API de Microsoft Graph y otorga el consentimiento del administrador. En Microsoft Entra ID, haz lo siguiente:

    1. Ve a Permisos de la API.
    2. Haz clic en Agregar un permiso.
    3. Selecciona API de Microsoft.
    4. Selecciona Permisos de aplicación.
    5. En el campo de búsqueda, escribe User.ReadBasic.All.
    6. Haz clic en Agregar permisos.

    Puedes recuperar los grupos de Microsoft Entra ID como identificadores de objetos (ID) de grupo o como dirección de correo electrónico de grupo para los grupos habilitados para correo electrónico.

    Si eliges recuperar los grupos como direcciones de correo electrónico grupales, debes realizar el siguiente paso.

  4. Para recuperar los grupos de Microsoft Entra ID como direcciones de correo electrónico de grupo, haz lo siguiente. Si recuperas grupos como identificadores de objetos de grupo, omite este paso.
    1. En el campo de búsqueda, ingresa GroupMember.Read.All.
    2. Haz clic en Agregar permisos.
    3. Haz clic en Otorgar consentimiento de administrador para tu nombre de dominio.
    4. En el cuadro de diálogo que aparece, haz clic en .
    5. Ve a la página Descripción general de la aplicación de Microsoft Entra ID que creaste o actualizaste antes.
    6. Haz clic en Extremos.

    El URI de la entidad emisora es el URI del documento de metadatos de OIDC, sin la ruta /.well-known/openid-configuration.

    Por ejemplo, si el documento de metadatos de OIDC es https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration, el URI del emisor es https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.

Crea un grupo de Workforce Identity

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 identidad del personal. Los grupos de identidades de Workforce 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. La duración de la sesión se establece de forma predeterminada. Para ingresar una duración de la sesión personalizada, haz clic en Editar. 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 debe ser superior a 15 minutos (900 s) y menor a 12 horas (43200 s). Si la duración de la sesión no se establece, el valor predeterminado es de una hora (3,600 s).

    4. Para crear el grupo en el estado habilitado, asegúrate de que la opción Grupo habilitado esté activada.

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

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 el Google Cloud grupo de personal. 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: El ID numérico de la organización de tu Google Cloud organización para el grupo de identidades de personal. Los grupos de identidad 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 La duración de la sesión, que 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 debe ser superior a 15 minutos (900 s) y menor a 12 horas (43200 s). Si la duración de la sesión no se establece, el valor predeterminado es de una hora (3,600 s).

Configura el proveedor de grupos de identidades de personal de flujo implícito de OIDC

Para crear el proveedor de grupos de identidades de personal de OIDC, ejecuta el siguiente comando:

gcloud iam workforce-pools providers create-oidc PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --location=global \
    --display-name=DISPLAY_NAME \
    --issuer-uri=ISSUER_URI \
    --client-id=CLIENT_ID \
    --attribute-mapping=ATTRIBUTE_MAPPING \
    --web-sso-response-type=id-token \
    --web-sso-assertion-claims-behavior=only-id-token-claims \
    --extra-attributes-issuer-uri=EXTRA_ATTRIBUTES_ISSUER_URI \
    --extra-attributes-client-id=EXTRA_ATTRIBUTES_CLIENT_ID \
    --extra-attributes-client-secret-value=EXTRA_ATTRIBUTES_CLIENT_SECRET \
    --extra-attributes-type=EXTRA_ATTRIBUTES_TYPE  \
    –-extra-attributes-filter=EXTRA_ATTRIBUTES_FILTER

Reemplaza lo siguiente:

  • PROVIDER_ID: un ID de proveedor único. El prefijo gcp- está reservado y no se puede usar en un ID de grupo ni de proveedor.
  • WORKFORCE_POOL_ID: El ID del grupo de personal.
  • DISPLAY_NAME: Un nombre visible para el proveedor.
  • ISSUER_URI: Es el URI de la entidad emisora de la aplicación de Microsoft Entra ID que creaste antes en este documento.
  • CLIENT_ID: El ID de cliente de tu aplicación de Microsoft Entra ID.
  • ATTRIBUTE_MAPPING: Es la asignación de atributos de Microsoft Entra ID a Google Cloud. Por ejemplo, para asignar groups y subject desde Microsoft Entra ID, usa la siguiente asignación de atributos:
    --attribute-mapping=”google.groups=assertion.groups, google.subject=assertion.sub"

    Para obtener más información, consulta Asignación de atributos.

  • EXTRA_ATTRIBUTES_ISSUER_URI: Es el URI de la entidad emisora de tu aplicación de Microsoft Entra ID.
  • EXTRA_ATTRIBUTES_CLIENT_ID: El ID de cliente de tu aplicación de Microsoft Entra ID.
  • EXTRA_ATTRIBUTES_CLIENT_SECRET: El secreto del cliente adicional de tu aplicación de Microsoft Entra ID.
  • EXTRA_ATTRIBUTES_TYPE: Usa azure-ad-groups-mail para recuperar las direcciones de correo electrónico de los grupos. Usa azure-ad-groups-id para recuperar los IDs de los grupos.
  • EXTRA_ATTRIBUTES_FILTER: Opcional Es una expresión de filtro que se usa cuando se consulta la API de Microsoft Graph para grupos. Puedes usar este parámetro para asegurarte de que la cantidad de grupos recuperados del IdP permanezca por debajo del límite de 999 grupos.

    En el siguiente ejemplo, se recuperan los grupos que tienen el prefijo sales en su ID de correo electrónico:

    –-extra-attributes-filter='"mail:sales"'

    La siguiente expresión recupera grupos con un nombre visible que contiene la cadena sales.

    -–extra-attributes-filter='"displayName:sales”'

Configura una gran cantidad de grupos en Microsoft Entra ID con el flujo de código de OIDC

En esta sección, se describe cómo asignar hasta 400 grupos de Microsoft Entra ID a la federación de Workload Identity con el protocolo OIDC con flujo de código.

Configura tu aplicación de Microsoft Entra ID

Puedes configurar una aplicación de Microsoft Entra ID existente o crear una nueva. Para configurar tu aplicación, haz lo siguiente:

  1. En el portal de Microsoft Entra ID, haz lo siguiente:
    • Para registrar una aplicación nueva, sigue las instrucciones en Registra una aplicación nueva.
    • Para actualizar una aplicación existente, haz lo siguiente:
      • Ve a Identidad > Aplicaciones > Aplicaciones empresariales.
      • Selecciona la aplicación que quieres actualizar.
  2. Sigue las instrucciones en Certificados y secretos para crear un secreto del cliente nuevo en la aplicación. Asegúrate de registrar el valor del secreto de cliente, ya que solo se muestra una vez.

    Anota los siguientes valores de la aplicación que creaste o actualizaste. Proporcionarás los valores cuando configures el proveedor de grupos de identidades de personal más adelante en este documento.

    • Client ID
    • Issuer URI
    • Client Secret
    • Tenant ID
  3. Para recuperar los grupos de Microsoft Entra ID, agrega el permiso de API para permitir que Workload Identity Federation acceda a la información de los usuarios de Microsoft Entra ID con la API de Microsoft Graph y otorga el consentimiento del administrador. En Microsoft Entra ID, haz lo siguiente:

    1. Ve a Permisos de la API.
    2. Haz clic en Agregar un permiso.
    3. Selecciona API de Microsoft.
    4. Selecciona Permisos delegados.
    5. En el campo de búsqueda, escribe User.Read.
    6. Haz clic en Agregar permisos.

    Puedes recuperar los grupos de Microsoft Entra ID como identificadores de objetos (ID) de grupo o como dirección de correo electrónico de grupo para los grupos habilitados para correo electrónico.

    Si eliges recuperar los grupos como direcciones de correo electrónico grupales, debes realizar el siguiente paso.

  4. Para recuperar los grupos de Microsoft Entra ID como direcciones de correo electrónico de grupo, haz lo siguiente. Si recuperas grupos como identificadores de objetos de grupo, omite este paso.
    1. En el campo de búsqueda, ingresa GroupMember.Read.All.
    2. Haz clic en Agregar permisos.
    3. Haz clic en Otorgar consentimiento de administrador para tu nombre de dominio.
    4. En el cuadro de diálogo que aparece, haz clic en .
    5. Ve a la página Descripción general de la aplicación de Microsoft Entra ID que creaste o actualizaste antes.
    6. Haz clic en Extremos.

    El URI de la entidad emisora es el URI del documento de metadatos de OIDC, sin la ruta /.well-known/openid-configuration.

    Por ejemplo, si el documento de metadatos de OIDC es https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration, el URI del emisor es https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.

Crea un grupo de Workforce Identity

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 identidad del personal. Los grupos de identidades de Workforce 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. La duración de la sesión se establece de forma predeterminada. Para ingresar una duración de la sesión personalizada, haz clic en Editar. 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 debe ser superior a 15 minutos (900 s) y menor a 12 horas (43200 s). Si la duración de la sesión no se establece, el valor predeterminado es de una hora (3,600 s).

    4. Para crear el grupo en el estado habilitado, asegúrate de que la opción Grupo habilitado esté activada.

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

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 el Google Cloud grupo de personal. 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: El ID numérico de la organización de tu Google Cloud organización para el grupo de identidades de personal. Los grupos de identidad 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 La duración de la sesión, que 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 debe ser superior a 15 minutos (900 s) y menor a 12 horas (43200 s). Si la duración de la sesión no se establece, el valor predeterminado es de una hora (3,600 s).

Configura el proveedor de grupos de identidades de personal del flujo de código de OIDC

Para crear el proveedor de grupos de identidades de personal de OIDC, ejecuta el siguiente comando:

gcloud iam workforce-pools providers create-oidc PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --location=global \
    --display-name=DISPLAY_NAME \
    --issuer-uri=ISSUER_URI \
    --client-id=CLIENT_ID \
    --attribute-mapping=ATTRIBUTE_MAPPING \
    --web-sso-response-type=code \
    --web-sso-assertion-claims-behavior=merge-user-info-over-id-token-claims \
    --extra-attributes-issuer-uri=EXTRA_ATTRIBUTES_ISSUER_URI \
    --extra-attributes-client-id=EXTRA_ATTRIBUTES_CLIENT_ID \
    --extra-attributes-client-secret-value=EXTRA_ATTRIBUTES_CLIENT_SECRET \
    --extra-attributes-type=EXTRA_ATTRIBUTES_TYPE  \
    –-extra-attributes-filter=EXTRA_ATTRIBUTES_FILTER

Reemplaza lo siguiente:

  • PROVIDER_ID: un ID de proveedor único. El prefijo gcp- está reservado y no se puede usar en un ID de grupo ni de proveedor.
  • WORKFORCE_POOL_ID: El ID del grupo de personal.
  • DISPLAY_NAME: Un nombre visible para el proveedor.
  • ISSUER_URI: Es el URI de la entidad emisora de la aplicación de Microsoft Entra ID que creaste antes en este documento.
  • CLIENT_ID: El ID de cliente de tu aplicación de Microsoft Entra ID.
  • ATTRIBUTE_MAPPING: Es la asignación de atributos de Microsoft Entra ID a Google Cloud. Por ejemplo, para asignar groups y subject desde Microsoft Entra ID, usa la siguiente asignación de atributos:
    --attribute-mapping=”google.groups=assertion.groups, google.subject=assertion.sub"

    Para obtener más información, consulta Asignación de atributos.

  • EXTRA_ATTRIBUTES_ISSUER_URI: Es el URI de la entidad emisora de tu aplicación de Microsoft Entra ID.
  • EXTRA_ATTRIBUTES_CLIENT_ID: El ID de cliente de tu aplicación de Microsoft Entra ID.
  • EXTRA_ATTRIBUTES_CLIENT_SECRET: El secreto del cliente adicional de tu aplicación de Microsoft Entra ID.
  • EXTRA_ATTRIBUTES_TYPE: Usa azure-ad-groups-mail para recuperar las direcciones de correo electrónico de los grupos. Usa azure-ad-groups-id para recuperar los IDs de los grupos.
  • EXTRA_ATTRIBUTES_FILTER: Opcional Es una expresión de filtro que se usa cuando se consulta la API de Microsoft Graph para grupos. Puedes usar este parámetro para asegurarte de que la cantidad de grupos recuperados del IdP permanezca por debajo del límite de 999 grupos.

    En el siguiente ejemplo, se recuperan los grupos que tienen el prefijo sales en su ID de correo electrónico:

    –-extra-attributes-filter='"mail:sales"'

    La siguiente expresión recupera grupos con un nombre visible que contiene la cadena sales.

    -–extra-attributes-filter='"displayName:sales”'

Configura una gran cantidad de grupos en Microsoft Entra ID con SAML 2.0

En esta sección, se describe cómo asignar hasta 400 grupos del ID de Microsoft Entra a la federación de identidades de personal con el protocolo SAML 2.0.

Configura tu aplicación de Microsoft Entra ID

Para configurar tu aplicación, haz lo siguiente:

  1. En el portal de Microsoft Entra ID, haz lo siguiente:
    • Para registrar una aplicación nueva, sigue las instrucciones en Registra una aplicación nueva.
    • Para actualizar una aplicación existente, haz lo siguiente:
      • Ve a Identidad > Aplicaciones > Aplicaciones empresariales.
      • Selecciona la aplicación que quieres actualizar.
  2. Sigue las instrucciones en Certificados y secretos para crear un secreto del cliente nuevo en la aplicación. Asegúrate de registrar el valor del secreto de cliente, ya que solo se muestra una vez.

    Anota los siguientes valores de la aplicación que creaste o actualizaste. Proporcionarás los valores cuando configures el proveedor de grupos de identidades de personal más adelante en este documento.

    • Client ID
    • Issuer URI
    • Client Secret
    • Tenant ID
  3. Para recuperar los grupos de Microsoft Entra ID, agrega el permiso de API para permitir que Workload Identity Federation acceda a la información de los usuarios de Microsoft Entra ID con la API de Microsoft Graph y otorga el consentimiento del administrador. En Microsoft Entra ID, haz lo siguiente:

    1. Ve a Permisos de la API.
    2. Haz clic en Agregar un permiso.
    3. Selecciona API de Microsoft.
    4. Selecciona Permisos de aplicación.
    5. En el campo de búsqueda, escribe User.ReadBasic.All.
    6. Haz clic en Agregar permisos.

    Puedes recuperar los grupos de Microsoft Entra ID como identificadores de objetos (ID) de grupo o como dirección de correo electrónico de grupo para los grupos habilitados para correo electrónico.

    Si eliges recuperar los grupos como direcciones de correo electrónico grupales, debes realizar el siguiente paso.

  4. Para recuperar los grupos de Microsoft Entra ID como direcciones de correo electrónico de grupo, haz lo siguiente. Si recuperas grupos como identificadores de objetos de grupo, omite este paso.
    1. En el campo de búsqueda, ingresa GroupMember.Read.All.
    2. Haz clic en Agregar permisos.
    3. Haz clic en Otorgar consentimiento de administrador para tu nombre de dominio.
    4. En el cuadro de diálogo que aparece, haz clic en .
    5. Ve a la página Descripción general de la aplicación de Microsoft Entra ID que creaste o actualizaste antes.
    6. Haz clic en Extremos.

    El URI de la entidad emisora es el URI del documento de metadatos de OIDC, sin la ruta /.well-known/openid-configuration.

    Por ejemplo, si el documento de metadatos de OIDC es https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration, el URI del emisor es https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.

Crea un grupo de Workforce Identity

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 identidad del personal. Los grupos de identidades de Workforce 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. La duración de la sesión se establece de forma predeterminada. Para ingresar una duración de la sesión personalizada, haz clic en Editar. 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 debe ser superior a 15 minutos (900 s) y menor a 12 horas (43200 s). Si la duración de la sesión no se establece, el valor predeterminado es de una hora (3,600 s).

    4. Para crear el grupo en el estado habilitado, asegúrate de que la opción Grupo habilitado esté activada.

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

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 el Google Cloud grupo de personal. 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: El ID numérico de la organización de tu Google Cloud organización para el grupo de identidades de personal. Los grupos de identidad 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 La duración de la sesión, que 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 debe ser superior a 15 minutos (900 s) y menor a 12 horas (43200 s). Si la duración de la sesión no se establece, el valor predeterminado es de una hora (3,600 s).

Configura el proveedor de grupos de identidades de personal de SAML 2.0

Para crear el proveedor de grupos de identidades de personal de SAML, ejecuta el siguiente comando:

gcloud iam workforce-pools providers create-saml PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --location=global \
    --display-name=DISPLAY_NAME \
    --idp-metadata-path=XML_METADATA_PATH \
    --attribute-mapping=ATTRIBUTE_MAPPING \
    --extra-attributes-issuer-uri=EXTRA_ATTRIBUTES_ISSUER_URI \
    --extra-attributes-client-id=EXTRA_ATTRIBUTES_CLIENT_ID \
    --extra-attributes-client-secret-value=EXTRA_ATTRIBUTES_CLIENT_SECRET \
    --extra-attributes-type=EXTRA_ATTRIBUTES_TYPE  \
    –-extra-attributes-filter=EXTRA_ATTRIBUTES_FILTER

Reemplaza lo siguiente:

  • PROVIDER_ID: un ID de proveedor único. El prefijo gcp- está reservado y no se puede usar en un ID de grupo ni de proveedor.
  • WORKFORCE_POOL_ID: El ID del grupo de personal.
  • DISPLAY_NAME: Un nombre visible para el proveedor.
  • XML_METADATA_PATH: Es la ruta de acceso al archivo de metadatos XML de SAML 2.0.
  • ATTRIBUTE_MAPPING: Es la asignación de atributos de Microsoft Entra ID a Google Cloud. Por ejemplo, para asignar groups y subject desde Microsoft Entra ID, usa la siguiente asignación de atributos:
    --attribute-mapping=”google.groups=assertion.groups, google.subject=assertion.sub"

    Para obtener más información, consulta Asignación de atributos.

  • EXTRA_ATTRIBUTES_ISSUER_URI: Es el URI de la entidad emisora de tu aplicación de Microsoft Entra ID.
  • EXTRA_ATTRIBUTES_CLIENT_ID: El ID de cliente de tu aplicación de Microsoft Entra ID.
  • EXTRA_ATTRIBUTES_CLIENT_SECRET: El secreto del cliente adicional de tu aplicación de Microsoft Entra ID.
  • EXTRA_ATTRIBUTES_TYPE: Usa azure-ad-groups-mail para recuperar las direcciones de correo electrónico de los grupos. Usa azure-ad-groups-id para recuperar los IDs de los grupos.
  • EXTRA_ATTRIBUTES_FILTER: Opcional Es una expresión de filtro que se usa cuando se consulta la API de Microsoft Graph para grupos. Puedes usar este parámetro para asegurarte de que la cantidad de grupos recuperados del IdP permanezca por debajo del límite de 999 grupos.

    En el siguiente ejemplo, se recuperan los grupos que tienen el prefijo sales en su ID de correo electrónico:

    –-extra-attributes-filter='"mail:sales"'

    La siguiente expresión recupera grupos con un nombre visible que contiene la cadena sales.

    -–extra-attributes-filter='"displayName:sales”'

Otorga roles de IAM a los grupos

En esta sección, otorgarás roles a los grupos en los Google Cloud recursos. Para obtener más información sobre los identificadores principales de la federación de identidades de personal, consulta Representa a los usuarios del grupo de personal en las políticas de IAM.

En el siguiente ejemplo, se otorga el rol de administrador de almacenamiento (roles/storage.admin) a los usuarios de un grupo de Microsoft Entra ID.

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

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto
  • WORKFORCE_POOL_ID: El ID del grupo de identidades de personal
  • GROUP_ID: El identificador de grupo, que depende del valor de --extra-attributes-type que se usó para crear el proveedor de grupos de identidades de personal, de la siguiente manera:
    • azure-ad-groups-mail: El identificador del grupo es una dirección de correo electrónico, por ejemplo: admin-group@altostrat.com
    • azure-ad-groups-id: El identificador de grupo es un UUID del grupo, por ejemplo: abcdefgh-0123-0123-abcdef

Accede y prueba el acceso

En esta sección, accederás como un usuario del grupo de identidades de la fuerza laboral y probarás que tienes acceso a los recursos 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 a la consola (federada)

Para acceder a la Google Cloud consola de la federación de identidades de personal, también conocida como la 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
  3. Si se te solicita, ingresa las credenciales de usuario en Microsoft Entra ID.

    Si inicias un acceso iniciado por IdP, usa lo siguiente para la URL de retransmisión: https://console.cloud.google/.

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

Para crear el archivo de configuración de acceso, ejecuta el siguiente comando. De manera opcional, puedes activar el archivo como predeterminado para la CLI de gcloud agregando la marca --activate. Luego, puedes ejecutar gcloud auth login sin especificar la ruta de acceso del archivo de configuración cada vez.

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

Reemplaza lo siguiente:

  • WORKFORCE_POOL_ID: el ID del grupo de personal
  • PROVIDER_ID: el ID del proveedor
  • LOGIN_CONFIG_FILE_PATH: La ruta de acceso a un archivo de configuración que especifiques, por ejemplo, login.json

El archivo contiene los extremos 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 identidad de personal. El archivo no contiene información confidencial.

El resultado es similar al siguiente:

{
  "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://googleapis.com/v1/introspect",
}

Para evitar que gcloud auth login use este archivo de configuración automáticamente, puedes ejecutar gcloud config unset auth/login_config_file para anular la configuración.

Accede con autenticación basada en el navegador

Para autenticar con la autenticación de acceso basada en el navegador, puedes usar uno de los siguientes métodos:

  • Si usaste la marca --activate cuando creaste el archivo de configuración o si activaste el archivo de configuración con gcloud config set auth/login_config_file, gcloud CLI usa el archivo de configuración de forma automática:

    gcloud auth login
  • Para acceder mediante la especificación de la ubicación del archivo de configuración, ejecuta el siguiente comando:

    gcloud auth login --login-config=LOGIN_CONFIG_FILE_PATH
  • Para usar una variable de entorno a fin de especificar la ubicación del archivo de configuración, establece CLOUDSDK_AUTH_LOGIN_CONFIG_FILE en la ruta de configuración.

Inhabilita el acceso basado en el navegador

Para dejar de usar el archivo de configuración de acceso, haz lo siguiente:

  • Si usaste la marca --activate cuando creaste el archivo de configuración o si activaste el archivo de configuración con gcloud config set auth/login_config_file, debes ejecutar el siguiente comando para anularlo:

    gcloud config unset auth/login_config_file
  • Borra la variable de entorno CLOUDSDK_AUTH_LOGIN_CONFIG_FILE, si está configurada.

Acceso sin interfaz gráfica de la gcloud CLI

Para acceder a Microsoft Entra ID con la gcloud CLI, haz lo siguiente:

OIDC

  1. Sigue los pasos de la página Envía la solicitud de acceso. Permite que el usuario acceda a tu aplicación con Microsoft Entra ID mediante OIDC.

  2. Copia el token de ID del parámetro id_token de la URL de redireccionamiento y guárdalo en un archivo en una ubicación segura de tu máquina local. En el paso posterior, debes configurar PATH_TO_OIDC_ID_TOKEN en la ruta de acceso a este archivo.

  3. Genera un archivo de configuración similar al ejemplo que se muestra más adelante en este paso mediante la ejecución del 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 la identidad de personal.
    • WORKFORCE_PROVIDER_ID: El ID del proveedor del grupo de identidades de personal.
    • PATH_TO_OIDC_ID_TOKEN: la ruta a la ubicación del archivo en la que se almacena el token de IdP.
    • WORKFORCE_POOL_USER_PROJECT: El número o ID del proyecto que se usa para la cuota y la facturación. La principal debe tener el permiso serviceusage.services.use en este proyecto.

    Cuando se completa el comando, Microsoft Entra ID crea el siguiente archivo de configuración:

    {
      "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"
      }
    }
    
  4. Abre la gcloud CLI y ejecuta el siguiente comando:

    gcloud auth login --cred-file=PATH_TO_OIDC_CREDENTIALS
    

    Reemplaza PATH_TO_OIDC_CREDENTIALS por la ruta de acceso al archivo de salida de un paso anterior.

    La gcloud CLI publica las credenciales con transparencia en el extremo del servicio de tokens de seguridad. En el extremo, se intercambia por tokens de acceso temporales de Google Cloud .

    Ahora puedes ejecutar comandos de la CLI de gcloud enGoogle Cloud.

SAML

  1. Haz que un usuario acceda a tu aplicación de Microsoft Entra ID y obtén la respuesta de SAML.

  2. Guarda la respuesta SAML que muestra Microsoft Entra ID 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 de credenciales, 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 del grupo de identidades de personal que creaste antes en esta guía.
    • WORKFORCE_POOL_ID: el ID del grupo de identidad del 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"
    }
    
  4. Para acceder a la CLI de gcloud con el intercambio de tokens de la federación de identidades de personal, ejecuta el siguiente comando:

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

    Luego, la CLI de gcloud intercambia de manera transparente tus credenciales de Microsoft Entra ID por tokens de acceso temporales de Google Cloud . Los tokens de acceso te permiten acceder 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].
  5. Para enumerar las cuentas con credenciales y tu cuenta activa, ejecuta el siguiente comando:

    gcloud auth list
    

Pruebe el acceso

Ahora tienes acceso a los Google Cloud productos que admiten la federación de identidades de personal y a los que se te otorga acceso. Anteriormente en este documento, otorgaste el rol de administrador de almacenamiento (roles/storage.admin) a todas las identidades dentro del identificador de grupo que especificaste en gcloud projects add-iam-policy-binding para el proyecto TEST_PROJECT_ID.

Para probar que tienes acceso, enumera los buckets de Cloud Storage.

Consola (federada)

Para probar que tienes acceso mediante la consola (federada), haz lo siguiente:

  • Ve a la página de Cloud Storage

    Ir a Cloud Storage

  • Verifica que puedas ver una lista de los buckets existentes para TEST_PROJECT_ID.

gcloud CLI

Para probar que tienes acceso con la CLI de gcloud, puedes enumerar los buckets y objetos de Cloud Storage del proyecto al que tienes acceso. Para hacer esto, ejecuta el siguiente comando. La principal debe tener el permiso serviceusage.services.use en el proyecto especificado.

gcloud storage ls --project="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?