Configurar la autenticación de Workload Identity gestionada para Compute Engine

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

  1. 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.

  2. Solicita acceso a las identidades de carga de trabajo gestionadas para la vista previa de Compute Engine.

  3. Familiarízate con las identidades de cargas de trabajo gestionadas.

  4. Consulta información sobre la emisión de certificados con el servicio de autoridad de certificación.

  5. Consulta cómo autenticar cargas de trabajo de Compute Engine mediante identidades de carga de trabajo gestionadas.

  6. Enable the IAM and Certificate Authority Service APIs:

    gcloud services enable iam.googleapis.com privateca.googleapis.com

  7. 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 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:

  1. Administrador de seguridad:

  2. 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:

  1. 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.

  2. Crea un archivo de política de certificación con formato JSON.

    1. (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.

    2. 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 Engine
      • ZONE: la zona de la VM de Compute Engine
  3. 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
    
  4. 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.

  1. 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.

  2. 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.

  3. 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.

  1. 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.

  2. 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

  1. 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 siguiente gcloud privateca pools add-iam-policy-bindingcomando 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.
  2. 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 y ecdsa-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:

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

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