En esta guía, se describe cómo realizar operaciones comunes con la federación de identidades de personal. Para configurar la federación de identidades de personal, consulta las siguientes guías:
- Configura la federación de identidades de personal con Azure AD y permite el acceso de usuarios
- Configura la federación de identidades de personal con Okta y permite el acceso de usuarios
- Configura la federación de identidades de personal en un IdP que admita OIDC o SAML
Antes de comenzar
Debes tener configurada una organización de Google Cloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Administra grupos
En esta sección, se muestra cómo administrar grupos de Workforce Identity.
Crea un grupo
Para crear un grupo de personal, ejecuta el siguiente comando:
Consola
Para crear el grupo de Workforce Identity, haz lo siguiente:
En la consola de Google Cloud, ve a la página Grupos de identidades de personal:
Haz clic en Crear grupo y haz lo siguiente:
En Nombre, ingresa el nombre del grupo. El ID de grupo se deriva de forma automática del nombre a medida que escribes.
Opcional: Para actualizar el ID, haz clic en Editar.
En Descripción, ingresa una descripción del grupo (opcional).
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, 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).
Para crear el grupo en el estado habilitado, asegúrate de que el Grupo habilitado esté activado.
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 \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Reemplaza lo siguiente:
WORKFORCE_POOL_ID
: un ID que elijas para representar el grupo de personal de Google Cloud. Para obtener información sobre el formato del ID, consulta la sección Parámetros de consulta en la documentación de la API.ORGANIZATION_ID
: el ID numérico de la organización de Google Cloud.DESCRIPTION
: una descripción del grupo de Workforce Identity.SESSION_DURATION
: 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).
Describe un grupo
Consola
Para describir un grupo de personal específico con la consola de Google Cloud, haz lo siguiente:
Ve a la página Grupos de Workforce Identity:
En Grupos de personal, selecciona el grupo
gcloud
Para describir un grupo de personal específico con la gcloud CLI, ejecuta el siguiente comando:
gcloud iam workforce-pools describe WORKFORCE_POOL_ID \
--location=global
Reemplaza WORKFORCE_POOL_ID
por el ID del grupo de personal que elegiste cuando creaste el grupo.
Enumera grupos
Consola
Para mostrar un grupo de trabajadores mediante la consola de Google Cloud, haz lo siguiente:
Ve a la página Grupos de Workforce Identity:
En la tabla, consulta la lista de grupos.
gcloud
Para mostrar una lista de los grupos de personal de la organización, ejecuta el siguiente comando:
gcloud iam workforce-pools list \
--organization=ORGANIZATION_ID \
--location=global
Reemplaza ORGANIZATION_ID por el ID de tu organización.
Actualiza un grupo
Consola
Para actualizar un grupo de personal específico con la consola de Google Cloud, haz lo siguiente:
Ve a la página Grupos de Workforce Identity:
En la tabla, selecciona el grupo.
Actualiza los parámetros del grupo.
Haz clic en Guardar grupo.
gcloud
Para actualizar un grupo de personal específico, ejecuta el siguiente comando:
gcloud iam workforce-pools update WORKFORCE_POOL_ID \
--description=DESCRIPTION \
--location=global
Reemplaza lo siguiente:
WORKFORCE_POOL_ID
: el ID del grupo de personalDESCRIPTION
: la descripción del grupo
Borra un grupo
Consola
Para borrar un grupo de personal específico mediante la consola de Google Cloud, haz lo siguiente:
Ve a la página Grupos de Workforce Identity:
En Grupos de personal, clic en
Borrar en el grupo que deseas borrar.Sigue las instrucciones adicionales.
gcloud
Para borrar un grupo de Workforce Identity, ejecuta el siguiente comando:
gcloud iam workforce-pools delete WORKFORCE_POOL_ID \
--location=global
Reemplaza WORKFORCE_POOL_ID
por el ID del grupo de personal.
Recupera un grupo
Puedes recuperar un grupo de Workforce Identity que se borró en los últimos 30 días.
Para recuperar un grupo, ejecuta el siguiente comando:
gcloud iam workforce-pools undelete WORKFORCE_POOL_ID \
--location=global
Reemplaza WORKFORCE_POOL_ID
por el ID del grupo de personal.
Configura un proveedor dentro del grupo de personal
En esta sección, se explica cómo puedes usar los comandos de gcloud
para configurar los proveedores de grupos de Workforce Identity:
Crea un proveedor de OIDC
En esta sección, se describe cómo crear un proveedor de grupos de Workforce Identity para un IdP de OIDC.
Consola
Flujo de código
En la consola de Google Cloud, ve a la página Grupos de Workforce Identity:
En la tabla Grupos de Workforce Identity, selecciona el grupo para el que deseas crear el proveedor.
En la tabla Proveedores, haz clic en Agregar proveedor.
En Selecciona un protocolo, selecciona Open ID Connect (OIDC).
En Crear un proveedor de grupos, haz lo siguiente:
- En Nombre, ingresa un nombre para el proveedor.
- En Emisor (URL), ingresa el URI de la entidad emisora. El URI de la entidad emisora de OIDC debe tener un formato de URI válido y comenzar con
https
; por ejemplo,https://example.com/oidc
. - Ingresa el ID de cliente, el ID de cliente de OIDC que está registrado con el IdP de OIDC; el ID debe coincidir con la reclamación
aud
del JWT que emite el IdP. - Para crear un proveedor que esté habilitado, asegúrate de que Proveedor habilitado esté activado.
- Haz clic en Continuar.
En Tipo de respuesta, haz lo siguiente: El tipo de respuesta solo se usa para un flujo de inicio de sesión único basado en la Web.
- En Tipo de respuesta, selecciona Código.
- En Secreto de cliente, ingresa el secreto del cliente de tu IdP.
En Comportamiento de las aserciones, selecciona una de las siguientes opciones:
- Información del usuario y token de ID
- Solo token de ID
Haz clic en Continuar.
En Configurar proveedor, puedes configurar una asignación de atributo y una condición de atributo. Para crear una asignación de atributos, haz lo siguiente. Puedes proporcionar el nombre del campo del IdP o una expresión con formato CEL que muestre una string.
- Obligatorio: En OIDC 1, ingresa el asunto del IdP; por ejemplo,
assertion.sub
. Opcional: Para agregar asignaciones de atributos adicionales, haz lo siguiente:
- Haz clic en Agregar asignación.
- En Google n, donde n es un número, ingresa una de las claves compatibles con Google Cloud.
- En el campo OIDC n correspondiente, ingresa el nombre del campo específico del IdP para asignar, en formato CEL.
Para crear una condición de atributo, haz lo siguiente:
- Haz clic en Agregar condición:
- En Condiciones del atributo, ingresa una condición en formato CEL. por ejemplo,
assertion.role == 'gcp-users'
. Esta condición de ejemplo garantiza que solo los usuarios con el rolgcp-users
puedan acceder mediante este proveedor.
- Obligatorio: En OIDC 1, ingresa el asunto del IdP; por ejemplo,
Para crear el proveedor, haz clic en Enviar.
Flujo implícito
En la consola de Google Cloud, ve a la página Grupos de Workforce Identity:
En la tabla Grupos de Workforce Identity, selecciona el grupo para el que deseas crear el proveedor.
En la tabla Proveedores, haz clic en Agregar proveedor.
En Selecciona un protocolo, selecciona Open ID Connect (OIDC).
En Crear un proveedor de grupos, haz lo siguiente:
- En Nombre, ingresa un nombre para el proveedor.
- En Emisor (URL), ingresa el URI de la entidad emisora. El URI de la entidad emisora de OIDC debe tener un formato de URI válido y comenzar con
https
; por ejemplo,https://example.com/oidc
. - Ingresa el ID de cliente, el ID de cliente de OIDC que está registrado con el IdP de OIDC; el ID debe coincidir con la reclamación
aud
del JWT que emite el IdP. - Para crear un proveedor que esté habilitado, asegúrate de que Proveedor habilitado esté activado.
- Haz clic en Continuar.
En Tipo de respuesta, haz lo siguiente: El tipo de respuesta solo se usa para un flujo de inicio de sesión único basado en la Web.
- En Tipo de respuesta, selecciona Token de ID.
- Haz clic en Continuar.
En Configurar proveedor, puedes configurar una asignación de atributo y una condición de atributo. Para crear una asignación de atributos, haz lo siguiente. Puedes proporcionar el nombre del campo del IdP o una expresión con formato CEL que muestre una string.
Obligatorio: En OIDC 1, ingresa el asunto del IdP; por ejemplo,
assertion.sub
.Opcional: Para agregar asignaciones de atributos adicionales, haz lo siguiente:
- Haz clic en Agregar asignación.
- En Google n, donde n es un número, ingresa una de las claves compatibles con Google Cloud.
- En el campo OIDC n correspondiente, ingresa el nombre del campo específico del IdP para asignar, en formato CEL.
Para crear una condición de atributo, haz lo siguiente:
- Haz clic en Agregar condición:
- En Condiciones del atributo, ingresa una condición en formato CEL. por ejemplo,
assertion.role == 'gcp-users'
. Esta condición de ejemplo garantiza que solo los usuarios con el rolgcp-users
puedan acceder mediante este proveedor.
Para crear el proveedor, haz clic en Enviar.
gcloud
Flujo de código
A fin de crear un proveedor de OIDC que use el flujo de código de autorización para el acceso web, ejecuta el siguiente comando:
gcloud iam workforce-pools providers create-oidc PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \
--client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=global
Reemplaza lo siguiente:
PROVIDER_ID
: un ID de proveedor único. El prefijogcp-
está reservado y no se puede usar en un ID de grupo ni de proveedor.WORKFORCE_POOL_ID
: el ID del grupo de Workforce Identity al que se conecta el IdP.DISPLAY_NAME
: un nombre visible opcional, fácil de usar para el proveedor, por ejemplo,idp-eu-employees
.DESCRIPTION
: una descripción opcional del proveedor de personal, por ejemplo,IdP for Partner Example Organization employees
.ISSUER_URI
: El URI de la entidad emisora de OIDC, en un formato de URI válido, que comienza conhttps
; por ejemplo:https://example.com/oidc
. Nota: Por motivos de seguridad,ISSUER_URI
debe usar el esquema HTTPS.OIDC_CLIENT_ID
: El ID de cliente de OIDC que está registrado con el IdP de OIDC. El ID debe coincidir con la reclamaciónaud
del JWT que emite el IdP.OIDC_CLIENT_SECRET
: El secreto del cliente de OIDC.WEB_SSO_ADDITIONAL_SCOPES
: Permisos adicionales opcionales así enviarle al IdP de OIDC para la consola (federada) o el acceso basado en el navegador de la gcloud CLI.ATTRIBUTE_MAPPING
: Una asignación de atributo; por ejemplo:
En este ejemplo, se asignan los atributos de IdPgoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,assertion.group1
ycostcenter
en la aserción de OIDC a los atributosgoogle.subject
,google.groups
yattribute.costcenter
, respectivamente.ATTRIBUTE_CONDITION
: una condición de atributo; por ejemplo,assertion.role == 'gcp-users'
. Esta condición de ejemplo garantiza que solo los usuarios con el rolgcp-users
puedan acceder mediante este proveedor.JWK_JSON_PATH
: Una ruta de acceso opcional a un JWK de OIDC subido de forma local. Si no se proporciona este parámetro, Google Cloud usa la ruta de acceso “/.well-known/openid-configuration” del IdP para obtener los JWK que contienen las claves públicas. Encuentra más información sobre los JWK de OIDC subidos de forma local en Administra los JWK de OIDC.
locations/global/workforcePools/enterprise-example-organization-employees
.
Flujo implícito
Para crear un proveedor de grupos de Workforce Identity de OIDC que use el flujo implícito para el acceso web, ejecuta el siguiente comando:
gcloud iam workforce-pools providers create-oidc PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \ --web-sso-response-type="id-token" \ --web-sso-assertion-claims-behavior="only-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=global
Reemplaza lo siguiente:
PROVIDER_ID
: un ID de proveedor único. El prefijogcp-
está reservado y no se puede usar en un ID de grupo ni de proveedor.WORKFORCE_POOL_ID
: el ID del grupo de Workforce Identity al que se conecta el IdP.DISPLAY_NAME
: un nombre visible opcional, fácil de usar para el proveedor, por ejemplo,idp-eu-employees
.DESCRIPTION
: una descripción opcional del proveedor de personal, por ejemplo,IdP for Partner Example Organization employees
.ISSUER_URI
: El URI de la entidad emisora de OIDC, en un formato de URI válido, que comienza conhttps
; por ejemplo:https://example.com/oidc
. Nota: Por motivos de seguridad,ISSUER_URI
debe usar el esquema HTTPS.OIDC_CLIENT_ID
: El ID de cliente de OIDC que está registrado con el IdP de OIDC. El ID debe coincidir con la reclamaciónaud
del JWT que emite el IdP.WEB_SSO_ADDITIONAL_SCOPES
: Permisos adicionales opcionales así enviarle al IdP de OIDC para la consola (federada) o el acceso basado en el navegador de la gcloud CLI.ATTRIBUTE_MAPPING
: Una asignación de atributo; por ejemplo:
En este ejemplo, se asignan los atributos de IdPgoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,assertion.group1
ycostcenter
en la aserción de OIDC a los atributosgoogle.subject
,google.groups
yattribute.costcenter
, respectivamente.ATTRIBUTE_CONDITION
: una condición de atributo; por ejemplo,assertion.role == 'gcp-users'
. Esta condición de ejemplo garantiza que solo los usuarios con el rolgcp-users
puedan acceder mediante este proveedor.JWK_JSON_PATH
: Una ruta de acceso opcional a un JWK de OIDC subido de forma local. Si no se proporciona este parámetro, Google Cloud usa la ruta de acceso “/.well-known/openid-configuration” del IdP para obtener los JWK que contienen las claves públicas. Encuentra más información sobre los JWK de OIDC subidos de forma local en Administra los JWK de OIDC.
locations/global/workforcePools/enterprise-example-organization-employees
.
Crea un proveedor de SAML
En esta sección, se describe cómo crear un proveedor de grupos de Workforce Identity para un IdP de SAML.
Consola
Para configurar el proveedor de SAML mediante la consola de Google Cloud, haz lo siguiente:
En la consola de Google Cloud, ve a la página Grupos de Workforce Identity:
En la tabla Grupos de Workforce Identity, selecciona el grupo para el que deseas crear el proveedor.
En la tabla Proveedores, haz clic en Agregar proveedor.
En Selecciona un protocolo, selecciona SAML.
En Crea un proveedor de grupos, haz lo siguiente:
En Nombre, ingresa un nombre para el proveedor.
En Descripción, ingresa una descripción para el proveedor (opcional).
En Archivo de metadatos IDP (XML), selecciona el archivo XML de metadatos que generaste antes en esta guía.
Asegúrate de que el Proveedor habilitado esté habilitado.
Haz clic en Continuar.
En Configurar proveedor, haz lo siguiente:
En Asignación de atributos, ingresa una expresión CEL para
google.subject
.Para ingresar otras asignaciones, haz clic en Agregar asignación y, luego, ingresa otras asignaciones (opcional):
En este ejemplo, se asignan los atributos de IdPgoogle.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
assertion.subject
,assertion.attributes['https://example.com/aliases']
yassertion.attributes.costcenter[0]
a los atributos de Google Cloud,google.subject
,google.groups
ygoogle.costcenter
, respectivamente.Opcional: Para agregar una condición de atributo, haz clic en Agregar condición y, luego, ingresa una expresión CEL que represente una condición de atributo. Por ejemplo, para limitar el atributo
ipaddr
a un rango de IP determinado, puedes establecer la condiciónassertion.attributes.ipaddr.startsWith('98.11.12.')
. Esta condición de ejemplo garantiza que solo los usuarios con una dirección IP que comienza con98.11.12.
puedan acceder mediante este proveedor de personal.Haz clic en Continuar.
Para crear el proveedor, haz clic en Enviar.
gcloud
Para crear la política, ejecuta el siguiente comando:
gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
--workforce-pool="WORKFORCE_POOL_ID" \
--attribute-mapping="ATTRIBUTE_MAPPING" \
--attribute-condition="ATTRIBUTE_CONDITION" \
--idp-metadata-path="XML_METADATA_PATH" \
--location="global"
Reemplaza lo siguiente:
WORKFORCE_PROVIDER_ID
: el ID del proveedor de personalWORKFORCE_POOL_ID
: el ID del grupo de personalATTRIBUTE_MAPPING
: una asignación de atributo; por ejemplo, para asignar un asunto, la asignación de atributos es la siguiente:google.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.department=assertion.attributes.department[0]
ATTRIBUTE_CONDITION
: una condición de atributo opcional; por ejemplo,assertion.subject.endsWith("@example.com")
XML_METADATA_PATH
: la ruta de acceso al archivo de metadatos con formato XML desde tu IdP
El prefijo gcp-
está reservado y no se puede usar en un ID de grupo ni de proveedor.
Con este comando, se asigna el sujeto y el departamento en la aserción de SAML a los atributos google.subject
y attribute.department
, respectivamente.
Además, la condición del atributo garantiza que solo los usuarios con un asunto que finalice en @example.com
puedan acceder mediante este proveedor de personal.
Describe un proveedor
Consola
Para ver un proveedor, haz lo siguiente:
- Ve a la página Grupos de Workforce Identity:
Ir a Grupos de Workforce Identity
En la tabla, selecciona el grupo del que deseas ver el proveedor.
En la tabla Proveedores, selecciona el proveedor.
gcloud
Para describir un proveedor, ejecuta el siguiente comando:
gcloud iam workforce-pools providers describe PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=global
Reemplaza lo siguiente:
PROVIDER_ID
: el ID del proveedorWORKFORCE_POOL_ID
: el ID del grupo de personal
Enumerar proveedores
Consola
Para ver un proveedor, haz lo siguiente:
- Ve a la página Grupos de Workforce Identity:
Ir a Grupos de Workforce Identity
En la tabla, selecciona el grupo para el que deseas enumerar los proveedores.
En la tabla Proveedores, puedes ver una lista de proveedores.
gcloud
Para enumerar los proveedores, ejecuta el siguiente comando:
gcloud iam workforce-pools providers list \
--workforce-pool=WORKFORCE_POOL_ID \
--location=global
Reemplaza WORKFORCE_POOL_ID
por el ID del grupo de personal.
Actualiza un proveedor
Consola
Para ver un proveedor, haz lo siguiente:
- Ve a la página Grupos de Workforce Identity:
Ir a Grupos de Workforce Identity
En la tabla, selecciona el grupo del que deseas ver el proveedor.
En la tabla Proveedores, haz clic en
Editar.Actualiza el proveedor.
Para guardar el proveedor actualizado, haz clic en Guardar.
gcloud
Para actualizar un proveedor de OIDC después de la creación, ejecuta el siguiente comando:
gcloud iam workforce-pools providers update-oidc PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--description="DESCRIPTION" \
--location=global
Reemplaza lo siguiente:
PROVIDER_ID
: el ID del proveedorWORKFORCE_POOL_ID
: el ID del grupo de personalDESCRIPTION
: la descripción
Borra un proveedor
Para borrar un proveedor, ejecuta el siguiente comando:
gcloud iam workforce-pools providers delete PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=global
Reemplaza lo siguiente:
PROVIDER_ID
: el ID del proveedorWORKFORCE_POOL_ID
: el ID del grupo de personal
Recupera un proveedor
Para recuperar un proveedor que se borró en los últimos 30 días, ejecuta el siguiente comando:
gcloud iam workforce-pools providers undelete PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=global
Reemplaza lo siguiente:
PROVIDER_ID
: el ID del proveedorWORKFORCE_POOL_ID
: el ID del grupo de personal
Administra JWK de OIDC
En esta sección, se muestra cómo administrar JWK de OIDC en proveedores de grupos de personal.
Crea un proveedor y sube JWK de OIDC
Para crear JWK de OIDC, consulta Implementaciones de JWT, JWS, JWE, JWK y JWA.
Para subir un archivo JWK de OIDC cuando creas un proveedor de grupos de personal, ejecuta el comando gcloud iam workload-pools providers create-oidc con --jwk-json-path="JWK_JSON_PATH"
.
Reemplaza JWK_JSON_PATH
por la ruta de acceso al archivo JSON de JWK.
Esta operación sube las claves del archivo.
Actualiza los JWK de OIDC
Para actualizar JWK de OIDC, ejecuta el comando gcloud iam workload-pools providers update-oidc con --jwk-json-path="JWK_JSON_PATH"
.
Reemplaza JWK_JSON_PATH
por la ruta de acceso al archivo JSON de JWK.
Esta operación reemplaza cualquier clave subida existente por las que están en el archivo.
Borra todos los JWK de OIDC subidos
Para borrar todos los JWK de OIDC subidos y, en su lugar, usar el URI de la entidad emisora a fin de recuperar las claves, ejecuta el comando gcloud iam workload-pools providers update-oidc con --jwk-json-path="JWK_JSON_PATH"
.
Reemplaza JWK_JSON_PATH
por la ruta a un archivo vacío.
Usa la marca --issuer-uri
para establecer el URI de la entidad emisora.
Esta operación borra todas tus claves subidas existentes.
¿Qué sigue?
- Configura la federación de identidades de personal con Azure AD y permite el acceso de usuarios
- Configura la federación de identidades de personal con Okta y permite el acceso de usuarios
- Borra los usuarios de la federación de Workforce Identity y sus datos
- Obtén información sobre qué productos de Google Cloud admiten la federación de Workforce Identity.