Configurar la federación de identidades de cargas de trabajo con Active Directory

En esta guía se describe cómo usar la federación de identidades de carga de trabajo para que las cargas de trabajo usen las credenciales de Active Directory para autenticarse en Google Cloud.

Si ejecutas cargas de trabajo de Windows Server en un entorno de Active Directory, es posible que estas cargas de trabajo tengan acceso a las credenciales de Active Directory. Por ejemplo:

  • Un servicio de Windows puede configurarse para iniciar sesión como usuario de dominio.
  • Una aplicación de IIS puede configurarse para que se ejecute como una cuenta de servicio gestionada por un grupo (gMSA).

Si usas la federación de identidades de cargas de trabajo junto con los servicios de federación de Active Directory (AD FS), puedes permitir que estas cargas de trabajo intercambien sus credenciales de Kerberos de Active Directory por credenciales de Google Cloud de corta duración. Las cargas de trabajo pueden usar estas credenciales de corta duración para acceder a las APIs de Google Cloud.

El intercambio de credenciales de Active Directory por credenciales de corta duración Google Cloud funciona encadenando dos intercambios de tokens:

  1. Una carga de trabajo usa OpenID Connect (OIDC), SAML-POST o WS-Trust para solicitar un token de OIDC o una aserción SAML a AD FS. Para autenticarse en AD FS, la carga de trabajo usa la autenticación integrada de Windows (IWA) y sus credenciales de Active Directory.
  2. La carga de trabajo usa la federación de identidades de carga de trabajo para intercambiar el token OIDC o la aserción SAML por un token del servicio de tokens de seguridad y, opcionalmente, para suplantar la identidad de una Google Cloud cuenta de servicio.

En este documento se explica cómo automatizar este proceso sin tener que hacer cambios en tu aplicación mediante el Workload Authenticator para Windows.

Preparar AD FS

Solo tienes que seguir estos pasos una vez.

Selecciona un protocolo

La forma de preparar AD FS depende del protocolo que quieras usar:

  • SAML: puedes permitir que las cargas de trabajo usen SAML o WS-Trust para obtener aserciones SAML.

    Para usar SAML o WS-Trust, crea una parte de confianza en AD FS y configura un grupo de identidades de carga de trabajo para que confíe en las aserciones emitidas para esta parte de confianza.

    Una carga de trabajo puede usar su usuario de Active Directory para autenticarse en AD FS mediante el enlace SAML-POST o WS-Trust. A continuación, AD FS emite una aserción SAML que contiene información sobre el usuario de Active Directory de la carga de trabajo e información adicional, como las pertenencias a grupos.

    Para usar SAML o WS-Trust, se necesita AD FS 3.0, AD FS para Windows Server 2016 o una versión más reciente de AD FS.

  • OIDC: puedes permitir que las cargas de trabajo usen OIDC para obtener tokens de OIDC.

    Para usar OIDC, debes crear un cliente OIDC (aplicación nativa) y un recurso OIDC (API web) en AD FS. A continuación, configura un grupo de identidades de carga de trabajo para que confíe en los tokens de acceso emitidos para la API Web.

    Una carga de trabajo puede usar su usuario de Active Directory y la concesión de OAuth client_credentials para autenticarse en AD FS. A continuación, AD FS emite un token de acceso, pero no un token de ID.

    El token de acceso contiene información sobre la aplicación cliente de OIDC, pero no incluye información sobre el usuario de Active Directory de la carga de trabajo ni sobre sus pertenencias a grupos.

    Como los tokens de acceso no contienen información sobre el usuario de Active Directory, usar OIDC puede ser menos flexible que usar SAML o WS-Trust.

    Para usar OIDC, se necesita AD FS para Windows Server 2016 o una versión posterior de AD FS.

Para iniciar sesión, tu proveedor de identidades debe proporcionar información de autenticación firmada: los proveedores de identidades de OIDC deben proporcionar un JWT y las respuestas de los proveedores de identidades de SAML deben estar firmadas.

Requisitos previos de IWA

En esta sección se describen los requisitos previos de IWA que se necesitan para usar esta guía.

Si no has usado IWA con AD FS antes, asegúrate de que cumples los siguientes requisitos previos:

Registrar la carga de trabajo

Para registrar tu carga de trabajo en AD FS, haz lo siguiente:

OIDC

Para permitir que las cargas de trabajo usen OIDC, necesitas dos registros de aplicaciones en AD FS:

  • Un registro de aplicación de tipo aplicación nativa o aplicación de servidor.

  • Un registro de aplicación de tipo API web que corresponde a un proveedor de grupos de identidades de carga de trabajo en Google Cloud.

Registrar la aplicación cliente

Crea una aplicación cliente que represente la carga de trabajo. Si tienes varias cargas de trabajo que necesitan acceder a Google Cloud, puede que tengas que crear varias aplicaciones cliente.

Para registrar una aplicación cliente en AD FS, sigue estos pasos:

  1. Abre el complemento MMC de AD FS y ve a Grupos de aplicaciones.
  2. Haz clic en Añadir grupo de aplicaciones.
  3. En la página Bienvenido, haz lo siguiente:

    1. En el campo de texto, introduce un nombre para el cliente.
    2. Selecciona Aplicación de servidor.
    3. Haz clic en Siguiente.
  4. En la página Aplicación de servidor, haga lo siguiente:

    1. En el campo de texto text-field, introduce un identificador de cliente (ID de cliente) y un URI de redirección.

      Si solo tienes previsto usar el tipo de concesión client_credentials, el URI de redirección no se usará y puedes usar un URI como http://localhost/.

    2. Haz clic en Siguiente.

  5. En la página Configurar credenciales de la aplicación, haz lo siguiente:

    1. Elige cómo se autenticará el cliente. Para usar IWA, define Autenticación integrada de Windows como habilitada.
    2. Selecciona el usuario de dominio con el que se ha configurado tu aplicación.
    3. Haz clic en Siguiente.
  6. En la página Resumen, revise la configuración y haga clic en Siguiente.

  7. Haz clic en Cerrar para cerrar el cuadro de diálogo.

Crear una aplicación de API web para el grupo de identidades de carga de trabajo

Crea otro registro de aplicación de tipo API web. Esta aplicación corresponde a un proveedor de grupos de identidades de carga de trabajo y se usa para configurar una relación de confianza con Google Cloud.

Para crear la aplicación en AD FS, siga estos pasos:

  1. Abre el complemento MMC de AD FS y ve a Grupos de aplicaciones.
  2. Haz clic en Añadir grupo de aplicaciones.
  3. En la página de bienvenida, introduce un nombre, como Workload Identity Federation (test environment), y selecciona API web. A continuación, haz clic en Siguiente.
  4. En la página Configurar API web, introduce un identificador de tercero de confianza para la API web.

    En lugar de definir un identificador de tercero de confianza personalizado, puede usar el siguiente URI como identificador de tercero de confianza:

    https://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/WORKLOAD_POOL_ID/providers/WORKLOAD_PROVIDER_ID
    

    Haz los cambios siguientes:

    • PROJECT_NUMBER: el número de proyecto del proyecto de Google Cloud que usas para crear el grupo de identidades de carga de trabajo.
    • WORKLOAD_POOL_ID: un ID de tu elección que identifica el grupo de identidades de carga de trabajo. Debe usar el mismo ID cuando cree el grupo de identidades de carga de trabajo más adelante.
    • WORKLOAD_PROVIDER_ID: un ID de tu elección que identifica al proveedor de grupos de identidades de carga de trabajo. Debes usar el mismo ID cuando crees el proveedor de grupos de identidades de carga de trabajo más adelante.

    Al dar formato al URI de esta forma, se asegura de que el identificador de la parte de confianza identifique de forma única a un proveedor de grupos de identidades de carga de trabajo.

    Necesitarás el identificador de la parte de confianza más adelante para configurar el proveedor de grupos de identidades de carga de trabajo.

  5. Haz clic en Siguiente.

  6. En la página Aplicar política de control de acceso, selecciona una política de acceso adecuada y haz clic en Siguiente.

  7. En la página Configurar permisos de aplicación, añade la aplicación cliente que has creado anteriormente. A continuación, haz clic en Siguiente.

  8. En la página Resumen, revise la configuración y haga clic en Siguiente.

  9. Haz clic en Cerrar para cerrar el cuadro de diálogo.

SAML o WS-Trust

Crea una relación de confianza con el usuario autenticado en AD FS:

  1. Abre el complemento MMC de AD FS.
  2. Vaya a Relaciones de confianza para usuario autenticado.
  3. Haz clic en Agregar veracidad del usuario de confianza.
  4. En la página Bienvenido del asistente Agregar veracidad del usuario de confianza, haz lo siguiente:
    1. Selecciona Reclamaciones.
    2. Haz clic en Empezar.
  5. En la página Seleccionar fuente de datos, haz lo siguiente:
    1. Selecciona Introducir manualmente los datos sobre el usuario de confianza.
    2. Haz clic en Siguiente.
  6. En la página Especificar nombre visible, haz lo siguiente:

    1. Escribe un nombre para la confianza.
    2. Haz clic en Siguiente.
  7. En la página Configurar certificado, haga clic en Siguiente. Aunque la federación de identidades de carga de trabajo admite SAML cifrado, no se describe en este procedimiento. Para obtener más información, consulta las instrucciones de la CLI de gcloud en Crear el grupo y el proveedor de identidades, que se encuentra más adelante en esta guía.

  8. En la página Configurar URL, haz lo siguiente:

    SAML

    Usa los siguientes ajustes:

    • Define Enable support for the SAML 2.0 WebSSO protocol (Habilitar la compatibilidad con el protocolo WebSSO de SAML 2.0) como enabled (habilitado).
    • En el campo URL del servicio de SSO de SAML 2.0 de la parte de confianza, introduce la siguiente URL:

      https://sts.googleapis.com/v1/token
      

    WS-Trust

    Mantener la configuración predeterminada

  9. Haz clic en Siguiente.

  10. En la página Configurar identificadores, introduzca un identificador de tercero de confianza.

    En lugar de definir un identificador de tercero de confianza personalizado, puede usar el siguiente URI como identificador de tercero de confianza:

    https://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/WORKLOAD_POOL_ID/providers/WORKLOAD_PROVIDER_ID
    

    Haz los cambios siguientes:

    • PROJECT_NUMBER: el número de proyecto del proyecto de Google Cloud que usas para crear el grupo de identidades de carga de trabajo.
    • WORKLOAD_POOL_ID: un ID de tu elección que identifica el grupo de identidades de carga de trabajo. Debe usar el mismo ID cuando cree el grupo de identidades de carga de trabajo más adelante.
    • WORKLOAD_PROVIDER_ID: un ID de tu elección que identifica al proveedor de grupos de identidades de carga de trabajo. Debes usar el mismo ID cuando crees el proveedor de grupos de identidades de carga de trabajo más adelante.

    Al dar formato al URI de esta forma, se asegura de que el identificador de la parte de confianza identifique de forma única a un proveedor de grupos de identidades de carga de trabajo.

    Necesitarás el identificador de la parte de confianza más adelante para configurar el proveedor de grupos de identidades de carga de trabajo.

  11. Haz clic en Siguiente.

  12. En la página Choose access control policy (Elegir política de control de acceso), selecciona una política de control de acceso adecuada y haz clic en Next (Siguiente).

  13. En la página Ready to add trust (¿Quieres añadir confianza?), revisa la configuración y haz clic en Next (Siguiente).

  14. En la página Finalizar, haz clic en Cerrar para cerrar el cuadro de diálogo.

Para que sean compatibles con la federación de identidades de carga de trabajo, las aserciones SAML deben contener al menos una reclamación que identifique de forma única al usuario de Active Directory. Normalmente, se usa la reclamación Name ID (ID de nombre) para este fin, que corresponde al valor del elemento NameID de la aserción SAML.

Para personalizar el conjunto de reclamaciones de la aserción SAML, debe editar la política de emisión de reclamaciones de la confianza de la parte autenticada. Para editar la política de emisión de reclamaciones, sigue estos pasos:

  1. En la lista de confianzas de terceros, seleccione la confianza que acaba de crear y haga clic en Editar directiva de emisión de reclamaciones.
  2. Haz clic en Añadir regla.
  3. En la página Elegir tipo de regla del asistente Añadir regla de notificación de transformación, haz lo siguiente:
    1. Selecciona Transformar una reclamación entrante.
    2. Haz clic en Siguiente.
  4. En la página Configurar regla de reclamación, configure los siguientes ajustes:

    • Nombre de la regla de reclamación: Name Identifier.
    • Tipo de reclamación entrante: selecciona SID principal, UPN u otra reclamación para identificar al sujeto de forma única.
    • Tipo de notificación saliente: ID de nombre.
    • Formato de ID de nombre saliente: Sin especificar.
  5. Selecciona Transfiere todos los valores de la reclamación y haz clic en Finalizar.

  6. También puede configurar reglas adicionales para incluir más atributos en las aserciones SAML.

  7. Haz clic en Aceptar para cerrar el cuadro de diálogo de la política de emisión de reclamaciones.

Configurar la federación de identidades de cargas de trabajo

Solo tienes que seguir estos pasos una vez por cada dominio de Microsoft Active Directory con el que quieras federar. Después, puedes usar el mismo grupo y proveedor de Workload Identity en varias cargas de trabajo y en varios proyectos.Google Cloud

Para empezar a configurar la federación de identidades de cargas de trabajo, haz lo siguiente:

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Lo más recomendable es usar un proyecto específico para gestionar los grupos y proveedores de Workload Identity.
  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the IAM, Resource Manager, Service Account Credentials, and Security Token Service APIs.

    Enable the APIs

Definir una asignación de atributos y una condición

Las credenciales específicas del entorno de tu carga de trabajo de Active Directory contienen varios atributos, y debes decidir qué atributo quieres usar como identificador de asunto (google.subject) en Google Cloud.

Si quiere, puede mapear atributos adicionales. Después, puede hacer referencia a estos atributos adicionales al conceder acceso a los recursos.

OIDC

Tus asignaciones de atributos pueden usar las reclamaciones insertadas en los tokens de acceso de AD FS como atributos de origen.

Para autenticar una aplicación, puedes usar la siguiente asignación de atributos:

google.subject=assertion.appid

Esta asignación asigna a google.subject el valor de la reclamación appid, que contiene el ID de cliente de la aplicación AD FS.

SAML o WS-Trust

Las asignaciones de atributos pueden usar las reclamaciones insertadas en la aserción emitida por AD FS, tal como se ha descrito anteriormente en esta guía.

Usa la siguiente asignación para que la federación de identidades de cargas de trabajo utilice la reclamación ID de nombre de la aserción SAML para identificar al usuario de forma única:

google.subject=assertion.subject

Si ha configurado su política de emisión de reclamaciones para incluir reclamaciones adicionales en las aserciones SAML, puede añadir asignaciones adicionales. Por ejemplo:

google.groups=assertion.attributes['http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid']
attribute.userip=['http://schemas.microsoft.com/2014/09/requestcontext/claims/userip'][0]

También puede definir una condición de atributo. Las condiciones de los atributos son expresiones CEL que pueden comprobar los atributos de aserción y los atributos de destino. Si el atributo de condición se evalúa como true para una credencial determinada, se acepta la credencial. De lo contrario, se rechaza la credencial.

OIDC

Puede usar una condición de atributo para restringir qué clientes pueden usar la federación de identidades de cargas de trabajo para obtener tokensGoogle Cloud de corta duración.

Por ejemplo, la siguiente condición define que las aplicaciones deben usar IWA para autenticarse en AD FS:

assertion.authmethod=='http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/windows'

Para controlar la lista de aplicaciones que pueden obtener credenciales de corta duración para Google Cloud, no definas condiciones de atributo. En su lugar, usa los permisos de cliente en AD FS para definir qué aplicaciones están permitidas.

SAML o WS-Trust

Puedes usar una condición de atributo para restringir qué usuarios de Active Directory pueden usar la federación de identidades de carga de trabajo para obtener tokensGoogle Cloud de corta duración.

Por ejemplo, la siguiente condición solo permite aserciones SAML que incluyan una determinada reclamación de pertenencia a un grupo:

"S-1-5-6" in google.groups

Crear el grupo y el proveedor de identidades de carga de trabajo

Roles obligatorios

Para obtener los permisos que necesitas para configurar la federación de identidades de carga de trabajo, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y acceso en el proyecto:

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

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

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

Consola

  1. En la Google Cloud consola, ve a la página Nuevo proveedor y grupo de cargas de trabajo.

    Ve a Nuevo proveedor y grupo de cargas de trabajo.

  2. En Create an identity pool (Crear un grupo de identidades), introduce lo siguiente:

    • Nombre: nombre del grupo. El nombre también se usa como ID del grupo. No podrás cambiar el ID del grupo más adelante.
    • Descripción: texto que describe el propósito del grupo.
  3. Haz clic en Continuar.

  4. Configura los ajustes del proveedor:

    OIDC

    • Selecciona un proveedor: OpenID Connect (OIDC).
    • Nombre del proveedor: el nombre del proveedor. El nombre también se usa como ID de proveedor. No podrás cambiar el ID del proveedor más adelante.
    • URL del emisor: https://ADFS_DOMAIN/adfs donde ADFS_DOMAIN es el nombre de dominio público del servidor o la granja de servidores de AD FS.

    SAML

    Para configurar la federación de identidades de cargas de trabajo desde un proveedor de identidades compatible con SAML 2.0, puedes usar las instrucciones de la CLI de gcloud.

  5. Haz clic en Continuar.

  6. En Configurar atributos del proveedor, añade las asignaciones de atributos que hayas identificado anteriormente.

  7. En Condiciones de los atributos, introduzca la condición de los atributos que ha identificado anteriormente. Deje el campo en blanco si no tiene ninguna condición de atributo.

  8. Haz clic en Guardar para crear el grupo de identidades de carga de trabajo y el proveedor.

gcloud

  1. Crea un grupo de identidades de carga de trabajo:

    gcloud iam workload-identity-pools create WORKLOAD_POOL_ID \
        --location="global" \
        --description="DESCRIPTION" \
        --display-name="DISPLAY_NAME"
    

    Haz los cambios siguientes:

    • WORKLOAD_POOL_ID: ID único del grupo.
    • DISPLAY_NAME: nombre del grupo.
    • DESCRIPTION: descripción de la piscina. Esta descripción aparece al conceder acceso a identidades de grupo.
  2. Añade un proveedor de grupos de identidades de carga de trabajo:

    OIDC

    gcloud iam workload-identity-pools providers create-oidc WORKLOAD_PROVIDER_ID \
        --location="global" \
        --workload-identity-pool="WORKLOAD_POOL_ID" \
        --issuer-uri="https://ADFS_DOMAIN/adfs" \
        --allowed-audiences="RELYING_PARTY_ID" \
        --attribute-mapping="MAPPINGS" \
        --attribute-condition="CONDITIONS"
    

    Haz los cambios siguientes:

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

    SAML o WS-Trust

    curl -O https://ADFS_DOMAIN/federationmetadata/2007-06/federationmetadata.xml
    
    gcloud iam workload-identity-pools providers create-saml WORKLOAD_PROVIDER_ID \
        --location="global" \
        --workload-identity-pool="POOL_ID" \
        --idp-metadata-path="federationmetadata.xml" \
        --attribute-mapping="MAPPINGS" \
        --attribute-condition="CONDITIONS"
    

    Haz los cambios siguientes:

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

    Ejemplo:

    gcloud iam workload-identity-pools providers create-saml example-provider \
        --location="global" \
        --workload-identity-pool="pool-1" \
        --idp-metadata-path="federationmetadata.xml" \
        --attribute-mapping=google.subject=assertion.subject"
    

    Opcional: Aceptar aserciones SAML cifradas de tu proveedor de identidades

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

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

    Crear claves de cifrado de aserciones SAML de federación de identidades de cargas de trabajo

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

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

    gcloud iam workload-identity-pools providers keys create KEY_ID \
        --workload-identity-pool WORKLOAD_POOL_ID \
        --provider WORKLOAD_PROVIDER_ID \
        --location global \
        --use encryption \
        --spec KEY_SPECIFICATION

    Haz los cambios siguientes:

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

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

    gcloud iam workload-identity-pools providers keys describe KEY_ID \
        --workload-identity-pool WORKLOAD_POOL_ID \
        --provider WORKLOAD_PROVIDER_ID \
        --location global \
        --format "value(keyData.key)" \
        > CERTIFICATE_PATH

    Haz los cambios siguientes:

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

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

    1. Mueve el archivo de certificado a tu servidor de AD FS.
    2. En tu servidor de AD FS, haz clic con el botón derecho en el botón Inicio (o pulsa Win+X) y, a continuación, en Windows PowerShell (administrador).
    3. En PowerShell, ejecuta el siguiente comando para habilitar el cifrado:
              Set-AdfsRelyingPartyTrust `
              -TargetName NAME `
              -SamlResponseSignature MessageAndAssertion `
              -EncryptionCertificate PATH `
              -EncryptClaims $True
          

      Haz los cambios siguientes:

      • NAME: el nombre de tu confianza de tercero
      • PATH: la ruta del archivo de certificado

    Usuarios de WS-Trust: esta función solo está disponible cuando se usa SAML.

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

    Eliminar claves de cifrado de federación de identidades de cargas de trabajo

    Para eliminar las claves de cifrado SAML, ejecuta el siguiente comando:
      gcloud iam workload-identity-pools providers keys delete KEY_ID \
          --workload-identity-pool WORKLOAD_POOL_ID \
          --provider WORKLOAD_PROVIDER_ID \
          --location global

    Haz los cambios siguientes:

    • KEY_ID: el nombre de la clave
    • WORKLOAD_POOL_ID: el ID del grupo
    • WORKLOAD_PROVIDER_ID: el ID del proveedor de grupos de identidades de Workforce

    Algoritmos de cifrado SAML admitidos

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

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

Opcional: Habilitar el cifrado SAML

Las aserciones SAML emitidas por AD FS se firman criptográficamente y se intercambian a través de un canal TLS cifrado. Sin embargo, las aserciones SAML no están cifradas. Si usas el cifrado SAML, puedes configurar AD FS para que cifre las aserciones de forma que solo se puedan descifrar y leer en tu grupo de identidades de carga de trabajo.

OIDC

Esta función solo está disponible cuando usas SAML.

SAML o WS-Trust

  1. Crea una clave de cifrado para tu proveedor de grupos de identidades de carga de trabajo:

    gcloud iam workload-identity-pools providers keys create rsa2048 \
        --workload-identity-pool=POOL_ID \
        --provider=WORKLOAD_PROVIDER_ID \
        --location=global \
        --use=ENCRYPTION \
        --spec=RSA_2048
    

    Haz los cambios siguientes:

    • WORKLOAD_PROVIDER_ID: ID del proveedor.
    • POOL_ID: el ID del grupo.

    El par de claves se almacena y gestiona mediante la federación de identidades de cargas de trabajo. Puedes exportar la clave pública, pero solo la federación de identidades de carga de trabajo puede acceder a la clave privada.

  2. Exporta un certificado que contenga la clave pública:

    gcloud iam workload-identity-pools providers keys describe rsa2048 \
        --workload-identity-pool=POOL_ID \
        --provider=WORKLOAD_PROVIDER_ID \
        --location=global \
        --format="value(keyData.key)" > workload-identity-federation.cer
    
  3. Mueve el archivo de certificado a tu servidor de AD FS.

  4. En el servidor de AD FS, haz clic con el botón derecho en Inicio y, a continuación, en Windows PowerShell (Administrador).

  5. En PowerShell, modifica la confianza de la parte autenticada para que use el cifrado:

    Set-AdfsRelyingPartyTrust `
      -TargetName NAME `
      -SamlResponseSignature MessageAndAssertion `
      -EncryptionCertificate PATH `
      -EncryptClaims $True
    

    Haz los cambios siguientes:

    • NAME: el nombre de tu confianza de tercero
    • PATH: la ruta del archivo de certificado

Autenticar una carga de trabajo

Debes seguir estos pasos una vez por carga de trabajo.

Permitir que tu carga de trabajo externa acceda a los recursos de Google Cloud

Para proporcionar a tu carga de trabajo acceso a los recursos de Google Cloud , te recomendamos que concedas acceso directo a los recursos a la entidad principal. En este caso, el principal es el usuario federado. Algunos Google Cloud productos tienen limitaciones en la API de Google Cloud. Si tu carga de trabajo llama a un endpoint de API que tiene una limitación, puedes usar la suplantación de identidad de la cuenta de servicio. En este caso, el principal es laGoogle Cloud cuenta de servicio, que actúa como identidad. Concede acceso a la cuenta de servicio en el recurso.

Acceso directo a recursos

Puedes conceder acceso a una identidad federada directamente a los recursos mediante la Google Cloud consola o la CLI de gcloud.

Consola

Para usar la Google Cloud consola y asignar roles de gestión de identidades y accesos directamente a un recurso, debes ir a la página del recurso y, a continuación, asignar el rol. En el siguiente ejemplo se muestra cómo ir a la página de Cloud Storage y asignar el rol Lector de objetos de Storage (roles/storage.objectViewer) a una identidad federada directamente en un segmento de Cloud Storage.

  1. En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.

    Ir a Contenedores

  2. En la lista de segmentos, haga clic en el nombre del segmento al que quiera conceder el rol.

  3. Seleccione la pestaña Permisos, situada cerca de la parte superior de la página.

  4. Haz clic en el botón Conceder acceso.

    Aparecerá el cuadro de diálogo Añadir principales.

  5. En el campo Nuevos principales, introduzca una o varias identidades que necesiten acceder a su contenedor.

    Por tema

    principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT
    

    Haz los cambios siguientes:

    • PROJECT_NUMBER: el número del proyecto
    • POOL_ID: el ID del grupo de cargas de trabajo
    • SUBJECT: el asunto individual asignado desde tu proveedor de identidades. Por ejemplo: [email protected]

    Por grupo

    principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP
    

    Haz los cambios siguientes:

    • PROJECT_NUMBER: el número del proyecto
    • WORKLOAD_POOL_ID: el ID del grupo de cargas de trabajo
    • GROUP: el grupo asignado de tu proveedor de identidades. Por ejemplo: [email protected]

    Por atributo

    principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
    

    Haz los cambios siguientes:

    • PROJECT_NUMBER: el número del proyecto
    • WORKLOAD_POOL_ID: el ID del grupo de cargas de trabajo
    • ATTRIBUTE_NAME: uno de los atributos que se ha asignado desde tu proveedor de identidades
    • ATTRIBUTE_VALUE: el valor del atributo
  6. Selecciona uno o varios roles en el menú desplegable Selecciona un rol. Los roles que selecciones aparecerán en el panel con una breve descripción de los permisos que conceden.

  7. Haz clic en Guardar.

gcloud

Para usar la CLI de gcloud y asignar roles de IAM en un recurso de un proyecto, haz lo siguiente:

  1. Obtén el número del proyecto en el que se define el recurso.

    gcloud projects describe $(gcloud config get-value core/project) --format=value\(projectNumber\)
    
  2. Concede acceso al recurso.

    Para usar la CLI de gcloud y asignar el rol Lector de objetos de Storage (roles/storage.objectViewer) a identidades externas que cumplan determinados criterios, ejecuta el siguiente comando.

    Por tema

    gcloud storage buckets add-iam-policy-binding BUCKET_ID \
        --role=roles/storage.objectViewer \
        --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT"

    Por grupo

    gcloud storage buckets add-iam-policy-binding BUCKET_ID \
        --role=roles/storage.objectViewer \
        --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP"

    Por atributo

    gcloud storage buckets add-iam-policy-binding BUCKET_ID \
        --role=roles/storage.objectViewer \
        --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE"

    Haz los cambios siguientes:

    • BUCKET_ID: el contenedor al que se va a conceder acceso
    • PROJECT_NUMBER: el número de proyecto del proyecto que contiene el grupo de identidades de carga de trabajo.
    • POOL_ID: el ID del grupo de identidades de carga de trabajo
    • SUBJECT: el valor esperado del atributo que has asignado a google.subject
    • GROUP: el valor esperado del atributo que has asignado a google.groups
    • ATTRIBUTE_NAME: el nombre de un atributo personalizado en tu asignación de atributos
    • ATTRIBUTE_VALUE: el valor del atributo personalizado en tu asignación de atributos

    Puedes conceder roles en cualquier Google Cloud recurso que admita políticas de permiso de gestión de identidades y accesos.

Suplantación de identidad de cuentas de servicio

  1. Para crear una cuenta de servicio para la carga de trabajo externa, sigue estos pasos:

    1. Enable the IAM, Security Token Service, and Service Account Credentials APIs.

      Enable the APIs

    2. Crea una cuenta de servicio que represente la carga de trabajo. Te recomendamos que utilices una cuenta de servicio específica para cada carga de trabajo. La cuenta de servicio no tiene que estar en el mismo proyecto que el grupo de identidades de carga de trabajo, pero debes hacer referencia al proyecto que contiene la cuenta de servicio.

    3. Concede acceso a la cuenta de servicio a los recursos a los que quieras que accedan las identidades externas.

  2. Para permitir que la identidad federada suplante la cuenta de servicio, haz lo siguiente:

Consola

Para usar la Google Cloud consola y conceder roles de gestión de identidades y accesos a una identidad federada con una cuenta de servicio, sigue estos pasos:

Cuenta de servicio en el mismo proyecto

  1. Para conceder acceso mediante la suplantación de identidad de una cuenta de servicio en el mismo proyecto, sigue estos pasos:

    1. Ve a la página Grupos de Workload Identity.

      Ir a Grupos de Workload Identity

    2. Selecciona Conceder acceso.

    3. En el cuadro de diálogo Grant access to service account (Conceder acceso a la cuenta de servicio), selecciona Grant access using Service Account impersonation (Conceder acceso mediante la suplantación de la cuenta de servicio).

    4. En la lista Cuentas de servicio, selecciona la cuenta de servicio que las identidades externas deben suplantar y haz lo siguiente:

    5. Para elegir qué identidades del grupo pueden suplantar la identidad de la cuenta de servicio, realiza una de las siguientes acciones:

      • Para permitir que solo determinadas identidades del grupo de identidades de carga de trabajo suplanten la identidad de la cuenta de servicio, seleccione Solo las identidades que coincidan con el filtro.

      • En la lista Nombre del atributo, seleccione el atributo por el que quiera filtrar.

      • En el campo Valor del atributo, introduzca el valor esperado del atributo. Por ejemplo, si utiliza una asignación de atributos google.subject=assertion.sub, defina el nombre del atributo como subject y el valor del atributo como el valor de la reclamación sub en los tokens emitidos por su proveedor de identidades externo.

    6. Para guardar la configuración, haz clic en Guardar y, a continuación, en Cerrar.

Cuenta de servicio en otro proyecto

  1. Para conceder acceso mediante la suplantación de identidad de una cuenta de servicio en otro proyecto, sigue estos pasos:

    1. Ve a la página Cuentas de servicio.

      Ir a Cuentas de servicio

    2. Selecciona la cuenta de servicio que quieras suplantar.

    3. Haz clic en Gestionar acceso.

    4. Haz clic en Añadir principal.

    5. En el campo Nuevo principal, introduce uno de los siguientes identificadores principales de las identidades de tu grupo que suplantarán la cuenta de servicio.

      Por tema

      principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT
      

      Haz los cambios siguientes:

      • PROJECT_NUMBER: el número del proyecto
      • POOL_ID: el ID del grupo de cargas de trabajo
      • SUBJECT: el asunto individual asignado desde tu proveedor de identidades. Por ejemplo: [email protected]

      Por grupo

      principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP
      

      Haz los cambios siguientes:

      • PROJECT_NUMBER: el número del proyecto
      • WORKLOAD_POOL_ID: el ID del grupo de cargas de trabajo
      • GROUP: el grupo asignado de tu proveedor de identidades. Por ejemplo: [email protected]

      Por atributo

      principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
      

      Haz los cambios siguientes:

      • PROJECT_NUMBER: el número del proyecto
      • WORKLOAD_POOL_ID: el ID del grupo de cargas de trabajo
      • ATTRIBUTE_NAME: uno de los atributos que se ha asignado desde tu proveedor de identidades
      • ATTRIBUTE_VALUE: el valor del atributo

      Por piscina

      principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*
      

      Haz los cambios siguientes:

      • PROJECT_NUMBER: el número del proyecto
      • WORKLOAD_POOL_ID: el ID del grupo de cargas de trabajo
    6. En Selecciona un rol, selecciona el rol Usuario de Workload Identity (roles/iam.workloadIdentityUser).

    7. Para guardar la configuración, haz clic en Guardar.

gcloud

Para conceder el rol de usuario de identidad de carga de trabajo (roles/iam.workloadIdentityUser) a un principal federado o a un conjunto de principales, ejecuta el siguiente comando. Para obtener más información sobre los identificadores principales de la federación de identidades de cargas de trabajo, consulta Tipos de principales.

Por tema

gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \
    --role=roles/iam.workloadIdentityUser \
    --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT"

Por grupo

gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \
    --role=roles/iam.workloadIdentityUser \
    --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP"

Por atributo

gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \
    --role=roles/iam.workloadIdentityUser \
    --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE"

Haz los cambios siguientes:

  • SERVICE_ACCOUNT_EMAIL: la dirección de correo de la cuenta de servicio
  • PROJECT_NUMBER: el número de proyecto del proyecto que contiene el grupo de identidades de carga de trabajo.
  • POOL_ID: el ID del grupo de identidades de carga de trabajo
  • SUBJECT: el valor esperado del atributo que has asignado a google.subject
  • GROUP: el valor esperado del atributo que has asignado a google.groups
  • ATTRIBUTE_NAME: el nombre de un atributo personalizado en tu asignación de atributos
  • ATTRIBUTE_VALUE: el valor del atributo personalizado en tu asignación de atributos

Crear una configuración de credenciales

Puedes permitir que las bibliotecas de cliente de Cloud y herramientas como la CLI de gcloud y Terraform usen las credenciales de Active Directory para autenticarse en Google Cloud mediante Workload Authenticator para Windows.

Workload Authenticator para Windows es una herramienta de código abierto que funciona como un complemento de las bibliotecas de cliente de Cloud y de herramientas como la CLI de gcloud:

  1. Cuando la herramienta o la biblioteca necesitan una nueva credencial, inician Workload Authenticator en segundo plano.
  2. Workload Authenticator usa OIDC, SAML o WS-Trust para obtener un nuevo token o una aserción SAML de AD FS y lo devuelve a la herramienta o biblioteca.
  3. A continuación, la herramienta o la biblioteca intercambia el token o la aserción de SAML por credenciales de corta duración mediante la federación de identidades de carga de trabajo. Google Cloud

Para usar Workload Authenticator para Windows, debes crear un archivo de configuración de credenciales. Este archivo define lo siguiente:

  • Dónde encontrar el archivo ejecutable de Workload Authenticator para Windows (wwauth.exe) y con qué parámetros ejecutarlo
  • Qué grupo y proveedor de identidades de carga de trabajo se deben usar
  • Cuenta de servicio cuya identidad se va a usar

Para crear un archivo de configuración de credenciales, haz lo siguiente en el servidor Windows que ejecuta tu carga de trabajo:

  1. Haz clic con el botón derecho en el botón Inicio (o pulsa Win+X) y, a continuación, en Windows PowerShell.
  2. Descarga el Workload Authenticator para Windows y guárdalo en una ubicación a la que pueda acceder tu carga de trabajo:

    (New-Object Net.WebClient).DownloadFile(
      "https://github.com/GoogleCloudPlatform/iam-windows-authenticator/releases/latest/download/wwauth.exe",
      "${env:ProgramData}\wwauth.exe")
    

    Si creas un archivo de configuración de credenciales con WorkloadAuthenticator para Windows, el archivo contendrá la ruta a su ejecutable. Si eliminas o mueves el archivo ejecutable más adelante, las cargas de trabajo no podrán encontrarlo ni usarlo.

  3. Lanzamiento de wwauth.exe:

    & ${env:ProgramData}\wwauth.exe
    

    Se abrirá un cuadro de diálogo de configuración:

    Autenticador de cargas de trabajo

  4. Seleccione la pestaña AD FS e introduzca los siguientes ajustes:

    • URI del emisor del servidor de AD FS: URI público de tu servidor o granja de servidores de AD FS.

      https://ADFS_DOMAIN/adfs/
      

      Sustituye ADFS_DOMAIN por el nombre de dominio público de tu servidor o granja de servidores de AD FS.

    Los siguientes ajustes dependen del protocolo que quieras usar:

    OIDC

    • Protocolo: AdfsOidc
    • ID de la parte verificadora: mantén el valor predeterminado.
    • ID de cliente: identificador de cliente (ID de cliente) de la aplicación de servidor en AD FS.

    SAML

    • Protocolo: AdfsSamlPost
    • URL del servicio de consumidor de aserciones: https://sts.googleapis.com/v1/token.
    • Solicitudes de firma con certificado: inhabilitado

    WS-Trust

    • Protocolo: AdfsWsTrust
  5. Selecciona la pestaña Workload Identity e introduce los siguientes ajustes:

    • Número de proyecto: número del proyecto que contiene el grupo de identidades de carga de trabajo.
    • ID del grupo: ID del grupo de identidades de carga de trabajo.
    • ID del proveedor: ID del proveedor de grupos de identidades de carga de trabajo
    • Usar la identidad de una cuenta de servicio: habilitado, si usas la identidad temporal de una cuenta de servicio
    • Dirección de correo electrónico: dirección de correo de la cuenta de servicio, si usas la suplantación de identidad de la cuenta de servicio
  6. Seleccione la pestaña AD FS y compruebe que el campo ID de la parte de confianza ahora contiene la URL de su proveedor de grupos de identidades de carga de trabajo.

  7. Haga clic en Aplicar y elija una ubicación para guardar el archivo de configuración de las credenciales.

    A diferencia de una clave de cuenta de servicio, un archivo de configuración de credenciales no contiene ningún secreto y no es necesario que se mantenga confidencial. Puedes consultar los detalles sobre el archivo de configuración de las credenciales en https://google.aip.dev/auth/4117.

Ahora puedes probar tu configuración:

  1. Selecciona un usuario de Active Directory para hacer la prueba. Puede ser el usuario de Active Directory de la carga de trabajo o el usuario con el que has iniciado sesión.

  2. Para probar la configuración con tu usuario actual, haz clic en Probar.

    Para hacer pruebas con otro usuario, selecciona Prueba > Probar configuración como usuario e introduce las credenciales del usuario.

    Ahora, la herramienta intenta autenticarse en Google Cloud siguiendo estos pasos:

    1. Obtener un token de OIDC o una aserción SAML de AD FS.
    2. Obtener un token de Google Security Token Service.
    3. Suplanta la identidad de la cuenta de servicio si usas la suplantación de identidad de cuentas de servicio.

    Si la autenticación se realiza correctamente, verás el mensaje Prueba completada correctamente:

    Resultado de la prueba

Usar la configuración de credenciales para acceder a Google Cloud

Para permitir que las herramientas y las bibliotecas de cliente usen tu configuración de credenciales, haz lo siguiente en el servidor Windows que ejecuta tu carga de trabajo:

  1. Haz clic con el botón derecho en el botón Inicio y, a continuación, en Ejecutar.
  2. Introduce sysdm.cpl y haz clic en Aceptar.
  3. En la pestaña Avanzada, haz clic en Variables de entorno.
  4. En la sección Variables del sistema, añade dos variables:

    Nombre Valor
    GOOGLE_APPLICATION_CREDENTIALS Ruta al archivo de configuración de credenciales
    GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES 1
  5. Haz clic en Aceptar.

  6. Usa una biblioteca o herramienta de cliente que admita la federación de identidades de cargas de trabajo y que pueda encontrar credenciales automáticamente:

    C++

    Las Google Cloud bibliotecas de cliente de C++ admiten Workload Identity Federation desde la versión v2.6.0. Para usar la federación de identidades de cargas de trabajo, debes compilar las bibliotecas de cliente con la versión 1.36.0 o una posterior de gRPC.

    Go

    Las bibliotecas de cliente de Go admiten la federación de identidades de carga de trabajo si usan la versión v0.0.0-20210218202405-ba52d332ba99 o una posterior del módulo golang.org/x/oauth2.

    Para comprobar qué versión de este módulo usa tu biblioteca de cliente, ejecuta los siguientes comandos:

    cd $GOPATH/src/cloud.google.com/go
    go list -m golang.org/x/oauth2
    

    Java

    Las bibliotecas de cliente de Java admiten la federación de identidades de cargas de trabajo si usan la versión 0.24.0 o posterior del artefacto com.google.auth:google-auth-library-oauth2-http.

    Para comprobar qué versión de este artefacto usa tu biblioteca de cliente, ejecuta el siguiente comando de Maven en el directorio de tu aplicación:

    mvn dependency:list -DincludeArtifactIds=google-auth-library-oauth2-http
    

    Node.js

    Las bibliotecas de cliente de Node.js admiten la federación de identidades de carga de trabajo si usan la versión 7.0.2 o una posterior del paquete google-auth-library.

    Para comprobar qué versión de este paquete usa tu biblioteca de cliente, ejecuta el siguiente comando en el directorio de tu aplicación:

    npm list google-auth-library
    

    Cuando creas un objeto GoogleAuth, puedes especificar un ID de proyecto o permitir que GoogleAuth lo encuentre automáticamente. Para encontrar el ID del proyecto automáticamente, la cuenta de servicio del archivo de configuración debe tener el rol de navegador (roles/browser) o un rol con permisos equivalentes en tu proyecto. Para obtener más información, consulta la README del paquete google-auth-library.

    Python

    Las bibliotecas de cliente de Python admiten la federación de identidades de carga de trabajo si usan la versión 1.27.0 o una posterior del paquete google-auth.

    Para comprobar qué versión de este paquete usa tu biblioteca de cliente, ejecuta el siguiente comando en el entorno en el que está instalado el paquete:

    pip show google-auth
    

    Para especificar un ID de proyecto para el cliente de autenticación, puedes definir la variable de entorno GOOGLE_CLOUD_PROJECT o permitir que el cliente busque el ID de proyecto automáticamente. Para encontrar el ID de proyecto automáticamente, la cuenta de servicio del archivo de configuración debe tener el rol de navegador (roles/browser) o un rol con permisos equivalentes en tu proyecto. Para obtener más información, consulta la guía de usuario del paquete google-auth.

    gcloud

    Para autenticarte con la federación de identidades de cargas de trabajo, usa el comando gcloud auth login:

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

    Sustituye FILEPATH por la ruta del archivo de configuración de credenciales.

    La compatibilidad con Workload Identity Federation en la CLI de gcloud está disponible en la versión 363.0.0 y en versiones posteriores de la CLI de gcloud.

    Terraform

    El proveedorGoogle Cloud admite la federación de identidades de cargas de trabajo si usas la versión 3.61.0 o una posterior:

    terraform {
      required_providers {
        google = {
          source  = "hashicorp/google"
          version = "~> 3.61.0"
        }
      }
    }
    

    bq

    Para autenticarte mediante la federación de identidades de cargas de trabajo, usa el comando gcloud auth login, como se indica a continuación:

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

    Sustituye FILEPATH por la ruta del archivo de configuración de credenciales.

    La federación de identidades de carga de trabajo en bq está disponible en la versión 390.0.0 y en versiones posteriores de la CLI de gcloud.

Siguientes pasos