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

Per stabilire connessioni mutual TLS (mTLS) tra i workload di Compute Engine, puoi utilizzare gcloud CLI per configurare le identità dei workload gestite e impostare il provisioning automatico e la gestione del ciclo di vita dei certificati. Per l'emissione dei certificati, puoi utilizzare un'autorità di certificazione (CA) predefinita gestita da Google o un'autorità di certificazione autogestita con Certificate Authority Service.

Prima di iniziare

  1. Crea o seleziona un progetto Google Cloud .

    Ruoli richiesti per selezionare o creare un progetto

    • Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per cui ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l'autorizzazione resourcemanager.projects.create. Scopri come concedere i ruoli.
    • Crea un progetto Google Cloud :

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del progetto Google Cloud .

  2. Comprendere le identità dei workload gestite.

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

  4. Scopri come autenticare i workload di Compute Engine utilizzando le identità dei workload gestite.

  5. Abilita le API IAM e Certificate Authority Service, se non sono già abilitate:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore di Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

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

  6. Configura Google Cloud CLI in modo da utilizzare un progetto per la fatturazione e la quota.

    gcloud config set billing/quota_project PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del progetto.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare identità dei workload gestite ed eseguire il provisioning dei certificati delle identità dei workload gestite, 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 workload gestite per le tue applicazioni, devi eseguire le seguenti attività:

  1. Amministratore della sicurezza:

  2. Compute Administrator:

    Abilita le identità dei workload gestite per i workload in esecuzione in Compute Engine:

Crea un pool di identità del workload

  1. Per configurare le identità dei workload gestite, devi creare un pool in modalità TRUST_DOMAIN.

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

    Sostituisci POOL_ID con l'ID univoco del pool. L'ID deve avere una lunghezza compresa tra 4 e 32 caratteri, contenere solo caratteri alfanumerici minuscoli e trattini e iniziare e terminare con un carattere alfanumerico. Dopo aver creato un pool di identità del workload, non puoi modificarne l'ID.

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

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

    L'output è simile al seguente:

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

    Se mode: TRUST_DOMAIN non è presente nell'output comando, verifica di aver configurato correttamente gcloud CLI per utilizzare il progetto corretto per la fatturazione e la quota. Assicurati di aver eseguito l'aggiornamento all'ultima versione di gcloud CLI.

Scegli un'opzione CA

Per firmare i certificati dei workload, scegli l'opzione di autorità di certificazione (CA) più adatta al tuo caso d'uso:

  • CA predefinita gestita da Google: utilizza questa opzione per una soluzione completamente gestita e senza costi. La CA predefinita fornisce una radice di attendibilità condivisa per tutti gli utentiGoogle Cloud .

  • CA personalizzata: utilizza questa opzione per configurare la tua infrastruttura a chiave pubblica tramite Certificate Authority Service. Questa opzione è appropriata se hai bisogno di una radice di attendibilità personalizzata o se devi archiviare le chiavi di firma in un modulo di sicurezza hardware (HSM) per soddisfare i requisiti di conformità. Certificate Authority Service viene addebitato separatamente dall'identità dei workload gestita. Per saperne di più, consulta i prezzi di Certificate Authority Service.

Configura una CA

CA predefinita

Per associare la CA predefinita al pool di identità del workload, aggiorna il pool di identità del workload con il flag use-default-shared-ca.

gcloud iam workload-identity-pools update TRUST_DOMAIN_NAME \
    --location="global" \
    --use-default-shared-ca \
    --project=PROJECT_ID

Sostituisci quanto segue:

  • TRUST_DOMAIN_NAME: il nome del dominio di attendibilità.
  • PROJECT_ID: l'ID progetto.

CA personalizzata

Per configurare le identità dei workload gestite utilizzando una CA personalizzata, completa i seguenti passaggi:

  1. Configura CA Service per emettere certificati per le identità dei workload gestite.
  2. Associa le CA al pool di identità del workload.
  3. Autorizza le identità dei workload gestite a richiedere certificati al pool di CA.

Configura 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 Workload Identity X.509 per le VM.

I pool CA configurati per emettere certificati per le VM di Compute Engine utilizzando le identità dei workload gestite devono trovarsi nella stessa regione della VM. Se vuoi progettare un'architettura multiregionale per la resilienza alle interruzioni a livello di regione, ti consigliamo di configurare un pool di CA subordinate di Certificate Authority Service per ciascuna delle regioni del tuo workload. In questo modo, ogni VM di Compute Engine può fare riferimento a un pool CA subordinato di Certificate Authority Service all'interno della regione.

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

Configura il pool CA radice

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

Non puoi spostare o esportare un pool CA dopo averlo creato.

  1. Crea il pool CA radice nel livello Enterprise eseguendo il comando gcloud privateca pools create. Il livello Enterprise è destinato all'emissione di certificati di lunga durata e di volume ridotto.

    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 CA root. L'ID può contenere fino a 64 caratteri e deve contenere solo caratteri alfanumerici minuscoli e maiuscoli, trattini bassi o trattini. L'ID del pool deve essere univoco all'interno della regione.
    • REGION: la regione in cui si trova il pool CA root.

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

  2. Crea una CA radice nel pool CA radice eseguendo il comando gcloud privateca roots create. Se questa è l'unica CA nel pool CA radice, potrebbe esserti chiesto di attivare la CA radice.

    Ad esempio, puoi 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 della CA può contenere fino a 64 caratteri e deve includere 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 CA root.
    • ROOT_CA_CN: il nome comune della CA root.
    • ROOT_CA_ORGANIZATION: l'organizzazione della CA radice.
    • REGION: la regione in cui si trova il pool di CA root.

    Per saperne di più, consulta Crea un'autorità di certificazione radice. Per ulteriori informazioni sui campi subject per la CA, consulta Oggetto.

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

Configura le CA subordinate

Utilizza l'interfaccia di Google Cloud CLI per Certificate Authority Service per creare un pool CA subordinato 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 a un pool CA consente di ottenere un bilanciamento del carico migliore delle richieste di certificati.

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

  1. Crea il pool CA subordinato nel livello DevOps. Questo livello è destinato all'emissione di certificati di breve durata e di volume elevato.

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

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

  2. Crea una CA subordinata nel pool CA subordinato eseguendo 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 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 della CA deve essere univoco all'interno della regione.
    • SUBORDINATE_CA_POOL_ID: il nome del pool CA subordinato.
    • REGION: la regione in cui si trova il pool CA subordinato.
    • ROOT_CA_POOL_ID: l'ID del pool CA root.
    • REGION: la regione del pool di CA root.
    • SUBORDINATE_CA_CN: il nome comune della CA subordinata.
    • SUBORDINATE_CA_ORGANIZATION: il nome dell'organizzazione che emette la CA subordinata.

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

Associa le CA al pool di identità del workload

Dopo aver creato la gerarchia delle CA, associa le CA al pool di identità del workload aggiornando il pool con la configurazione di emissione dei certificati di ciascuna CA.

  1. Crea un file issuance-config.yaml con i seguenti contenuti:

    inlineCertificateIssuanceConfig:
    caPools:
    REGION: projects/PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID
    keyAlgorithm: RSA_2048
    lifetime: 86400s
    rotationWindowPercentage: 50

    Sostituisci quanto segue nel file:

    • REGION: la regione in cui si trova il pool CA subordinato.
    • PROJECT_ID: l'ID del progetto che contiene il pool di CA subordinate.
    • SUBORDINATE_CA_POOL_ID: l'ID del pool CA subordinato.
  2. Esegui questo comando per aggiornare il pool di identità del workload:

    gcloud iam workload-identity-pools update POOL_ID \
       --location="global" \
       --inline-certificate-issuance-config-file=ISSUANCE_CONFIG_FILE
    

    Sostituisci quanto segue:

    • POOL_ID: l'ID univoco del pool.
    • ISSUANCE_CONFIG_FILE: il percorso del file issuance-config.yaml.

Autorizza le identità dei workload gestite a richiedere certificati al pool di CA

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

  1. Concedi il ruolo IAM Richiedente certificato workload di Certificate Authority Service (roles/privateca.workloadCertificateRequester) su ogni pool CA subordinato all'identità dei workload gestita. Il seguente comando gcloud privateca pools add-iam-policy-binding autorizza l'identità dei workload gestita a richiedere certificati alle catene di certificati di Certificate Authority Service.

    gcloud privateca pools add-iam-policy-binding SUBORDINATE_CA_POOL_ID \
      --location=REGION \
      --role=roles/privateca.workloadCertificateRequester \
      --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/name/locations/global/workloadIdentityPools/POOL_ID/*"
    

    Sostituisci quanto segue:

    • SUBORDINATE_CA_POOL_ID: l'ID del pool CA subordinato.
    • REGION: la regione del pool CA subordinato.
    • 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 CA Service Pool Reader (roles/privateca.poolReader) sui pool CA subordinate all'identità dei workload gestita. In questo modo, l'identità del workload gestita è 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/name/locations/global/workloadIdentityPools/POOL_ID/*"
    

    Sostituisci quanto segue:

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

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à dei workload nei tuoi workload. Le Workload Identity sono definite all'interno di un pool di identità del workload e sono organizzate in confini amministrativi chiamati spazi dei nomi.

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 avere una lunghezza compresa 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à dei workload gestita

Il comando workload-identity-pools managed-identities create consente di creare un'identità dei workload gestita in uno spazio dei nomi del pool di identità dei 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 avere una lunghezza compresa 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à dei workload gestita, non puoi modificarne l'ID.
  • NAMESPACE_ID: l'ID dello 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 dell'identità dei workload gestita è 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 una policy di attestazione. Questa policy determina quali attributi vengono utilizzati da Google Cloud IAM per verificare l'identità del workload. Dopo la verifica, il workload chiamante può ricevere una credenziale.

La verifica si basa su uno dei seguenti attributi del workload:

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

Definisci una policy di attestazione del workload con regole di attestazione

Per creare una policy di attestazione che consenta al tuo workload di utilizzare l'identità gestita, segui questi passaggi:

  1. Decidi se vuoi creare una policy di attestazione che consenta al tuo workload di attestare l'identità gestita utilizzando il service account collegato, il nome dell'istanza o l'ID istanza.

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

    1. (Facoltativo) Per ricevere le credenziali X.509 sulla tua istanza Compute Engine, devi attivare un account di servizio collegato. Ti consigliamo di collegare un nuovo account di servizio al tuo workload creandolo prima con il seguente comando:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
      

      Sostituisci SERVICE_ACCOUNT_NAME con il nome del account di servizio.

    2. Crea un file della policy di attestazione in formato JSON che attesti in base all'indirizzo email del account di servizio, all'UID del account di servizio, al nome dell'istanza o all'ID istanza.

      Indirizzo email del service account

      Per creare un file della policy di attestazione che attesti in base all'indirizzo email del service account, 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 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 della policy di attestazione che attesti in base all'UID del service account, 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 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

      Per ottenere l'ID univoco del account di servizio, esegui questo comando:

         gcloud iam service-accounts describe SERVICE_ACCOUNT_EMAIL\
            --format="value(uniqueId)"
      

      Nome istanza

      Per creare un file della policy di attestazione che attesti in base al nome dell'istanza, crea un file con i seguenti contenuti:

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

      Sostituisci quanto segue:

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

        Per ottenere il numero 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)"
        
      • ZONE: la zona della VM di Compute Engine

      • INSTANCE_NAME: il nome di un'istanza VM di Compute Engine nuova o esistente

      ID istanza

      Per creare un file di policy 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 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 di Compute Engine

  3. Crea la policy di attestazione utilizzando il file JSON della policy 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 avere una lunghezza compresa 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à dei workload gestita, non puoi modificarne l'ID.
    • NAMESPACE_ID: l'ID dello 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: il percorso del file JSON che rappresenta la policy di attestazione creata in precedenza.

    Puoi anche aggiornare la policy aggiungendo o rimuovendo singolarmente le regole di attestazione. Per aggiungere un'attestazione alla policy di attestazione, esegui il seguente 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
    

(Facoltativo) Abilita la federazione di attendibilità tra i pool di identità del workload

Per abilitare l'autenticazione reciproca per i workload in domini di attendibilità diversi, puoi configurare la federazione di attendibilità.

  1. Crea un file trust-config.yaml con i seguenti contenuti:

    inlineTrustConfig:
    additionalTrustBundles:
      POOL_ID.global.PROJECT_NUMBER.workload.id.goog:
         trustAnchors:
         - pemCertificate: "-----BEGIN CERTIFICATE-----\nPEM_ENCODED_CERTIFICATE\n-----END CERTIFICATE-----"

    Sostituisci quanto segue nel file:

    • POOL_ID: l'ID del pool di identità del workload con cui vuoi eseguire la federazione.
    • PROJECT_NUMBER: il numero di progetto del pool di identità del workload con cui vuoi eseguire la federazione.
    • PEM_ENCODED_CERTIFICATE: il certificato CA principale con codifica PEM del pool di identità del workload con cui vuoi eseguire la federazione.
  2. Per aggiornare il pool di identità del workload con la configurazione di attendibilità, esegui questo comando:

    gcloud iam workload-identity-pools update POOL_ID \
      --location="global" \
      --inline-trust-config-file=TRUST_CONFIG_FILE
    

    Sostituisci quanto segue:

    • POOL_ID: l'ID univoco del pool.
    • TRUST_CONFIG_FILE: il percorso del file trust-config.yaml.

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 senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.

Inizia senza costi