Configurare l'autenticazione delle identità per i carichi di lavoro gestiti

Questa pagina spiega come configurare le identità dei workload gestite 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 gestiti per Compute Engine. Configura i pool di autorità di certificazione (CA) per emettere certificati utilizzando Certificate Authority Service. CA Service è un servizio Google Cloud scalabile e ad alta disponibilità che semplifica e automatizza il deployment, la gestione e la sicurezza dei servizi CA. Puoi creare istanze di macchine virtuali (VM) per le quali è stato 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à di carico di lavoro gestite.

  3. Scopri di più sulle identità dei carichi di lavoro 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à di carico 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 carico di lavoro gestito.

Ruoli obbligatori

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

Per saperne di più sulla concessione dei ruoli, consulta Gestire 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à per i workload gestiti. Non dovresti concedere ruoli di base in un ambiente di produzione, ma puoi farlo in un ambiente di sviluppo o di test.

Panoramica

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

  1. Amministratore della sicurezza:

  2. Amministratore di Compute:

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

Creare identità di workload gestite

Le identità di workload gestite consentono a Google Cloud di eseguire il provisioning automatico delle credenziali per le identità del pool di identità di workload sui tuoi workload. Le identità di carico di lavoro vengono definite all'interno di un pool di identità di carico di lavoro e sono organizzate in confini 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à di workload per le identità di 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 essere compreso tra 4 e 32 caratteri e può contenere solo caratteri alfanumerici minuscoli e trattini. Inoltre, deve iniziare e terminare con un carattere alfanumerico. Una volta creato un pool di identità del carico di lavoro, non puoi modificarne l'ID.

Per verificare che il pool di identità del tuo carico di lavoro 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 progetto sia stato aggiunto alla lista consentita per la preview dell'identità del workload gestito e che tu abbia configurato correttamente la gcloud CLI in modo da utilizzare il progetto corretto per la fatturazione e la quota. Potresti dover eseguire l'aggiornamento a una versione più recente della 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, deve contenere solo caratteri alfanumerici minuscoli e trattini e deve iniziare e terminare con un carattere alfanumerico. Una volta creato uno spazio dei nomi, non puoi modificarne l'ID.
  • POOL_ID: l'ID pool di identità del workload creato in precedenza.

Creare un'identità del workload gestita

Il comando workload-identity-pools managed-identities create consente di creare un'identità del workload gestita in un 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 per l'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 carico di lavoro gestito, non puoi modificarne l'ID.
  • NAMESPACE_ID: l'ID spazio dei nomi creato in precedenza.
  • POOL_ID: l'ID del pool di identità del workload creato in precedenza.

L'ID identità del carico di lavoro gestito è l'identificatore SPIFFE, che è formato come segue:

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

Definire un criterio di attestazione del carico di lavoro

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 carico di lavoro. Dopo la verifica, il carico di lavoro chiamante può ricevere una credenziale. La verifica si basa su uno dei seguenti attributi del carico di lavoro:

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

Definire un criterio di attestazione del carico di lavoro 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 workload di attestare l'identità gestita utilizzando il relativo account di servizio 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 nuovo account di servizio al tuo carico di lavoro creandolo prima con il seguente comando:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
      

      Sostituisci SERVICE_ACCOUNT_NAME con il nome dell'account di servizio

    2. Crea un file di criteri di attestazione in formato JSON che esegue l'attestazione in base all'indirizzo email, all'UID o all'ID istanza dell'account di servizio.

      Indirizzo email dell'account di servizio

      Per creare un file di criteri di attestazione che esegue l'attestazione 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 l'account di servizio

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

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

      UID dell'account di servizio

      Per creare un file dei criteri di attestazione che esegue l'attestazione 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 l'account di servizio

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

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

      ID istanza

      Per creare un file di criteri di attestazione che esegue l'attestazione 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 l'account di servizio

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

         gcloud projects describe $(gcloud config get-value project) \
            --format="value(projectNumber)"
      
      • INSTANCE_ID: l'ID istanza VM 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 per l'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 carico di lavoro gestito, non puoi modificarne l'ID.
    • NAMESPACE_ID: l'ID spazio dei nomi creato in precedenza.
    • POOL_ID: l'ID pool di identità del workload creato in precedenza.
    • PATH_TO_POLICY_JSON_FILE: il percorso del file JSON che rappresenta il criterio di attestazione creato in precedenza.

    Puoi anche aggiornare il criterio aggiungendo o rimuovendo le regole di attestazione singolarmente. Per aggiungere un'attestazione al criterio 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à per i carichi di lavoro gestiti

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

Dopo aver configurato i pool di CA, devi autorizzare le identità del carico di lavoro 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, destinato all'emissione di certificati a lungo termine 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ò avere una lunghezza massima di 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 ulteriori informazioni, consulta la sezione Creare pool di CA.

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

    Ad esempio, puoi utilizzare un comando simile al seguente per creare una CA principale.

    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 della CA può avere una lunghezza massima di 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 ulteriori informazioni, consulta Creare un'autorità di certificazione radice. Per ulteriori informazioni sui campi subject per la CA, consulta Subject.

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

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 un'autorità di certificazione 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, pensato per l'emissione di certificati di breve durata e ad alto volume .

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

    Per ulteriori informazioni, consulta Creare pool di CA.

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

    Ad esempio, puoi utilizzare un comando simile al seguente per creare una CA secondaria.

    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 subordinate.
    • REGION: la regione in cui si trova il pool di CA secondario.
    • 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 che emette la CA subordinata.

    Per ulteriori informazioni, consulta la sezione Creare pool di CA. Per ulteriori informazioni sui campi subject per la CA, consulta Subject.

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

Le identità dei carichi di lavoro gestite richiedono autorizzazioni per richiedere certificati dal servizio CA e ottenere i certificati pubblici.

gcloud

  1. Concedi il ruolo IAM CA Service Workload Certificate Requester (roles/privateca.workloadCertificateRequester) all'identità del workload gestito su ogni pool di CA secondario. Il seguente comando gcloud privateca pools add-iam-policy-binding autorizza l'identità del workload gestito 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 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 servizi CA (roles/privateca.poolReader) ai pool di CA subordinati per l'identità di 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 del progetto che contiene il pool di identità del workload.
    • POOL_ID: l'ID del pool di identità del workload.

Definisci la configurazione della attendibilità e dell'emissione dei certificati

Utilizza 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

La seguente configurazione di emissione dei certificati è obbligatoria per abilitare le identità di workload gestite per Compute Engine.

{
  "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 secondarie.
  • REGION: la regione in cui si trova il pool di CA subordinato.
  • SUBORDINATE_CA_POOL_ID: il nome del pool di CA subordinate
  • 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 finale in secondi. Il valore deve essere compreso tra 3600 e 315360000. Se non specificato, viene utilizzato il valore predefinito 86400. La validità effettiva del certificato rilasciato dipende anche dall'autorità di certificazione che lo ha emesso, in quanto potrebbe limitare la durata del certificato.
  • ROTATION_WINDOW_PERCENTAGE: facoltativo. La percentuale della durata del certificato in cui viene attivato un rinnovo. Il valore deve essere compreso tra 1 e 100. Il valore predefinito è 66%. Devi impostare la percentuale della finestra di rotazione in base alla durata del certificato in modo che il rinnovo del certificato avvenga almeno 7 giorni dopo la sua emissione e almeno 7 giorni prima della scadenza.

Definisci la configurazione di attendibilità

La configurazione di 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 considerati 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 emettere 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 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 subordinato.
  • REGION: la regione in cui si trova il pool di CA secondario
  • 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 emettere certificati nello stesso dominio di attendibilità a cui appartengono le VM. Questi certificati verranno aggiunti all'elenco di ancore di attendibilità del pool di CA secondario. 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 quanto segue:

Salva il file come CONFIGS.json. Questo file viene utilizzato durante la creazione di VM per eseguire applicazioni che utilizzano identità di 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