Utilizzare i tag per i firewall

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

Per una panoramica, consulta Tag per i firewall.

Concedi le autorizzazioni ai tag

Il ruolo tagAdmin ti consente di creare nuovi tag o aggiornare ed eliminare quelli esistenti. Un amministratore dell'organizzazione può assegnare questo ruolo a livello di organizzazione, mentre un proprietario del progetto può farlo a livello di progetto.

gcloud

  1. Concedi all'utente il ruolo tagAdmin.

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

    Sostituisci quanto segue:

    • ORGANIZATION_ID: l'ID della tua organizzazione
    • EMAIL_ADDRESS: l'indirizzo email dell'utente
  2. Concedi all'utente 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: l'ID della tua organizzazione
    • TAG_KEY: la chiave Tag
    • EMAIL_ADDRESS: l'indirizzo email dell'utente

Ruoli personalizzati per gestire i tag

Il ruolo tagAdmin ti 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 assegnare il nuovo ruolo all'utente di destinazione. Per l'elenco delle autorizzazioni pertinenti, vedi Autorizzazioni IAM.

I tag utilizzati nei criteri firewall devono essere designati con uno scopo GCE_FIREWALL. Sebbene lo scopo GCE_FIREWALL sia obbligatorio per l'utilizzo del tag nelle funzionalità di rete, puoi utilizzarlo 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: l'ID della tua organizzazione
    • PROJECT_ID: l'ID del tuo progetto
    • NETWORK: il nome della tua rete
  2. Aggiungi i valori tag pertinenti alle chiavi tag. Esegui il comando più volte per aggiungere più valori. Assicurati che ogni valore 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: l'ID della tua organizzazione
    • TAG_KEY: la chiave Tag
    • TAG_VALUE: il valore da assegnare alla chiave Tag

Crea una policy firewall di rete

Dopo aver creato un tag, puoi utilizzarlo nei criteri firewall di rete. Se non hai già una policy firewall di rete, creane una nuova.

gcloud

  1. Crea una policy firewall di rete.

    gcloud compute network-firewall-policies create \
       FIREWALL_POLICY_NAME \
       --global
    

    Sostituisci quanto segue:

    • FIREWALL_POLICY_NAME: il nome della nuova rete la policy di firewall di rete globale

Crea una regola di policy firewall con i tag

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

gcloud

  1. Crea una regola del criterio firewall di rete con le chiavi e i 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 della nuova rete la policy di firewall di rete globale
    • ORGANIZATION_ID: l'ID della tua organizzazione
    • TAG_KEY: la chiave Tag
    • TAG_VALUE: il valore da assegnare alla chiave Tag
    • DIRECTION: indica se la 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: passa la valutazione della connessione al livello successivo della gerarchia, una cartella o la rete
    • PORT: il numero di porta per accedere alla risorsa

Associa i tag alle istanze VM

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

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

Ad esempio, Sasha, uno sviluppatore, vuole configurare un'applicazione composta da un backend API e da un datastore di database di supporto. Per consentire il traffico tra il backend e il server di database, Sasha deve associare i valori dei 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: l'ID della tua organizzazione
    • TAG_KEY: la chiave Tag
    • EMAIL_ADDRESS: l'indirizzo email dell'utente

    In questo comando, all'utente viene concesso l'utilizzo 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: l'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 a cui vuoi associare i tag.

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del tuo progetto
    • EMAIL_ADDRESS: l'indirizzo email dell'utente
  3. Ottieni il valore di PARENT per la coppia chiave-valore Tag:

    1. Definisci il prefisso del nome completo per il progetto e la zona:

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

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

      PARENT="$FULL_NAME_PREFIX$VM_ID"
      echo $PARENT
      

    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; qui, la zona dell'istanza VM
    • PARENT: il nome completo della risorsa associata alla associazione, come dedotto nel comando precedente
  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: l'ID della tua organizzazione
    • TAG_KEY: la chiave Tag
    • TAG_VALUE: il valore della chiave Tag
    • PARENT: il nome completo della risorsa da associare al valore del tag

Utilizzare i tag in reti connesse in peer

Puoi utilizzare i tag nel peering di rete. Per utilizzare i tag in due reti connesse in peer, svolgi le seguenti attività nell'ordine specificato.

  1. Assegna il ruolo tagAdmin a due utenti: uno in ogni rete di peer. Un amministratore dell'organizzazione concede i ruoli tagAdmin agli utenti a livello di organizzazione, mentre un proprietario del progetto può concederli a livello di progetto.
  2. Consenti all'utente della prima rete di creare chiavi e valori dei tag nella prima rete.
  3. Consenti all'utente della seconda rete di creare chiavi e valori dei tag nella seconda rete.
  4. Concedere le autorizzazioni richieste a entrambi gli utenti per associare i tag in entrambe le reti.
  5. Collega i tag agli utenti e alle risorse della prima rete.
  6. Associa i tag agli utenti e alle risorse della seconda rete.
  7. All'utente della seconda rete, concedi le autorizzazioni tagUser nella prima rete.
  8. All'utente della prima rete, concedi le autorizzazioni tagUser nella seconda rete.
  9. Crea una regola di policy firewall nella prima rete.
  10. Crea una regola di policy firewall nella seconda rete.

Passaggi successivi