En este documento, se describe cómo configurar identidades para cargas de trabajo administradas para Compute Engine con la gcloud CLI. También se describe cómo configurar el aprovisionamiento automático y la administración del ciclo de vida de las identidades para cargas de trabajo administradas para Compute Engine con Certificate Authority Service, que te permite establecer conexiones TLS mutuas (mTLS) entre cargas de trabajo.
Para solicitar acceso a las identidades para cargas de trabajo administradas de Compute Engine, completa el formulario de solicitud de acceso.
Antes de comenzar
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crear un proyecto: Para crear un proyecto, necesitas el rol de Creador de proyectos (
roles/resourcemanager.projectCreator), que contiene el permisoresourcemanager.projects.create. Obtén más información para otorgar roles.
-
Crea un Google Cloud proyecto:
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el proyecto Google Cloud que estás creando. -
Selecciona el proyecto Google Cloud que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu Google Cloud proyecto.
Comprende las identidades para cargas de trabajo administradas.
Obtén información sobre la emisión de certificados a través de Certificate Authority Service.
Aprende a autenticar cargas de trabajo de Compute Engine con identidades para cargas de trabajo administradas.
Habilita las APIs de IAM y Certificate Authority Service:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles.gcloud services enable iam.googleapis.com
privateca.googleapis.com Configura Google Cloud CLI para usar el proyecto que se agregó a la lista de entidades permitidas para la facturación y la cuota.
gcloud config set billing/quota_project PROJECT_ID
Reemplaza PROJECT_ID por el ID del proyecto que se agregó a la lista de entidades permitidas para la vista previa de identidades para cargas de trabajo administradas.
Roles obligatorios
Para obtener los permisos que necesitas para crear identidades para cargas de trabajo administradas y aprovisionar certificados de Workload Identity administrados, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:
-
Para crear y configurar identidades para cargas de trabajo administradas, los siguientes roles:
- Administrador de grupo de identidades para cargas de trabajo (
roles/iam.workloadIdentityPoolAdmin) - Administrador de cuenta de servicio (
roles/iam.serviceAccountAdmin)
- Administrador de grupo de identidades para cargas de trabajo (
-
Para crear y configurar grupos de AC:
Administrador del servicio de AC (
roles/privateca.admin)
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.
De manera alternativa, el rol
básico de propietario de IAM (roles/owner) también incluye permisos para configurar identidades para cargas de trabajo administradas.
No deberías otorgar funciones básicas en un entorno de producción, pero puedes otorgarlas en un entorno de desarrollo o de prueba.
Descripción general
Si quieres usar identidades para cargas de trabajo administradas en tus aplicaciones, debes realizar las siguientes tareas:
Administrador de seguridad:
- Crea un grupo de identidades para cargas de trabajo.
- Configurar una CA (para elegir una opción de CA, configurar CA y actualizar el grupo)
- Crea identidades para cargas de trabajo administradas en el grupo de identidades para cargas de trabajo.
- Define una política de certificación de cargas de trabajo y crea una cuenta de servicio.
Administrador de Compute:
Habilita las identidades para cargas de trabajo administradas destinadas a las cargas de trabajo que se ejecutan en Compute Engine:
- Para VMs individuales.
- Para los grupos de instancias administrados (MIG).
Crea un grupo de identidades para cargas de trabajo.
Para configurar identidades para cargas de trabajo administradas, debes crear un grupo en modo
TRUST_DOMAIN.gcloud iam workload-identity-pools create POOL_ID \ --location="global" \ --mode="TRUST_DOMAIN"
Reemplaza POOL_ID por el ID único del grupo. El ID debe tener entre 4 y 32 caracteres, contener solo guiones y caracteres alfanuméricos en minúscula, y comenzar y terminar con un carácter alfanumérico. Después de crear un grupo de identidades para cargas de trabajo, no puedes cambiar su ID.
Para verificar que tu grupo de identidades para cargas de trabajo se creó en modo
TRUST_DOMAIN, ejecuta el comandoworkload-identity-pools describe.gcloud iam workload-identity-pools describe POOL_ID \ --location="global"
El resultado es similar a lo siguiente:
mode: TRUST_DOMAIN name: projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID state: ACTIVE
Si
mode: TRUST_DOMAINno está presente en el resultado del comando, verifica que se haya agregado tu proyecto a la lista de entidades permitidas para la versión preliminar de la identidad para cargas de trabajo administrada y que hayas configurado correctamente tu gcloud CLI para usar el proyecto correcto para la facturación y la cuota. Asegúrate de haber actualizado a la versión más reciente de gcloud CLI.
Elige una opción de CA
Para firmar los certificados de carga de trabajo, elige la opción de autoridad certificadora (CA) que mejor se adapte a tu caso de uso:
CA predeterminada administrada por Google: Usa esta opción para obtener una solución completamente administrada y sin costo. La CA predeterminada proporciona una raíz de confianza compartida para todos los usuarios deGoogle Cloud .
CA personalizada: Usa esta opción para configurar tu propia infraestructura de clave pública (PKI) a través de Certificate Authority Service. Esta opción es adecuada si necesitas una raíz de confianza personalizada o si debes almacenar claves de firma en un módulo de seguridad de hardware (HSM) para cumplir con los requisitos de cumplimiento. Certificate Authority Service se cobra por separado de la identidad para cargas de trabajo administrada. Para obtener más información, consulta los precios del servicio de CA.
Configura una CA
CA predeterminada
Para vincular la CA predeterminada al grupo de identidades para cargas de trabajo, actualiza el grupo de identidades para cargas de trabajo con la marca use-default-shared-ca.
gcloud iam workload-identity-pools update TRUST_DOMAIN_NAME \
--location="global" \
--use-default-shared-ca \
--project=PROJECT_ID
Reemplaza lo siguiente:
TRUST_DOMAIN_NAME: Es el nombre del dominio de confianza.PROJECT_ID: El ID del proyecto
CA personalizada
Para configurar identidades para cargas de trabajo administradas con una CA personalizada, completa los siguientes pasos:
- Configura el servicio de AC para emitir certificados para identidades de cargas de trabajo administradas.
- Vincula las CA al grupo de identidades para cargas de trabajo.
- Autoriza identidades para cargas de trabajo administradas que te permitan solicitar certificados del grupo de AC.
Configura CA Service para emitir certificados para identidades de cargas de trabajo administradas
Crea la configuración recomendada para las autoridades certificadoras (AC) raíz y subordinadas a través de grupos de Certificate Authority Service. El grupo de AC subordinado emite los certificados de identidad de carga de trabajo X.509 a las VMs.
Los grupos de AC configurados para emitir certificados para VMs de Compute Engine con identidades para cargas de trabajo administradas deben residir en la misma región que la VM. Si deseas diseñar una arquitectura multirregional para la resiliencia ante las interrupciones regionales, te recomendamos que configures un grupo de CA del servicio Certificate Authority Service subordinada para cada una de las regiones de tu carga de trabajo. De esta manera, cada una de tus VMs de Compute Engine puede hacer referencia a un grupo de CA subordinado de Certificate Authority Service en la región.
Después de configurar los grupos de AC, autoriza a las identidades para cargas de trabajo administradas para que soliciten y reciban los certificados firmados de los grupos de AC.
Configura tu grupo de AC raíz
Usa la interfaz de Google Cloud CLI para Certificate Authority Service para configurar un grupo de AC raíz.
No puedes mover ni exportar un grupo de AC después de crearlo.
Ejecuta el comando
gcloud privateca pools createpara crear el grupo de AC raíz en el nivel Enterprise. El nivel Enterprise está diseñado para la emisión de certificados de larga duración y bajo volumen.gcloud privateca pools create ROOT_CA_POOL_ID \ --location=REGION \ --tier=enterprise
Reemplaza lo siguiente:
- ROOT_CA_POOL_ID: Es un ID único para el grupo de AC raíz. El ID puede tener hasta 64 caracteres y debe contener solo caracteres alfanuméricos en minúscula y mayúscula, guiones bajos o guiones. El ID del grupo debe ser único dentro de la región.
- REGION: Es la región en la que se encuentra el grupo de AC raíz.
Para obtener más información, consulta Crea grupos de AC.
Crea una CA raíz en el grupo de CA raíz ejecutando el comando
gcloud privateca roots create. Es posible que se te solicite habilitar la AC raíz si esta es la única en el grupo de AC raíz.Por ejemplo, puedes usar un comando similar al siguiente para crear una AC raíz.
gcloud privateca roots create ROOT_CA_ID \ --pool=ROOT_CA_POOL_ID \ --subject "CN=ROOT_CA_CN, O=ROOT_CA_ORGANIZATION" \ --key-algorithm="ec-p256-sha256" \ --max-chain-length=1 \ --location=REGION
Reemplaza lo siguiente:
- ROOT_CA_ID: Es un nombre único para la CA raíz. El nombre de la AC puede tener hasta 64 caracteres y debe contener solo caracteres alfanuméricos en minúscula y mayúscula, guiones bajos o guiones. El nombre de la AC debe ser único dentro de la región.
- ROOT_CA_POOL_ID: Es el ID del grupo de AC raíz.
- ROOT_CA_CN: Es el nombre de la AC raíz
- ROOT_CA_ORGANIZATION: Es la organización de la AC raíz.
- REGION: Es la región en la que se encuentra el grupo de AC raíz.
Para obtener más información, consulta Crea una autoridad de certificación raíz. Para obtener más información sobre los campos
subjectde la AC, consulta Asunto.Opcional: Repite los pasos anteriores para crear una AC raíz adicional en el grupo de AC raíz. Esto puede ser útil para la rotación de AC raíz.
Configura las AC subordinadas
Usa la interfaz de Google Cloud CLI para Certificate Authority Service para crear un grupo de AC subordinado y una AC subordinada.
Si tienes varias situaciones de emisión de certificados, puedes crear una AC subordinada para cada una. Además, agregar varias AC subordinadas en un grupo de AC te ayuda a lograr un mejor balanceo de cargas de solicitudes de certificado.
Usa el comando gcloud privateca pools create para crear un grupo de AC subordinado.
Crea el grupo de CA subordinada en el nivel DevOps. Este nivel está diseñado para la emisión de certificados de corta duración y gran volumen.
gcloud privateca pools create SUBORDINATE_CA_POOL_ID \ --location=REGION \ --tier=devops
Reemplaza lo siguiente:
- SUBORDINATE_CA_POOL_ID: Es un ID único para el grupo de AC subordinado. El ID puede tener hasta 64 caracteres y debe contener solo caracteres alfanuméricos en minúscula y mayúscula, guiones bajos o guiones. El ID del grupo debe ser único dentro de la región.
- REGION: Es la región en la que se creará el grupo de AC subordinado.
Para obtener más información, consulta Crea grupos de AC.
Crea una CA subordinada en el grupo de CA subordinada ejecutando el comando
gcloud privateca subordinates create. No cambies el modo de emisión basado en la configuración predeterminado.Por ejemplo, puedes usar un comando similar al siguiente para crear una AC subordinada.
gcloud privateca subordinates create SUBORDINATE_CA_ID \ --pool=SUBORDINATE_CA_POOL_ID \ --location=REGION \ --issuer-pool=ROOT_CA_POOL_ID \ --issuer-location=REGION \ --subject="CN=SUBORDINATE_CA_CN, O=SUBORDINATE_CA_ORGANIZATION" \ --key-algorithm="ec-p256-sha256" \ --use-preset-profile=subordinate_mtls_pathlen_0
Reemplaza lo siguiente:
- SUBORDINATE_CA_ID: Es un nombre único para la CA subordinada. El nombre puede tener hasta 64 caracteres y debe contener solo caracteres alfanuméricos en minúscula y mayúscula, guiones bajos o guiones. El nombre de la AC debe ser único dentro de la región.
- SUBORDINATE_CA_POOL_ID: Es el nombre del grupo de AC subordinado.
- REGION: Es la región en la que se encuentra el grupo de AC subordinado.
- ROOT_CA_POOL_ID: Es el ID del grupo de AC raíz.
- REGION: Es la región del grupo de AC raíz.
- SUBORDINATE_CA_CN: Es el nombre común de la AC subordinada.
- SUBORDINATE_CA_ORGANIZATION: Es el nombre de la organización emisora de AC subordinada.
Para obtener más información, consulta Crea grupos de AC. Para obtener más información sobre los campos
subjectde la AC, consulta Asunto.
Vincula las CA al grupo de identidades para cargas de trabajo
Después de crear tu jerarquía de CA, vincula las CA al grupo de identidades para cargas de trabajo actualizando el grupo con la configuración de emisión de certificados de cada CA.
Crea un archivo
issuance-config.yamlcon el siguiente contenido:inlineCertificateIssuanceConfig: caPools: REGION: projects/PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID keyAlgorithm: RSA_2048 lifetime: 86400s rotationWindowPercentage: 50
Reemplaza lo siguiente en el archivo:
REGION: Es la región en la que se encuentra el grupo de AC subordinado.PROJECT_ID: Es el ID del proyecto que contiene el grupo de AC subordinado.SUBORDINATE_CA_POOL_ID: Es el ID del grupo de AC subordinado.
Ejecuta el siguiente comando para actualizar el grupo de identidades para cargas de trabajo:
gcloud iam workload-identity-pools update POOL_ID \ --location="global" \ --inline-certificate-issuance-config-file=ISSUANCE_CONFIG_FILE
Reemplaza lo siguiente:
POOL_ID: el ID único para el grupo.ISSUANCE_CONFIG_FILE: Es la ruta de acceso al archivoissuance-config.yaml.
Autoriza identidades para cargas de trabajo administradas que permitan solicitar certificados del grupo de AC
Las identidades para cargas de trabajo administradas requieren permisos para solicitar certificados del servicio de AC y obtener los certificados públicos.
Otorga el rol de IAM Solicitante de certificados de cargas de trabajo del servicio de AC (
roles/privateca.workloadCertificateRequester) en cada grupo de AC subordinado a la identidad de carga de trabajo administrada. El siguiente comandogcloud privateca pools add-iam-policy-bindingautoriza a la identidad de la carga de trabajo administrada para solicitar certificados de las cadenas de certificados del servicio de AC.gcloud privateca pools add-iam-policy-binding SUBORDINATE_CA_POOL_ID \ --location=REGION \ --role=roles/privateca.workloadCertificateRequester \ --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/name/locations/global/workloadIdentityPools/POOL_ID/*"
Reemplaza lo siguiente:
- SUBORDINATE_CA_POOL_ID: Es el ID del grupo de AC subordinado.
- REGION: la región del grupo de AC subordinado.
- PROJECT_NUMBER: el número del proyecto que contiene el grupo de Workload Identity.
- POOL_ID: Es el ID del grupo de identidades para cargas de trabajo
Otorga el rol de IAM Lector de grupos de servicios de CA (
roles/privateca.poolReader) en los grupos de AC subordinados a la identidad para cargas de trabajo administradas. Esto autoriza a la identidad para cargas de trabajo administradas a obtener los certificados X.509 firmados de las cadenas de certificados de la CA.gcloud privateca pools add-iam-policy-binding SUBORDINATE_CA_POOL_ID \ --location=REGION \ --role=roles/privateca.poolReader \ --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/name/locations/global/workloadIdentityPools/POOL_ID/*"
Reemplaza lo siguiente:
- SUBORDINATE_CA_POOL_ID: Es el ID del grupo de AC subordinado.
- REGION: la región del grupo de AC subordinado.
- PROJECT_NUMBER: el número del proyecto que contiene el grupo de Workload Identity.
- POOL_ID: Es el ID del grupo de identidades para cargas de trabajo
Crea identidades para cargas de trabajo administradas
Las identidades para cargas de trabajo administradas permiten Google Cloud aprovisionar automáticamente credenciales para las identidades del grupo de identidades para cargas de trabajo en tus cargas de trabajo. Las identidades para cargas de trabajo se definen dentro de un grupo de identidades para cargas de trabajo y se organizan en límites administrativos llamados espacios de nombres.
Crea un espacio de nombres
El comando workload-identity-pools namespaces create te permite crear un espacio de nombres en un grupo de identidades para cargas de trabajo.
gcloud iam workload-identity-pools namespaces create NAMESPACE_ID \
--workload-identity-pool="POOL_ID" \
--location="global"
Reemplaza lo siguiente:
NAMESPACE_ID: el ID único para el espacio de nombres. El ID debe tener entre 2 y 63 caracteres, contener solo guiones y caracteres alfanuméricos en minúscula, y comenzar y terminar con un carácter alfanumérico. Después de crear un espacio de nombres, no puedes cambiar su ID.POOL_ID: Es el ID del grupo de identidades para cargas de trabajo que creaste antes.
Crea una identidad para una carga de trabajo administrada
El comando workload-identity-pools managed-identities create te permite crear una identidad para cargas de trabajo administradas en un espacio de nombres del grupo de identidades para cargas de trabajo.
gcloud iam workload-identity-pools managed-identities create MANAGED_IDENTITY_ID \
--namespace="NAMESPACE_ID" \
--workload-identity-pool="POOL_ID" \
--location="global"
Reemplaza lo siguiente:
MANAGED_IDENTITY_ID: Es el ID único para la identidad administrada El ID debe tener entre 2 y 63 caracteres, contener solo guiones y caracteres alfanuméricos en minúscula, y comenzar y terminar con un carácter alfanumérico. Después de crear una identidad para cargas de trabajo administradas, no puedes cambiar su ID.NAMESPACE_ID: Es el ID del espacio de nombres que creaste antes.POOL_ID: Es el ID del grupo de identidades para cargas de trabajo que creaste antes.
El ID de tu identidad de carga de trabajo administrada es el identificador SPIFFE, que tiene el siguiente formato:
spiffe://POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID
Define una política de certificación de cargas de trabajo
En esta sección, se describe cómo configurar una política de certificación. Esta política determina qué atributos usa Google Cloud IAM para verificar la identidad de la carga de trabajo. Después de la verificación, la carga de trabajo de llamada puede recibir una credencial.
La verificación se basa en uno de los siguientes atributos de la carga de trabajo:
- ID de la instancia de VM
- Dirección de correo electrónico de la cuenta de servicio adjunta
- UID de la cuenta de servicio adjunta
Define una política de certificación de cargas de trabajo con reglas de certificación
Para crear una política de certificación que permita que tu carga de trabajo use la identidad administrada, haz lo siguiente:
Decide si deseas crear una política de certificación que permita que tu carga de trabajo certifique la identidad administrada con su cuenta de servicio adjunta o con su ID de instancia.
Crea un archivo de política de certificación con formato JSON.
Opcional: Para recibir credenciales X.509 en tu instancia de Compute Engine, debes habilitar una cuenta de servicio adjunta. Te recomendamos que adjuntes una cuenta de servicio nueva a tu carga de trabajo. Para ello, primero debes crearla con el siguiente comando:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Reemplaza
SERVICE_ACCOUNT_NAMEpor el nombre de la cuenta de servicio.Crea un archivo de política de certificación con formato JSON que certifique en función de la dirección de correo electrónico de la cuenta de servicio, el UID de la cuenta de servicio o el ID de la instancia.
Dirección de correo electrónico de la cuenta de servicio
Para crear un archivo de política de certificación que certifique en función de la dirección de correo electrónico de la cuenta de servicio, crea un archivo con el siguiente contenido:
{ "attestationRules": [ { "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.email/SERVICE_ACCOUNT_EMAIL" } ], }Reemplaza lo siguiente:
WORKLOAD_PROJECT_NUMBER: Es el número del proyecto que contiene la instancia de VM o la cuenta de servicio.
Para obtener el número del proyecto que contiene la identidad administrada o la cuenta de servicio que acabas de crear, ejecuta el siguiente comando:
gcloud projects describe $(gcloud config get-value project) \ --format="value(projectNumber)"SERVICE_ACCOUNT_EMAIL: La dirección de correo electrónico de la cuenta de servicio adjunta a la VM
UID de cuenta de servicio
Para crear un archivo de política de certificación que certifique en función del UID de la cuenta de servicio, crea un archivo con el siguiente contenido:
{ "attestationRules": [ { "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.uid/SERVICE_ACCOUNT_UID" } ], }Reemplaza lo siguiente:
WORKLOAD_PROJECT_NUMBER: Es el número del proyecto que contiene la instancia de VM o la cuenta de servicio.
Para obtener el número del proyecto que contiene la identidad administrada o la cuenta de servicio que acabas de crear, ejecuta el siguiente comando:
gcloud projects describe $(gcloud config get-value project) \ --format="value(projectNumber)"SERVICE_ACCOUNT_UID: Es el UID de la cuenta de servicio adjunta a la VM.
Para obtener el ID único de la cuenta de servicio, ejecuta el siguiente comando:
gcloud iam service-accounts describe SERVICE_ACCOUNT_EMAIL\ --format="value(uniqueId)"ID de instancia
Para crear un archivo de política de certificación que certifique según el ID de instancia, crea un archivo con el siguiente contenido:
{ "attestationRules": [ { "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/uid/zones/ZONE/instances/INSTANCE_ID" } ], }Reemplaza lo siguiente:
WORKLOAD_PROJECT_NUMBER: Es el número del proyecto que contiene la instancia de VM o la cuenta de servicio.
Para obtener el número del proyecto que contiene la identidad administrada o la cuenta de servicio que acabas de crear, ejecuta el siguiente comando:
gcloud projects describe $(gcloud config get-value project) \ --format="value(projectNumber)"INSTANCE_ID: ID de la instancia de VM de Compute Engine
El valor de un ID de instancia debe provenir de una instancia de Compute Engine existente. Para obtener el ID de tu instancia, ejecuta el siguiente comando:
gcloud compute instances describe INSTANCE_NAME --zone=ZONE --format="get(id)"
INSTANCE_NAME: El nombre de la instancia de VM de Compute EngineZONE: La zona de la VM de Compute Engine
Crea la política de certificación con el archivo JSON de política que creaste anteriormente en este documento:
gcloud iam workload-identity-pools managed-identities set-attestation-rules MANAGED_IDENTITY_ID \ --namespace=NAMESPACE_ID \ --workload-identity-pool=POOL_ID \ --policy-file=PATH_TO_POLICY_JSON_FILE \ --location=global
Reemplaza lo siguiente:
MANAGED_IDENTITY_ID: Es el ID único para la identidad administrada El ID debe tener entre 2 y 63 caracteres, contener solo guiones y caracteres alfanuméricos en minúscula, y comenzar y terminar con un carácter alfanumérico. Después de crear una identidad para cargas de trabajo administradas, no puedes cambiar su ID.NAMESPACE_ID: Es el ID del espacio de nombres que creaste antes.POOL_ID: Es el ID del grupo de identidades para cargas de trabajo que creaste antes.PATH_TO_POLICY_JSON_FILE: Es la ruta de acceso al archivo JSON que representa la política de certificación que creaste anteriormente.
También puedes actualizar la política agregando o quitando reglas de certificación de forma individual. Para agregar una certificación a tu política de certificación, ejecuta el siguiente comando:
gcloud iam workload-identity-pools managed-identities add-attestation-rule MANAGED_IDENTITY_ID \ --namespace=NAMESPACE_ID \ --workload-identity-pool=POOL_ID \ --google-cloud-resource='//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.uid/SERVICE_ACCOUNT_UID' \ --location=global
Para obtener información sobre cómo enumerar o quitar las reglas de certificación, ejecuta los siguientes comandos:
gcloud iam workload-identity-pools managed-identities list-attestation-rules --help gcloud iam workload-identity-pools managed-identities remove-attestation-rule --help
Opcional: Habilita la federación de confianza entre grupos de identidades para cargas de trabajo
Para habilitar la autenticación mutua para las cargas de trabajo en diferentes dominios de confianza, puedes configurar la federación de confianza.
Crea un archivo
trust-config.yamlcon el siguiente contenido:inlineTrustConfig: additionalTrustBundles: POOL_ID.global.PROJECT_NUMBER.workload.id.goog: trustAnchors: - pemCertificate: "-----BEGIN CERTIFICATE-----\nPEM_ENCODED_CERTIFICATE\n-----END CERTIFICATE-----"
Reemplaza lo siguiente en el archivo:
POOL_ID: Es el ID del grupo de identidades para cargas de trabajo con el que deseas federar la identidad.PROJECT_NUMBER: Es el número del proyecto del grupo de identidades para cargas de trabajo con el que deseas federar la identidad.PEM_ENCODED_CERTIFICATE: Es el certificado de la AC raíz codificado en PEM del grupo de identidades para cargas de trabajo con el que deseas federar tu identidad.
Para actualizar el grupo de identidades para cargas de trabajo con la configuración de confianza, ejecuta el siguiente comando:
gcloud iam workload-identity-pools update POOL_ID \ --location="global" \ --inline-trust-config-file=TRUST_CONFIG_FILE
Reemplaza lo siguiente:
POOL_ID: el ID único para el grupo.TRUST_CONFIG_FILE: Es la ruta de acceso al archivotrust-config.yaml.
¿Qué sigue?
- Soluciona problemas de autenticación de identidades para cargas de trabajo administradas en Compute Engine.
- Configura la carga de trabajo en la autenticación de cargas de trabajo con mTLS.
- Configura el balanceo de cargas con mTLS de backend usando la identidad para cargas de trabajo administrada.
- Más información para crear grupos de AC.
Pruébalo tú mismo
Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
Comenzar gratis