Usa i tag per i firewall

Crea i tag prima di provare ad associarli alle risorse o a utilizzarli nei criteri firewall di rete. Per controllare l'accesso alla rete, i tag sono efficaci solo quando sono associati a istanze VM.

Per una panoramica, vedi Tag per i firewall.

Concedere autorizzazioni per i tag

Il ruolo tagAdmin consente di creare nuovi tag o di aggiornare ed eliminare i tag esistenti. Un amministratore dell'organizzazione può concedere questo ruolo a livello di organizzazione e un proprietario del progetto può farlo a livello di progetto.

gcloud

  1. Concedi il ruolo tagAdmin all'utente.

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagAdmin
    

    Sostituisci quanto segue:

    • ORGANIZATION_ID: ID della tua organizzazione
    • EMAIL_ADDRESS: l'indirizzo email dell'utente
  2. Concedi il ruolo tagUser all'utente.

    gcloud resource-manager tags keys add-iam-policy-binding ORGANIZATION_ID/TAG_KEY \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagUser
    

    Sostituisci quanto segue:

    • ORGANIZATION_ID: ID della tua organizzazione
    • TAG_KEY: la chiave tag
    • EMAIL_ADDRESS: l'indirizzo email dell'utente

Ruoli personalizzati per la gestione dei tag

Il ruolo tagAdmin consente di eseguire le seguenti azioni: creare nuovi tag, aggiornare ed eliminare i tag esistenti. Se hai bisogno di alcune di queste funzionalità, puoi creare un ruolo IAM personalizzato con le autorizzazioni pertinenti e concedere il nuovo ruolo all'utente di destinazione. Per l'elenco delle autorizzazioni pertinenti, consulta Autorizzazioni IAM.

I tag utilizzati nei criteri firewall devono essere designati con uno scopo GCE_FIREWALL. Sebbene lo scopo di GCE_FIREWALL sia necessario per l'utilizzo del tag nelle funzionalità di networking, puoi utilizzare il tag per altre azioni.

I tag utilizzati nei criteri firewall di rete devono avere un ambito limitato a un singolo VPC.

Crea le chiavi e i valori dei tag

Prima di associare i tag ai criteri firewall di rete, devi creare le chiavi e i valori dei tag.

gcloud

  1. Dopo aver ottenuto le autorizzazioni richieste, crea la chiave tag.

    gcloud resource-manager tags keys create TAG_KEY \
       --parent organizations/ORGANIZATION_ID \
       --purpose GCE_FIREWALL \
       --purpose-data network=PROJECT_ID/NETWORK
    

    Sostituisci quanto segue:

    • TAG_KEY: la chiave tag
    • ORGANIZATION_ID: ID della tua organizzazione
    • PROJECT_ID: ID del tuo progetto
    • NETWORK: il nome della tua rete
  2. Aggiungi i valori del tag pertinenti alle chiavi dei tag. Esegui il comando più volte per aggiungere più valori. Assicurati che ogni valore di Tag aggiunto alla chiave Tag sia univoco.

    gcloud resource-manager tags values create TAG_VALUE \
       --parent ORGANIZATION_ID/TAG_KEY
    

    Sostituisci quanto segue:

    • ORGANIZATION_ID: ID della tua organizzazione
    • TAG_KEY: la chiave tag
    • TAG_VALUE: il valore da assegnare alla chiave tag

Creare una regola del criterio firewall con i tag

Dopo aver creato un tag, puoi utilizzarlo nei criteri firewall di rete. Puoi creare una regola del criterio firewall di rete con i valori specifici del tag di origine e di destinazione per consentire il traffico desiderato tra le VM con i tag di origine e di destinazione.

gcloud

  1. Creare una regola del criterio firewall di rete con chiavi e valori di origine e di destinazione specifici.

    gcloud compute network-firewall-policies rules create 1 \
        --firewall-policy FIREWALL_POLICY_NAME \
        --src-secure-tags ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
        --target-secure-tags ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
        --direction DIRECTION \
        --action ACTION \
        --layer4-configs tcp:PORT \
        --global-firewall-policy
    

    Sostituisci quanto segue:

    • FIREWALL_POLICY_NAME: il nome del nuovo criterio firewall di rete globale della rete
    • ORGANIZATION_ID: ID della tua organizzazione
    • TAG_KEY: la chiave tag
    • TAG_VALUE: il valore da assegnare alla chiave tag
    • DIRECTION: indica se la regola è una regola ingress o egress
    • ACTION: una delle seguenti azioni:
      • allow: consente le connessioni che corrispondono alla regola
      • deny: nega le connessioni che corrispondono alla regola
      • goto_next: supera la valutazione delle connessioni al livello successivo della gerarchia, ovvero una cartella o la rete
    • PORT: il numero di porta per accedere alla risorsa

Associa i tag alle istanze VM

Gli amministratori di tag possono associare i tag a singole istanze VM.

L'associazione di un tag a una risorsa associa un valore tag a una risorsa. Sebbene un tag possa avere più valori per una determinata chiave, puoi associare un solo valore per chiave tag a una risorsa. Ad esempio, non puoi associare entrambi i valori di tag web-backend e mysql alla stessa istanza VM perché appartengono alla stessa chiave-funzione vm-function.

Ad esempio, Sasha, uno sviluppatore, vuole configurare un'applicazione che consiste in un backend API e un archivio di database di supporto. Per consentire il traffico tra il backend e il server di database, Sasha deve associare i valori tag web-backend e mysql a VM diverse.

gcloud

  1. Concedi il ruolo tagUser.

    gcloud resource-manager tags keys add-iam-policy-binding ORGANIZATION_ID/TAG_KEY \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagUser
    

    Sostituisci quanto segue:

    • ORGANIZATION_ID: ID della tua organizzazione
    • TAG_KEY: la chiave tag
    • EMAIL_ADDRESS: l'indirizzo email dell'utente

    In questo comando, all'utente viene concesso l'uso di tutti i valori attuali e futuri della chiave. Puoi anche concedere l'accesso in modo selettivo solo a valori specifici di un tag, come segue:

    gcloud resource-manager tags values add-iam-policy-binding ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagUser
    

    Sostituisci quanto segue:

    • ORGANIZATION_ID: ID della tua organizzazione
    • TAG_KEY: la chiave tag
    • TAG_VALUE: il valore da assegnare alla chiave tag
    • EMAIL_ADDRESS: l'indirizzo email dell'utente
  2. Concedi il ruolo tagUser alle risorse che vuoi associare ai tag.

    gcloud projects add-iam-policy-binding PROJECT_NAME \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagUser
    

    Sostituisci quanto segue:

    • PROJECT_NAME: il nome del tuo progetto
    • EMAIL_ADDRESS: l'indirizzo email dell'utente
  3. Ottieni il valore PARENT per la coppia chiave-valore dei tag:

    1. Ottieni il prefisso completo del progetto e della zona:

      FULL_NAME_PREFIX=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/
      
    2. Ottieni l'ID VM:

      VM_ID=$(gcloud compute instances describe VM_NAME --format='value(id)')
      
    3. Concatena i valori di FULL_NAME_PREFIX e VM_ID:

      PARENT="$FULL_NAME_PREFIX$VM_ID"
      

    Sostituisci quanto segue:

    • PROJECT_NUMBER: il numero del progetto
    • ZONE: la zona in cui si trova la VM
    • VM_NAME: il nome della VM su cui stai lavorando
  4. Elenca le associazioni.

    gcloud resource-manager tags bindings list \
       --location LOCATION_NAME \
       --parent PARENT
    

    Sostituisci quanto segue:

    • LOCATION_NAME: la posizione a cui appartiene il tag
    • PARENT: il nome completo della risorsa associato all'associazione
  5. Elimina e crea le associazioni.

    gcloud resource-manager tags bindings delete \
       --location LOCATION_NAME \
       --tag-value ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
       --parent PARENT
    
    gcloud resource-manager tags bindings create \
       --location LOCATION_NAME \
       --tag-value ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
       --parent PARENT
    

    Sostituisci quanto segue:

    • LOCATION_NAME: la posizione a cui appartiene il tag
    • ORGANIZATION_ID: ID della tua organizzazione
    • TAG_KEY: la chiave tag
    • TAG_VALUE: il valore della chiave tag
    • PARENT: il nome completo della risorsa da collegare al valore del tag

Utilizzare i tag sulle reti in peering

Puoi utilizzare i tag nel peering di rete. Esegui le attività seguenti nell'ordine specificato per utilizzare i tag su due reti in peering.

  1. Assegna il ruolo tagAdmin a due utenti: un utente in ogni rete peer. Un amministratore dell'organizzazione concede i ruoli tagAdmin agli utenti a livello di organizzazione e un proprietario del progetto può concederlo a livello di progetto.
  2. Consenti al primo utente di rete di creare chiavi e valori dei tag nella prima rete.
  3. Consente al secondo utente di rete di creare chiavi e valori dei tag nella seconda rete.
  4. Concedi le autorizzazioni necessarie a entrambi gli utenti per associare i tag in entrambe le reti.
  5. Associa i tag a utenti e risorse nella prima rete.
  6. Associa i tag a utenti e risorse nella seconda rete.
  7. Per l'utente dalla seconda rete, concedi le autorizzazioni di tagUser nella prima rete.
  8. All'utente dalla prima rete, concedi le autorizzazioni di tagUser nella seconda rete.
  9. Crea una regola del criterio firewall nella prima rete.
  10. Crea una regola del criterio firewall nella seconda rete.

Passaggi successivi