Configurare l'autenticazione delle identità per i carichi di lavoro gestite per Compute Engine

Per informazioni sull'accesso alle identità dei workload gestite per Compute Engine, consulta la pagina di richiesta di accesso.

Questa pagina spiega come configurare le identità dei carichi di lavoro gestite per Compute Engine utilizzando gcloud CLI.

Questa pagina descrive anche come configurare il provisioning automatico e la gestione del ciclo di vita delle identità dei carichi di lavoro gestite per Compute Engine. Configuri i pool di autorità di certificazione (CA) per emettere certificati utilizzando Certificate Authority Service. CA Service è un servizio Google Cloud scalabile e a disponibilità elevata che semplifica e automatizza il deployment, la gestione e la sicurezza dei servizi CA. Puoi creare istanze di macchine virtuali (VM) di cui viene eseguito il provisioning con credenziali X.509 dal pool di CA configurato. Queste credenziali possono essere utilizzate per stabilire connessioni mTLS tra i workload.

Prima di iniziare

  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. Richiedi l'accesso all'anteprima delle identità dei workload gestite per Compute Engine.

  3. Informazioni sulle identità dei workload gestiti.

  4. Scopri di più sull'emissione di certificati utilizzando Certificate Authority Service.

  5. Scopri come autenticare i carichi di lavoro Compute Engine utilizzando le identità dei carichi di lavoro gestite.

  6. Enable the IAM and Certificate Authority Service APIs:

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

  7. Configura Google Cloud CLI in modo da utilizzare il progetto aggiunto alla lista consentita per la fatturazione e la quota.

    gcloud config set billing/quota_project PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del progetto che è stato aggiunto alla lista consentita per l'anteprima dell'identità del workload gestita.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare identità del workload gestite e eseguire il provisioning dei certificati di identità del workload gestiti, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

In alternativa, il ruolo di base Proprietario IAM (roles/owner) include anche le autorizzazioni per configurare le identità dei workload gestite. Non devi concedere ruoli di base in un ambiente di produzione, ma puoi concederli in un ambiente di sviluppo o di test.

Panoramica

Per utilizzare le identità dei carichi di lavoro gestite per le tue applicazioni, devi eseguire le seguenti attività:

  1. Amministratore della sicurezza:

  2. Amministratore Compute:

    Abilita le identità dei carichi di lavoro gestite per i carichi di lavoro in esecuzione in Compute Engine:

Crea identità dei workload gestite

Le identità dei workload gestite consentono a Google Cloud di eseguire automaticamente il provisioning delle credenziali per le identità del pool di identità del workload sui tuoi workload. Le identità del workload sono definite all'interno di un pool Workload Identity e sono organizzate in limiti amministrativi chiamati spazi dei nomi.

Crea un pool di identità del workload

Per creare identità del workload gestite, devi creare un pool in modalità TRUST_DOMAIN. Per creare un pool di identità del workload per le identità del workload gestite, utilizza il comando workload-identity-pools create.

gcloud iam workload-identity-pools create POOL_ID \
    --location="global" \
    --mode="TRUST_DOMAIN"

Sostituisci quanto segue:

  • POOL_ID: l'ID univoco del pool. L'ID deve contenere tra 4 e 32 caratteri e può contenere solo caratteri alfanumerici minuscoli e trattini. Inoltre, deve iniziare e terminare con un carattere alfanumerico. Dopo aver creato un pool di identità del workload, non puoi modificarne l'ID.

Per verificare che il pool di identità del workload sia stato creato in modalità TRUST_DOMAIN, utilizza il comando workload-identity-pools describe.

gcloud iam workload-identity-pools describe POOL_ID \
    --location="global"

L'output del comando dovrebbe essere simile al seguente:

mode: TRUST_DOMAIN
name: projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID
state: ACTIVE

Se mode: TRUST_DOMAIN non è presente nelloutput comando, verifica che il tuo progetto sia stato aggiunto alla lista consentita per l'identità del workload gestita Anteprima e di aver configurato correttamente l'interfaccia a gcloud CLIud in modo che utilizzi il progetto corretto per la fatturazione e la quota. Potresti dover eseguire l'aggiornamento a una versione più recente di gcloud CLI.

Crea uno spazio dei nomi

Il comando workload-identity-pools namespaces create consente di creare uno spazio dei nomi in un pool di identità del workload.

gcloud iam workload-identity-pools namespaces create NAMESPACE_ID \
    --workload-identity-pool="POOL_ID" \
    --location="global"

Sostituisci quanto segue:

  • NAMESPACE_ID: l'ID univoco dello spazio dei nomi. L'ID deve essere compreso tra 2 e 63 caratteri, contenere solo caratteri alfanumerici minuscoli e trattini e iniziare e terminare con un carattere alfanumerico. Dopo aver creato uno spazio dei nomi, non puoi modificarne l'ID.
  • POOL_ID: l'ID del pool di identità del workload che hai creato in precedenza.

Crea un'identità del workload gestita

Il comando workload-identity-pools managed-identities create consente di creare un'identità del workload gestita in uno spazio dei nomi del pool di identità del workload.

gcloud iam workload-identity-pools managed-identities create MANAGED_IDENTITY_ID \
    --namespace="NAMESPACE_ID" \
    --workload-identity-pool="POOL_ID" \
    --location="global"

Sostituisci quanto segue:

  • MANAGED_IDENTITY_ID: l'ID univoco dell'identità gestita. L'ID deve essere compreso tra 2 e 63 caratteri, contenere solo caratteri alfanumerici minuscoli e trattini e iniziare e terminare con un carattere alfanumerico. Dopo aver creato un'identità del workload gestita, non puoi modificarne l'ID.
  • NAMESPACE_ID: l'ID spazio dei nomi che hai creato in precedenza.
  • POOL_ID: l'ID del pool di identità del workload che hai creato in precedenza.

L'ID identità del workload gestito è l'identificatore SPIFFE, che ha il seguente formato:

spiffe://POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID

Definisci una policy di attestazione del workload

Questa sezione descrive come configurare un criterio di attestazione. Questo criterio determina quali attributi vengono utilizzati da Google Cloud IAM per verificare l'identità del workload. Dopo la verifica, il carico di lavoro di chiamata può ricevere una credenziale. La verifica si basa su uno dei seguenti attributi del carico di lavoro:

  • ID istanza VM
  • Indirizzo email del account di servizio collegato
  • UID account di servizio collegato

Definisci una policy di attestazione del workload con regole di attestazione

Per creare un criterio di attestazione che consenta al tuo carico di lavoro di utilizzare l'identità gestita, segui questi passaggi:

  1. Decidi se vuoi creare un criterio di attestazione che consenta al tuo carico di lavoro di attestare l'identità gestita utilizzando il service account collegato o l'ID istanza.

  2. Crea un file di criteri di attestazione in formato JSON.

    1. (Facoltativo) Per ricevere le credenziali X.509 sull'istanza Compute Engine, devi attivare un account di servizio collegato. Ti consigliamo di collegare un nuovoaccount di serviziot al tuo workload creandolo prima utilizzando il seguente comando:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
      

      Sostituisci SERVICE_ACCOUNT_NAME con il nome delaccount di serviziot.

    2. Crea un file di criteri di attestazione in formato JSON che attesti in base all'indirizzo email delaccount di serviziot, all'UID delaccount di serviziot o all'ID istanza.

      Indirizzo email dell'account di servizio

      Per creare un file di criteri di attestazione che attesti in base all'indirizzo email dell'account di servizio, crea un file con i seguenti contenuti:

      {
         "attestationRules": [
            {
               "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.email/SERVICE_ACCOUNT_EMAIL"
            }
         ],
      }
      

      Sostituisci quanto segue:

      • WORKLOAD_PROJECT_NUMBER: il numero del progetto che contiene l'istanza VM o il account di servizio

      Per ottenere il numero di progetto del progetto che contiene l'identità gestita o il account di servizio appena creato, esegui questo comando:

         gcloud projects describe $(gcloud config get-value project) \
            --format="value(projectNumber)"
      
      • SERVICE_ACCOUNT_EMAIL: l'indirizzo email del account di servizio collegato alla VM

      UID service account

      Per creare un file dei criteri di attestazione che attesti in base all'UID dell'account di servizio, crea un file con i seguenti contenuti:

      {
         "attestationRules": [
            {
               "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.uid/SERVICE_ACCOUNT_UID"
            }
         ],
      }
      

      Sostituisci quanto segue:

      • WORKLOAD_PROJECT_NUMBER: il numero del progetto che contiene l'istanza VM o il account di servizio

      Per ottenere il numero di progetto del progetto che contiene l'identità gestita o il account di servizio appena creato, esegui questo comando:

         gcloud projects describe $(gcloud config get-value project) \
            --format="value(projectNumber)"
      
      • SERVICE_ACCOUNT_UID: l'UID del account di servizio collegato alla VM

      ID istanza

      Per creare un file di criteri di attestazione che attesti in base all'ID istanza, crea un file con i seguenti contenuti:

      {
         "attestationRules": [
            {
               "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/uid/zones/ZONE/instances/INSTANCE_ID"
            }
         ],
      }
      

      Sostituisci quanto segue:

      • WORKLOAD_PROJECT_NUMBER: il numero del progetto che contiene l'istanza VM o il account di servizio

      Per ottenere il numero di progetto del progetto che contiene l'identità gestita o il account di servizio appena creato, esegui questo comando:

         gcloud projects describe $(gcloud config get-value project) \
            --format="value(projectNumber)"
      
      • INSTANCE_ID: l'ID istanza VM di Compute Engine

      Il valore di un ID istanza deve provenire da un'istanza Compute Engine esistente. Per ottenere l'ID istanza, esegui questo comando:

      gcloud compute instances describe INSTANCE_NAME --zone=ZONE --format="get(id)"
      
      • INSTANCE_NAME: il nome dell'istanza VM di Compute Engine
      • ZONE: la zona della VM Compute Engine
  3. Crea il criterio di attestazione utilizzando il file JSON dei criteri che hai creato in precedenza in questo 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
    

    Sostituisci quanto segue:

    • MANAGED_IDENTITY_ID: l'ID univoco dell'identità gestita. L'ID deve essere compreso tra 2 e 63 caratteri, contenere solo caratteri alfanumerici minuscoli e trattini e iniziare e terminare con un carattere alfanumerico. Dopo aver creato un'identità del workload gestita, non puoi modificarne l'ID.
    • NAMESPACE_ID: l'ID spazio dei nomi che hai creato in precedenza.
    • POOL_ID: l'ID del pool di identità del workload che hai creato in precedenza.
    • PATH_TO_POLICY_JSON_FILE: percorso del file JSON che rappresenta la policy di attestazione creata in precedenza.

    Puoi anche aggiornare la norma aggiungendo o rimuovendo singolarmente le regole di attestazione. Per aggiungere un'attestazione alla tua policy di attestazione, esegui questo 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. Per scoprire come elencare o rimuovere le regole di attestazione, esegui i seguenti comandi:

    gcloud iam workload-identity-pools managed-identities list-attestation-rules --help
    gcloud iam workload-identity-pools managed-identities remove-attestation-rule --help
    

Configurare Certificate Authority Service per emettere certificati per le identità dei workload gestite

Crea la configurazione consigliata per le autorità di certificazione (CA) radice e subordinate utilizzando i pool di Certificate Authority Service. Il pool di CA subordinate emette i certificati di identità per carichi di lavoro X.509 per le VM.

Dopo aver configurato i pool di CA, autorizza le identità del workload gestito a richiedere e ricevere i certificati firmati dai pool di CA.

Configura il pool di CA radice

Utilizza l'interfaccia Google Cloud CLI per Certificate Authority Service per configurare un pool di CA radice.

gcloud

Crea il pool di CA radice.

  1. Crea il pool di CA radice nel livello Enterprise, che è destinato all'emissione di certificati a lunga durata e a basso volume utilizzando il comando gcloud privateca pools create.

    gcloud privateca pools create ROOT_CA_POOL_ID \
       --location=REGION \
       --tier=enterprise
    

    Sostituisci quanto segue:

    • ROOT_CA_POOL_ID: un ID univoco per il pool di CA radice. L'ID può contenere fino a 64 caratteri e deve contenere solo caratteri alfanumerici minuscoli e maiuscoli, trattini bassi o trattini. L'ID pool deve essere univoco all'interno della regione.
    • REGION: la regione in cui si trova il pool di CA radice.

    Per saperne di più, consulta la sezione Creazione di pool di CA.

  2. Crea una CA radice nel pool di CA radice utilizzando il comando gcloud privateca roots create. Potresti dover attivare la CA radice se è l'unica CA nel pool di CA radice.

    Ad esempio, potresti utilizzare un comando simile al seguente per creare una CA radice.

    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
    

    Sostituisci quanto segue:

    • ROOT_CA_ID: un nome univoco per la CA radice. Il nome dell'autorità di certificazione può contenere fino a 64 caratteri e deve contenere solo caratteri alfanumerici minuscoli e maiuscoli, trattini bassi o trattini. Il nome della CA deve essere univoco all'interno della regione.
    • ROOT_CA_POOL_ID: l'ID del pool di CA radice.
    • ROOT_CA_CN: il nome comune della CA radice.
    • ROOT_CA_ORGANIZATION: l'organizzazione della CA radice.
    • REGION: la regione in cui si trova il pool di CA radice.

    Per saperne di più, vedi Creare un'autorità di certificazione radice. Per ulteriori informazioni sui campi subject per la CA, vedi Soggetto.

  3. (Facoltativo) Ripeti i passaggi precedenti per creare un'altra CA radice nel pool di CA radice. Questa opzione può essere utile per la rotazione della CA radice.

Configura le CA subordinate

Utilizza l'interfaccia Google Cloud CLI per Certificate Authority Service per creare un pool di CA subordinate e una CA subordinata.

Se hai più scenari di emissione di certificati, puoi creare una CA subordinata per ciascuno di questi scenari. Inoltre, l'aggiunta di più CA subordinate in un pool di CA consente di ottenere un migliore bilanciamento del carico delle richieste di certificato.

gcloud

Utilizza il comando gcloud privateca pools create per creare un pool di CA subordinate.

  1. Crea il pool di CA subordinate nel livello DevOps, che è destinato all'emissione di certificati di breve durata e in grandi volumi .

    gcloud privateca pools create SUBORDINATE_CA_POOL_ID \
       --location=REGION \
       --tier=devops
    

    Sostituisci quanto segue:

    • SUBORDINATE_CA_POOL_ID: un ID univoco per il pool di CA secondario. L'ID può contenere fino a 64 caratteri e deve contenere solo caratteri alfanumerici minuscoli e maiuscoli, trattini bassi o trattini. L'ID pool deve essere univoco all'interno della regione.
    • REGION: la regione in cui creare il pool di CA secondaria.

    Per saperne di più, consulta la sezione Creazione di pool di CA.

  2. Crea una CA subordinata nel pool di CA subordinate utilizzando il comando gcloud privateca subordinates create. Non modificare la modalità di emissione basata sulla configurazione predefinita.

    Ad esempio, potresti utilizzare un comando simile al seguente per creare una CA subordinata.

    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
    

    Sostituisci quanto segue:

    • SUBORDINATE_CA_ID: un nome univoco per la CA subordinata. Il nome può contenere fino a 64 caratteri e deve contenere solo caratteri alfanumerici minuscoli e maiuscoli, trattini bassi o trattini. Il nome del pool deve essere univoco all'interno della regione.
    • SUBORDINATE_CA_POOL_ID: il nome del pool di CA subordinato.
    • REGION: la regione in cui si trova il pool di CA subordinato.
    • ROOT_CA_POOL_ID: l'ID del pool di CA radice.
    • REGION: la regione del pool di CA radice.
    • SUBORDINATE_CA_CN: il nome comune della CA subordinata.
    • SUBORDINATE_CA_ORGANIZATION: il nome dell'organizzazione di emissione della CA subordinata.

    Per saperne di più, consulta la sezione Creazione di pool di CA. Per ulteriori informazioni sui campi subject per la CA, vedi Soggetto.

Autorizza le identità dei carichi di lavoro gestite a richiedere certificati dal pool di CA

Le identità dei workload gestite richiedono le autorizzazioni per richiedere certificati al servizio CA e ottenere i certificati pubblici.

gcloud

  1. Concedi il ruolo IAM CA Service Workload Certificate Requester (roles/privateca.workloadCertificateRequester) a ogni pool di CA subordinate all'identità del workload gestito. Il seguente comando gcloud privateca pools add-iam-policy-binding autorizza l'identità del workload gestita a richiedere certificati dalle catene di certificati del servizio CA.

    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/*"
    

    Sostituisci quanto segue:

    • SUBORDINATE_CA_POOL_ID: l'ID del pool di CA secondario.
    • REGION: la regione del pool di CA secondario.
    • PROJECT_NUMBER: il numero di progetto del progetto che contiene il pool di identità del workload.
    • POOL_ID: l'ID del pool di identità del workload.
  2. Concedi il ruolo IAM Lettore pool di CA Service (roles/privateca.poolReader) nei pool di CA subordinate all'identità del workload gestita. In questo modo, l'identità del carico di lavoro gestito viene autorizzata a ottenere i certificati X.509 firmati dalle catene di certificati della 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/*"
    

    Sostituisci quanto segue:

    • SUBORDINATE_CA_POOL_ID: l'ID del pool di CA secondario.
    • REGION: la regione del pool di CA secondario.
    • PROJECT_NUMBER: il numero di progetto del progetto che contiene il pool di identità del workload.
    • POOL_ID: l'ID del pool di identità del workload.

Definisci la configurazione di attendibilità e di emissione dei certificati

Utilizzi queste informazioni per creare un file JSON che viene caricato come dati del partner durante la creazione di una VM.

Definisci la configurazione dell'emissione dei certificati

Per abilitare le identità dei workload gestite per Compute Engine è necessaria la seguente configurazione di emissione dei certificati.

{
  "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
}

Sostituisci quanto segue:

  • SUBORDINATE_CA_POOL_PROJECT_ID: l'ID del progetto che contiene il pool di CA secondario.
  • REGION: la regione in cui si trova il pool di CA secondarie.
  • SUBORDINATE_CA_POOL_ID: il nome del pool di CA subordinato
  • ALGORITHM: l'algoritmo di crittografia utilizzato per generare la chiave privata. I valori validi sono rsa-2048 (predefinito), rsa-3072, rsa-4096, ecdsa-p256 e ecdsa-p384.
  • DURATION: (Facoltativo) La durata di validità del certificato foglia, in secondi. Il valore deve essere compreso tra 3600 e 315360000. Se non specificato, viene utilizzato il valore predefinito di 86400. La validità effettiva del certificato emesso dipende anche dalla CA emittente, perché potrebbe limitare la durata del certificato emesso.
  • ROTATION_WINDOW_PERCENTAGE: (Facoltativo) la percentuale della durata del certificato in corrispondenza della quale viene attivato un rinnovo. Il valore deve essere compreso tra 50 e 80. Il valore predefinito è 50%. Devi impostare la percentuale della finestra di rotazione in relazione alla durata del certificato in modo che il rinnovo del certificato avvenga almeno 7 giorni dopo l'emissione e almeno 7 giorni prima della scadenza.

Definisci la configurazione dell'attendibilità

La configurazione dell'attendibilità contiene l'insieme di trust anchor per la convalida dei certificati peer. È incluso quanto segue:

  • URI delle risorse del pool di CA attendibili: un insieme di URI delle risorse del pool di CA attendibili per l'emissione di certificati nello stesso dominio attendibile a cui appartengono le VM.
  • Certificati CA in formato PEM: un insieme di certificati CA in formato PEM considerati attendibili per l'emissione di certificati nello stesso dominio di attendibilità a cui appartengono le VM.
{
  "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"
      }
    ]
  }
}

Sostituisci quanto segue:

  • POOL_ID: l'ID del pool di identità del workload
  • PROJECT_NUMBER: il numero di progetto del progetto che contiene il pool di identità del workload
  • SUBORDINATE_CA_POOL_PROJECT_ID: l'ID del progetto che contiene il pool di CA secondario.
  • REGION: la regione in cui si trova il pool di CA subordinato
  • SUBORDINATE_CA_POOL_ID: l'ID del pool di CA subordinato
  • PEM_ENCODED_CERTIFICATE: (facoltativo) un insieme di certificati CA aggiuntivi in formato PEM considerati attendibili per l'emissione di certificati nello stesso dominio di attendibilità a cui appartengono le VM. Questi certificati verranno aggiunti all'elenco delle ancore di attendibilità del pool di CA subordinate. Il seguente comando può essere utilizzato per codificare un file trust-anchor.pem in formato PEM in una stringa di una riga:

    cat trust-anchor.pem | sed 's/^[ ]*//g' | sed -z '$ s/\n$//' | tr '\n' $ | sed 's/\$/\\n/g'
    

Creare un file di configurazione per caricare i metadati del partner per una VM

Crea un file JSON contenente le seguenti informazioni:

Salva questo file come CONFIGS.json. Questo file viene utilizzato durante la creazione di VM per eseguire applicazioni che utilizzano identità dei workload gestite.

Il file CONFIGS.json dovrebbe essere simile al seguente:

  {
  "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"
     }
  }
  }
  

Passaggi successivi

Provalo

Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.

Inizia gratuitamente