Para obtener información sobre el acceso a identidades de carga de trabajo gestionadas para Compute Engine, consulta la página de solicitud de acceso.
En esta página se explica cómo configurar identidades de carga de trabajo gestionadas para Compute Engine mediante la CLI de gcloud.
En esta página también se describe cómo configurar el aprovisionamiento automático y la gestión del ciclo de vida de las identidades de carga de trabajo gestionadas de Compute Engine. Puedes configurar grupos de autoridades de certificación para emitir certificados mediante el Servicio de Autoridades de Certificación. Servicio de AC es un servicio de alta disponibilidad y escalable Google Cloud que simplifica y automatiza el despliegue, la gestión y la seguridad de los servicios de AC. Puedes crear instancias de máquina virtual (VMs) aprovisionadas con credenciales X.509 del pool de CAs configurado. Estas credenciales se pueden usar para establecer conexiones mTLS entre cargas de trabajo.
Antes de empezar
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Familiarízate con las identidades de cargas de trabajo gestionadas.
Consulta información sobre la emisión de certificados con el servicio de autoridad de certificación.
Consulta cómo autenticar cargas de trabajo de Compute Engine mediante identidades de carga de trabajo gestionadas.
Enable the IAM and Certificate Authority Service APIs:
gcloud services enable iam.googleapis.com
privateca.googleapis.com Configura la CLI de Google Cloud para que use el proyecto que se ha añadido a la lista de permitidos para la facturación y la cuota.
gcloud config set billing/quota_project PROJECT_ID
Sustituye PROJECT_ID por el ID del proyecto que se ha añadido a la lista de permitidos de la vista previa de la identidad de carga de trabajo gestionada.
Roles obligatorios
Para obtener los permisos que necesitas para crear identidades de carga de trabajo gestionadas y aprovisionar certificados de identidad de carga de trabajo gestionados, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto:
-
Para crear y configurar identidades de carga de trabajo gestionadas, sigue estos pasos:
-
Administrador de grupos de Workload Identity de IAM (
roles/iam.workloadIdentityPoolAdmin
) -
Administrador de cuentas de servicio (
roles/iam.serviceAccountAdmin
)
-
Administrador de grupos de Workload Identity de IAM (
-
Para crear y configurar grupos de ACs, sigue estos pasos:
Administrador del Servicio de Autoridades de Certificación (
roles/privateca.admin
)
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 identidades de carga de trabajo gestionadas.
No debes conceder roles básicos en un entorno de producción, pero sí puedes hacerlo en un entorno de desarrollo o de pruebas.
Información general
Para usar identidades de carga de trabajo gestionadas en tus aplicaciones, debes realizar las siguientes tareas:
Administrador de seguridad:
- Crea identidades de carga de trabajo gestionadas en un grupo de identidades de carga de trabajo.
- Define una política de certificación de cargas de trabajo y crea una cuenta de servicio.
- Configura el Servicio de Autoridades de Certificación para que emita certificados para identidades de cargas de trabajo gestionadas.
- Autoriza a las identidades de carga de trabajo gestionadas para que soliciten certificados del grupo de ACs.
- Defina la configuración de confianza y emisión de certificados.
- Crea un archivo de configuración para subir los metadatos de partner de una VM.
Administrador de Compute:
Habilita las identidades de carga de trabajo gestionadas para las cargas de trabajo que se ejecutan en Compute Engine:
Crear identidades de carga de trabajo gestionadas
Las identidades de carga de trabajo gestionadas permiten aprovisionar automáticamente credenciales para identidades de grupos de identidades de carga de trabajo en tus cargas de trabajo. Google Cloud Las identidades de carga de trabajo se definen en un grupo de identidades de carga de trabajo y se organizan en límites administrativos denominados espacios de nombres.
Crear un grupo de identidades de carga de trabajo
Debes crear un grupo en modo TRUST_DOMAIN
para crear identidades de carga de trabajo gestionadas. Para crear un grupo de identidades de carga de trabajo para identidades de carga de trabajo gestionadas, usa el comando workload-identity-pools create
.
gcloud iam workload-identity-pools create POOL_ID \ --location="global" \ --mode="TRUST_DOMAIN"
Haz los cambios siguientes:
POOL_ID
: ID único del grupo. El ID debe tener entre 4 y 32 caracteres, y solo puede contener caracteres alfanuméricos en minúscula y guiones, y empezar y terminar con un carácter alfanumérico. Una vez que hayas creado un grupo de identidades de carga de trabajo, no podrás cambiar su ID.
Para verificar que tu grupo de identidades de carga de trabajo se ha creado en modo TRUST_DOMAIN
, usa el comando workload-identity-pools describe
.
gcloud iam workload-identity-pools describe POOL_ID \ --location="global"
La salida del comando debería ser similar a la siguiente:
mode: TRUST_DOMAIN name: projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID state: ACTIVE
Si mode: TRUST_DOMAIN
no aparece en la salida del comando, verifica
que tu proyecto se haya añadido a la lista de permitidos de la versión
de vista previa de la identidad de carga de trabajo gestionada
y que hayas configurado correctamente tu
CLI de gcloud para usar el proyecto correcto para la facturación y la cuota. Es posible que tengas que actualizar a una versión más reciente de la CLI de gcloud.
Crear un espacio de nombres
El comando workload-identity-pools namespaces create
te permite crear un espacio de nombres en un grupo de identidades de carga de trabajo.
gcloud iam workload-identity-pools namespaces create NAMESPACE_ID \ --workload-identity-pool="POOL_ID" \ --location="global"
Haz los cambios siguientes:
NAMESPACE_ID
: el ID único del espacio de nombres. El ID debe tener entre 2 y 63 caracteres, contener únicamente caracteres alfanuméricos en minúscula y guiones, y empezar y terminar con un carácter alfanumérico. Una vez que hayas creado un espacio de nombres, no podrás cambiar su ID.POOL_ID
: el ID del grupo de identidades de carga de trabajo que has creado anteriormente.
Crear una identidad de carga de trabajo gestionada
El comando workload-identity-pools managed-identities create
te permite crear una identidad de carga de trabajo gestionada en un espacio de nombres de grupo de identidades de carga de trabajo.
gcloud iam workload-identity-pools managed-identities create MANAGED_IDENTITY_ID \ --namespace="NAMESPACE_ID" \ --workload-identity-pool="POOL_ID" \ --location="global"
Haz los cambios siguientes:
MANAGED_IDENTITY_ID
: el ID único de la identidad gestionada. El ID debe tener entre 2 y 63 caracteres, contener únicamente caracteres alfanuméricos en minúscula y guiones, y empezar y terminar con un carácter alfanumérico. Una vez que hayas creado una identidad de carga de trabajo gestionada, no podrás cambiar su ID.NAMESPACE_ID
: el ID de espacio de nombres que has creado anteriormente.POOL_ID
: el ID del grupo de identidades de carga de trabajo que has creado anteriormente.
El ID de tu identidad de carga de trabajo gestionada 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
Definir 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 se utilizan para Google Cloud IAM para verificar la identidad de la carga de trabajo. Una vez verificada, 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 instancia de VM
- Dirección de correo de la cuenta de servicio adjunta
- UID de la cuenta de servicio adjunta
Definir 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 gestionada, haz lo siguiente:
Decide si quieres crear una política de certificación que permita que tu carga de trabajo certifique la identidad gestionada mediante su cuenta de servicio adjunta o mediante 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
Sustituye
SERVICE_ACCOUNT_NAME
por 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 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" } ], }
Haz los cambios siguientes:
WORKLOAD_PROJECT_NUMBER
: 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 gestionada 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 de la cuenta de servicio vinculada a la máquina virtual
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" } ], }
Haz los cambios siguientes:
WORKLOAD_PROJECT_NUMBER
: 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 gestionada 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
: el UID de la cuenta de servicio vinculada a la VM
ID de instancia
Para crear un archivo de política de certificación que certifique en función del ID de la instancia, crea un archivo con el siguiente contenido:
{ "attestationRules": [ { "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/uid/zones/ZONE/instances/INSTANCE_ID" } ], }
Haz los cambios siguientes:
WORKLOAD_PROJECT_NUMBER
: 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 gestionada 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
: el ID de la instancia de VM de Compute Engine
El valor de un ID de instancia debe proceder de una instancia de Compute Engine ya creada. 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 mediante el archivo JSON de la política que has creado 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
Haz los cambios siguientes:
MANAGED_IDENTITY_ID
: el ID único de la identidad gestionada. El ID debe tener entre 2 y 63 caracteres, contener únicamente caracteres alfanuméricos en minúscula y guiones, y empezar y terminar con un carácter alfanumérico. Una vez que hayas creado una identidad de carga de trabajo gestionada, no podrás cambiar su ID.NAMESPACE_ID
: el ID de espacio de nombres que has creado anteriormente.POOL_ID
: el ID del grupo de identidades de carga de trabajo que has creado anteriormente.PATH_TO_POLICY_JSON_FILE
: ruta al archivo JSON que representa la política de certificación que has creado anteriormente.
También puede actualizar la política añadiendo o eliminando reglas de certificación individualmente. Para añadir una certificación a tu política de certificaciones, 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 saber 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
Configurar el Servicio de Autoridades de Certificación para emitir certificados de identidades de cargas de trabajo gestionadas
Crea la configuración recomendada para las autoridades de certificación (CAs) raíz y subordinadas mediante grupos del Servicio de Autoridades de Certificación. El grupo de CAs subordinadas emite los certificados de identidad de carga de trabajo X.509 a las VMs.
Después de configurar los grupos de CAs, autoriza las identidades de carga de trabajo gestionadas para que soliciten y reciban los certificados firmados de los grupos de CAs.
Configurar el grupo de autoridades de certificación raíz
Usa la interfaz de la CLI de Google Cloud para el servicio de autoridades de certificación para configurar un pool de AC raíz.
gcloud
Crea el grupo de AC raíz.
Crea el grupo de AC raíz en el nivel Enterprise, que está pensado para la emisión de certificados de larga duración y bajo volumen, mediante el comando
gcloud privateca pools create
.gcloud privateca pools create ROOT_CA_POOL_ID \ --location=REGION \ --tier=enterprise
Haz los cambios siguientes:
- ROOT_CA_POOL_ID: ID único del grupo de autoridades de certificación raíz. El ID puede tener hasta 64 caracteres y solo puede contener caracteres alfanuméricos en minúscula y mayúscula, guiones bajos o guiones. El ID del grupo debe ser único en la región.
- REGION: la región en la que se encuentra el grupo de autoridades de certificación raíz.
Para obtener más información, consulta el artículo sobre cómo crear grupos de CAs.
Crea una AC raíz en el grupo de ACs raíz con el comando
gcloud privateca roots create
. Es posible que se te pida que habilite la CA raíz si es la única CA del grupo de CAs raíz.Por ejemplo, puedes usar un comando similar al siguiente para crear una CA 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
Haz los cambios siguientes:
- ROOT_CA_ID: nombre único de la CA raíz. El nombre de la autoridad de certificación puede tener hasta 64 caracteres y solo puede contener caracteres alfanuméricos en minúsculas y mayúsculas, guiones bajos o guiones. El nombre de la CA debe ser único en la región.
- ROOT_CA_POOL_ID: el ID del grupo de autoridades de certificación raíz.
- ROOT_CA_CN: nombre común de la CA raíz.
- ROOT_CA_ORGANIZATION: la organización de la AC raíz.
- REGION: la región en la que se encuentra el grupo de autoridades de certificación raíz.
Para obtener más información, consulta el artículo Crear una autoridad de certificación raíz. Para obtener más información sobre los campos
subject
de la AC, consulta Asunto.Opcional: Repite los pasos anteriores para crear otra AC raíz en el grupo de ACs raíz. Esto puede ser útil para la rotación de la CA raíz.
Configurar las ACs subordinadas
Usa la interfaz de la CLI de Google Cloud para el servicio de autoridades de certificación para crear un grupo de ACs subordinadas y una AC subordinada.
Si tienes varios casos de emisión de certificados, puedes crear una AC subordinada para cada uno de ellos. Además, añadir varias ACs subordinadas a un grupo de autoridades de certificación te ayuda a conseguir un mejor balanceo de carga de las solicitudes de certificados.
gcloud
Usa el comando gcloud privateca pools create
para crear un grupo de ACs subordinadas.
Crea el grupo de AC subordinada en el nivel DevOps, que está diseñado para la emisión de certificados de gran volumen y corta duración .
gcloud privateca pools create SUBORDINATE_CA_POOL_ID \ --location=REGION \ --tier=devops
Haz los cambios siguientes:
- SUBORDINATE_CA_POOL_ID: ID único del grupo de CAs secundarias. El ID puede tener hasta 64 caracteres y solo puede contener caracteres alfanuméricos en minúscula y mayúscula, guiones bajos o guiones. El ID del grupo debe ser único en la región.
- REGION: la región en la que se va a crear el grupo de ACs subordinadas.
Para obtener más información, consulta el artículo sobre cómo crear grupos de CAs.
Crea una AC subordinada en el grupo de ACs subordinadas con 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 CA 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
Haz los cambios siguientes:
- SUBORDINATE_CA_ID: nombre único de la AC subordinada. El nombre puede tener hasta 64 caracteres y solo puede contener caracteres alfanuméricos en minúsculas y mayúsculas, guiones bajos o guiones. El nombre del grupo debe ser único en la región.
- SUBORDINATE_CA_POOL_ID: el nombre del grupo de autoridades de certificación subordinadas.
- REGION: la región en la que se encuentra el grupo de AC subordinado.
- ROOT_CA_POOL_ID: el ID del grupo de autoridades de certificación raíz.
- REGION: la región del grupo de autoridades de certificación raíz.
- SUBORDINATE_CA_CN: nombre común de la AC subordinada.
- SUBORDINATE_CA_ORGANIZATION: el nombre de la organización emisora de la CA subordinada.
Para obtener más información, consulta el artículo sobre cómo crear grupos de CAs. Para obtener más información sobre los campos
subject
de la AC, consulta Asunto.
Autorizar identidades de carga de trabajo gestionadas para solicitar certificados del grupo de ACs
Las identidades de carga de trabajo gestionadas requieren permisos para solicitar certificados al servicio de CA y obtener los certificados públicos.
gcloud
Asigna el rol de gestión de identidades y accesos Solicitante del certificado de carga de trabajo del Servicio de AC (
roles/privateca.workloadCertificateRequester
) a cada grupo de AC subordinada de la identidad de carga de trabajo gestionada. El siguientegcloud privateca pools add-iam-policy-binding
comando autoriza a la identidad de carga de trabajo gestionada a solicitar certificados de las cadenas de certificados del Servicio de Autoridades de Certificación.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/locations/global/workloadIdentityPools/POOL_ID/*"
Haz los cambios siguientes:
- SUBORDINATE_CA_POOL_ID: el ID del grupo de CAs subordinadas.
- REGION: la región del grupo de ACs subordinadas.
- PROJECT_NUMBER: el número del proyecto que contiene el grupo de identidades de carga de trabajo.
- POOL_ID: el ID del grupo de identidades de carga de trabajo.
Concede el rol de gestión de identidades y accesos Lector de grupos de servicio de AC (
roles/privateca.poolReader
) a los grupos de AC subordinadas de la identidad de carga de trabajo gestionada. De esta forma, la identidad de carga de trabajo gestionada puede 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/locations/global/workloadIdentityPools/POOL_ID/*"
Haz los cambios siguientes:
- SUBORDINATE_CA_POOL_ID: el ID del grupo de CAs subordinadas.
- REGION: la región del grupo de ACs subordinadas.
- PROJECT_NUMBER: el número del proyecto que contiene el grupo de identidades de carga de trabajo.
- POOL_ID: el ID del grupo de identidades de carga de trabajo.
Definir la configuración de confianza y emisión de certificados
Esta información se usa para crear un archivo JSON que se sube como datos de partner al crear una máquina virtual.
Definir la configuración de emisión de certificados
Para habilitar las identidades de carga de trabajo gestionadas en Compute Engine, se necesita la siguiente configuración de emisión de certificados.
{ "primary_certificate_authority_config": { "certificate_authority_config": { "ca_pool": "projects/SUBORDINATE_CA_POOL_PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID" } }, "key_algorithm": "ALGORITHM", "workload_certificate_lifetime_seconds": DURATION, "rotation_window_percentage": ROTATION_WINDOW_PERCENTAGE }
Haz los cambios siguientes:
- SUBORDINATE_CA_POOL_PROJECT_ID: ID del proyecto que contiene el grupo de ACs subordinadas.
- REGION: la región en la que se encuentra el grupo de ACs subordinadas.
- SUBORDINATE_CA_POOL_ID: el nombre del grupo de AC subordinada
- ALGORITHM: algoritmo de cifrado usado para generar la clave privada. Los valores válidos son
rsa-2048
(predeterminado),rsa-3072
,rsa-4096
,ecdsa-p256
yecdsa-p384
. - DURATION: opcional. Duración de validez del certificado de hoja, en segundos. El valor debe estar comprendido entre 3600 y 315360000. Si no se especifica, se usa el valor predeterminado 86400. La validez real del certificado emitido también depende de la AC emisora, ya que puede restringir el tiempo de validez del certificado emitido.
- ROTATION_WINDOW_PERCENTAGE: opcional. Porcentaje del tiempo de vida del certificado en el que se activa una renovación. El valor debe estar comprendido entre 50 y 80. El valor predeterminado es 50 %. Debe definir el porcentaje de la ventana de rotación en relación con el tiempo de validez del certificado para que la renovación del certificado se produzca al menos 7 días después de que se haya emitido y al menos 7 días antes de que caduque.
Definir la configuración de confianza
La configuración de confianza contiene el conjunto de anclas de confianza para validar los certificados de los peers. En otros, se incluyen problemas relacionados con lo siguiente:
- URIs de recursos de grupo de AC de confianza: conjunto de URIs de recursos de grupo de AC que son de confianza para emitir certificados en el mismo dominio de confianza al que pertenecen las VMs.
- Certificados de CA en formato PEM: conjunto de certificados de CA en formato PEM de confianza para emitir certificados en el mismo dominio de confianza al que pertenecen las VMs.
{ "POOL_ID.global.PROJECT_NUMBER.workload.id.goog": { "trust_anchors": [ { "ca_pool": "projects/SUBORDINATE_CA_POOL_PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID" }, { "pem_certificate": "PEM_ENCODED_CERTIFICATE" } ] } }
Haz los cambios siguientes:
- POOL_ID: el ID del grupo de identidades de carga de trabajo
- PROJECT_NUMBER: el número de proyecto del proyecto que contiene el grupo de identidades de carga de trabajo
- SUBORDINATE_CA_POOL_PROJECT_ID: ID del proyecto que contiene el grupo de ACs subordinadas.
- REGION: la región en la que se encuentra el grupo de ACs subordinadas
- SUBORDINATE_CA_POOL_ID: el ID del grupo de AC subordinada
PEM_ENCODED_CERTIFICATE: Opcional: un conjunto de certificados de AC adicionales en formato PEM que tienen permiso para emitir certificados en el mismo dominio de confianza al que pertenecen las VMs. Estos certificados se añadirán a la lista de anclajes de confianza del grupo de ACs subordinadas. El siguiente comando se puede usar para codificar un archivo
trust-anchor.pem
con formato PEM en una cadena de una línea:cat trust-anchor.pem | sed 's/^[ ]*//g' | sed -z '$ s/\n$//' | tr '\n' $ | sed 's/\$/\\n/g'
Crear un archivo de configuración para subir los metadatos de partner de una VM
Crea un archivo JSON que contenga lo siguiente:
- La configuración de la identidad de carga de trabajo
- La información de Definir la configuración de emisión de certificados
- La información de Definir la configuración de confianza
Guarda este archivo como CONFIGS.json
. Este archivo se usa al crear máquinas virtuales para ejecutar aplicaciones que usan identidades de carga de trabajo gestionadas.
Tu archivo CONFIGS.json
debería ser similar al siguiente:
{ "wc.compute.googleapis.com": { "entries": { "certificate-issuance-config": { "primary_certificate_authority_config": { "certificate_authority_config": { "ca_pool": "projects/PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID" } }, "key_algorithm": "ALGORITHM" }, "trust-config": { "POOL_ID.global.PROJECT_NUMBER.workload.id.goog": { "trust_anchors": [{ "ca_pool": "projects/PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID" }] } } } }, "iam.googleapis.com": { "entries": { "workload-identity": "spiffe://POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID" } } }
Siguientes pasos
- Solucionar problemas de autenticación de identidad de carga de trabajo gestionada en Compute Engine
- Configura la autenticación de carga de trabajo a carga de trabajo mediante mTLS.
- Más información sobre cómo crear grupos de ACs
Pruébalo
Si es la primera vez que utilizas Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los nuevos clientes también reciben 300 USD en crédito gratuito para ejecutar, probar y desplegar cargas de trabajo.
Empezar gratis