0 / 0
Volver a la versión inglesa de la documentación

Ejemplos de federación de identidad de carga de trabajo

Última actualización: 28 nov 2024
Ejemplos de federación de identidad de carga de trabajo

La federación de identidad de carga de trabajo para las conexiones Google BigQuery y Google Cloud Storage está soportada por cualquier proveedor de identidad que admita OpenID Connect (OIDC) o SAML 2.0.

Estos ejemplos son para AWS con Amazon Cognito y para Microsoft Azure.

AWS

Configurar federación de identidad de carga de trabajo en Amazon Cognito

  1. Cree un proveedor de identidad OIDC (IdP) con Cognito siguiendo las instrucciones de la documentación de Amazon:

    Para obtener más información, consulte Primeros pasos con Amazon Cognito .

  2. Cree un grupo y un usuario en el IdP con la consola de AWS . O bien, puede utilizar la CLI de AWS :

    CLIENT_ID=YourClientId
    ISSUER_URL=https://cognito-idp.YourRegion.amazonaws.com/YourPoolId
    POOL_ID=YourPoolId
    USERNAME=YourUsername
    PASSWORD=YourPassword
    GROUPNAME=YourGroupName
    
    aws cognito-idp admin-create-user --user-pool-id $POOL_ID --username $USERNAME --temporary-password Temp-Pass1
    aws cognito-idp admin-set-user-password --user-pool-id $POOL_ID --username $USERNAME --password $PASSWORD --permanent
    aws cognito-idp create-group --group-name $GROUPNAME --user-pool-id $POOL_ID
    aws cognito-idp admin-add-user-to-group --user-pool-id $POOL_ID --username $USERNAME --group-name $GROUPNAME
    
  3. En la consola de AWS , pulse Ver IU alojada e inicie sesión en la IU de IDP en un navegador para asegurarse de que se resuelve cualquier nuevo desafío de contraseña.

  4. Obtenga un IdToken con la CLI de AWS :

    aws cognito-idp admin-initiate-auth --auth-flow ADMIN_USER_PASSWORD_AUTH --client-id $CLIENT_ID --auth-parameters USERNAME=$USERNAME,PASSWORD=$PASSWORD --user-pool-id $POOL_ID
    

    Para obtener más información sobre el flujo de autenticación de los grupos de usuarios de Amazon Cognito, consulte AdminInitiateAuth .

Configurar Google Cloud para Amazon Cognito

Cuando cree el proveedor en Google Cloud, utilice estos valores:

  • Establezca Emisor (URL) en https://cognito-idp.YourRegion.amazonaws.com/YourPoolId.
  • Establezca Audiencia permitida en el ID de cliente.
  • En Correlación de atributos, correlacione google.subject con assertion.sub.

Crear la conexión con la federación de identidad de carga de trabajo de Amazon Cognito

  1. Elija el método de autenticación Workload Identity Federation with access token .

  2. Para el campo Audiencia del servicio de señales de seguridad , utilice este formato:

    //iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID
    
  3. Para el Correo electrónico de cuenta de servicio, especifique la dirección de correo electrónico de la cuenta de servicio de Google que se va a suplantar. Para obtener más información, consulte Crear una cuenta de servicio para la carga de trabajo externa .

  4. (Opcional) Especifique un valor para el Tiempo de vida de señal de cuenta de servicio en segundos. El tiempo de vida predeterminado de una señal de acceso de cuenta de servicio es de una hora. Para obtener más información, consulte Credenciales de origen URL .

  5. Establezca Formato de señal en Text

  6. Establezca Tipo de señal en ID token

Azure

Configurar federación de identidad de carga de trabajo en Azure

  1. Cree una aplicación Azure AD y una entidad de servicio .

  2. Establezca un URI de ID de aplicación para la aplicación. Puede utilizar el URI de ID de aplicación predeterminado (api://APPID) o especificar un URI personalizado.

    Puede omitir las instrucciones sobre la creación de una identidad gestionada.

  3. Siga las instrucciones para crear un nuevo secreto de aplicación para obtener un token de acceso con la API REST.

    Para obtener más información, consulte Configurar la federación de identidades de carga de trabajo con Azure .

Configure Google Cloud para Azure

  1. Siga las instrucciones: Configurar la federación de identidad de carga de trabajo .
  2. Siga las instrucciones: Cree el grupo de identidades de carga de trabajo y el proveedor . Cuando configure el proveedor, utilice estos valores:
    • Establezca Emisor (URL) en https://sts.windows.net/TENANTID/, donde TENANTID es el ID de arrendatario que ha recibido al configurar Azure Active Directory.
    • Establezca la Audiencia permitida en el ID de cliente que ha recibido al configurar el registro de la aplicación. O bien, especifique otro URI de ID de aplicación que haya utilizado al configurar la identidad de aplicación en Azure.
    • En Correlación de atributos, correlacione google.subject con assertion.sub.

Crear la conexión con la federación de identidad de carga de trabajo de Azure

  1. Elija uno de estos métodos de autenticación:

    • Federación de identidades de carga de trabajo con señal de acceso
    • Federación de identidad de carga de trabajo con URL de señal
  2. Para el campo de audiencia del Servicio de token de seguridad , utilice el formato que se describe en Autenticar una carga de trabajo que utiliza la API REST . Por ejemplo:

    //iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID
    
  3. Para el Correo electrónico de cuenta de servicio, especifique la dirección de correo electrónico de la cuenta de servicio de Google que se va a suplantar. Para obtener más información, consulte Crear una cuenta de servicio para la carga de trabajo externa .

  4. (Opcional) Especifique un valor para el Tiempo de vida de señal de cuenta de servicio en segundos. El tiempo de vida predeterminado de una señal de acceso de cuenta de servicio es de una hora. Para obtener más información, consulte Credenciales de origen URL .

  5. Si ha especificado Workload Identity Federation con URL de señal, utilice estos valores:

    • URL de señal: https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token. Este URL captará una señal de Azure.
    • Método HTTP: POST
    • Cabeceras HTTP: "Content-Type"="application/x-www-form-urlencoded;charset=UTF-8","Accept"="application/json"
    • Cuerpo de solicitud: grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&scope=APPLICATION_ID_URI/.default
  6. Para Tipo de señal, seleccione Señal de ID para un proveedor de identidad que cumpla con la especificación de OpenID Connect (OIDC). Para obtener más información, consulte Tipos de token .

  7. La opción Formato de señal depende de la selección de autenticación:

    • Federación de identidades de carga de trabajo con señal de acceso: seleccione Texto si ha proporcionado el valor de señal sin formato en el campo Señal de acceso .
    • Federación de identidades de carga de trabajo con URL de señal: para obtener una respuesta del URL de señal en formato JSON con la señal de acceso que se devuelve en un campo denominado access_token, utilice estos valores:
      • Formato de señal: JSON
      • Nombre de campo de señal: access_token

Más información