Esegui la migrazione delle regole firewall VPC che utilizzano tag di rete e account di servizio

Le regole firewall di Virtual Private Cloud (VPC) possono contenere tag di rete e account di servizio di origine. Svolgi le seguenti attività per eseguire la migrazione delle regole firewall VPC che contengono tag di rete e account di servizio di origine a un criterio firewall di rete globale:

  1. Valuta il tuo ambiente.
  2. Elenca i tag di rete e i service account esistenti.
  3. Crea tag per ogni tag di rete e service account di origine.
  4. Mappa i tag di rete e gli account di servizio ai tag che crei.
  5. Associa i tag alle istanze di macchine virtuali (VM).
  6. Esegui la migrazione delle regole firewall VPC a un criterio firewall di rete globale.
  7. Esamina la nuova policy firewall di rete.
  8. Completa le attività post-migrazione.

Prima di iniziare

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Enable the Compute Engine API.

    Enable the API

  4. Install the Google Cloud CLI.

  5. Configura gcloud CLI per utilizzare la tua identità federata.

    Per ulteriori informazioni, vedi Accedere a gcloud CLI con la tua identità federata.

  6. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  7. Assicurati di disporre del ruolo Compute Security Admin (roles/compute.securityAdmin).
  8. Valutare l'ambiente

    Prima di eseguire la migrazione delle regole firewall VPC a un criterio firewall di rete globale, valuta l'ambiente esistente e i ruoli e le autorizzazioni IAM (Identity and Access Management):

    1. Identifica il numero di regole firewall VPC nella tua rete VPC.
    2. Prendi nota delle priorità associate a ogni regola firewall VPC.
    3. Assicurati di disporre dei ruoli e delle autorizzazioni IAM necessari per creare, associare, modificare e visualizzare le policy firewall di rete globali.
    4. Assicurati di disporre dei ruoli e delle autorizzazioni IAM necessari per creare, aggiornare ed eliminare definizioni di tag sicure.

      La tabella seguente fornisce un riepilogo dei vari ruoli necessari per creare e gestire i tag:

      Nome ruolo Attività eseguite
      Ruolo Amministratore del tag (roles/resourcemanager.tagAdmin) Crea, aggiorna ed elimina definizioni di tag. Per saperne di più, consulta Amministrare i tag.
      Ruolo di Visualizzatore tag (roles/resourcemanager.tagViewer) Visualizza le definizioni dei tag e i tag collegati alle risorse.
      Ruolo utente Tag (roles/resourcemanager.tagUser) Aggiungi e rimuovi i tag collegati alle risorse.

    Elenca i tag di rete e i service account esistenti

    Determina se le regole firewall VPC utilizzano tag di rete o service account e crea un file JSON per salvare i dettagli dei tag di rete e dei service account esistenti.

    Per esportare i tag di rete e i service account nella tua rete in un file JSON di mappatura, utilizza il comando compute firewall-rules migrate con il flag --export-tag-mapping.

    gcloud beta compute firewall-rules migrate \
        --source-network=NETWORK_NAME \
        --export-tag-mapping \
        --tag-mapping-file=TAG_MAPPING_FILE
    

    Sostituisci quanto segue:

    • NETWORK_NAME: il nome della rete VPC contenente le regole firewall VPC che vuoi migrare.
    • TAG_MAPPING_FILE: il nome del file JSON di mapping.

    Se le regole firewall VPC contengono solo service account, il file JSON generato contiene solo service account. Allo stesso modo, se le regole firewall VPC contengono solo tag di rete, il file JSON generato contiene solo tag di rete. I service account hanno il prefisso sa, mentre i tag di rete non hanno prefissi.

    Ad esempio, il seguente file JSON generato contiene un tag di rete sql-server e un account di servizio example@example.com.

    {"sql-server": null, "sa:example@example.com": null}
    

    Creare tag

    In base ai tag di rete e ai service account di origine elencati nel file di mapping, devi creare i tag sicuri corrispondenti nella tua rete.

    I nuovi tag sicuri sostituiscono i tag di rete e i service account e mantengono la configurazione di rete originale dopo la migrazione.

    In qualità di principal con il ruolo di amministratore tag, per ogni tag di rete e account di servizio, crea la coppia chiave-valore del tag sicuro corrispondente.

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

    Sostituisci quanto segue:

    • TAG_KEY: il nome della chiave tag.
    • ORGANIZATION_ID: l'ID della tua organizzazione.
    • PROJECT_ID: l'ID progetto.
    • NETWORK_NAME: il nome della tua rete VPC.
    • TAG_VALUE: il valore da assegnare alla chiave tag.

    Ad esempio, se hai una regola firewall VPC con un tag di rete denominato sql-server, crea una coppia chiave-valore di tag sicuri corrispondente sql-server:production.

    gcloud resource-manager tags keys create sql-server \
        --parent organizations/123456 \
        --purpose GCE_FIREWALL \
        --purpose-data network=test-project/test-network
    
    gcloud resource-manager tags values create production \
       --parent 123456/sql-server
    

    Mappare i tag di rete e gli account di servizio ai tag

    Dopo aver creato tag sicuri gestiti da IAM per ogni tag di rete e service account utilizzato dalle regole firewall VPC, devi mappare i tag ai tag di rete e ai service account corrispondenti nel file JSON di mapping.

    Modifica il file JSON per mappare i tag di rete e i service account ai tag sicuri corrispondenti.

    {"sql-server": "tagValues/yyyyy", "sa:example@example.com": "tagValues/zzzzz"}
    

    Ad esempio, il seguente file JSON mappa il tag di rete sql-server al valore del tag della chiave sql-server e l'account di servizio example@example.com al valore del tag della chiave example@example.com:

    {"sql-server": "tagValues/production", "sa:example@example.com": "tagValues/example"}
    

    Associa i tag alle VM

    In base al file JSON di mappatura dei tag, associa i tag sicuri appena creati alle VM a cui sono collegati i tag di rete esistenti:

    1. In qualità di principal con il ruolo Amministratore del tag, procedi nel seguente modo:

      1. Esamina le autorizzazioni richieste per collegare tag sicuri alle risorse Trusted Cloud by S3NS .
      2. Assegna il ruolo Utente tag al principal che utilizza i tag sicuri e li associa alle VM.
    2. In qualità di principal con il ruolo Utente tag, utilizza il comando compute firewall-rules migrate con il flag --bind-tags-to-instances:

      gcloud beta compute firewall-rules migrate \
         --source-network=NETWORK_NAME \
         --bind-tags-to-instances \
         --tag-mapping-file=TAG_MAPPING_FILE
      

      Sostituisci quanto segue:

      • NETWORK_NAME: il nome della tua rete VPC.
      • TAG_MAPPING_FILE: il nome del file JSON di mapping.

    Esegui la migrazione delle regole firewall VPC a un criterio firewall di rete globale

    Esegui la migrazione delle regole firewall VPC a un criterio firewall di rete globale. Utilizza il comando compute-firewall-rules migrate.

    gcloud beta compute firewall-rules migrate \
        --source-network=NETWORK_NAME \
        --target-firewall-policy=POLICY_NAME \
        --tag-mapping-file=TAG_MAPPING_FILE
    

    Sostituisci quanto segue:

    • NETWORK_NAME: il nome della rete VPC contenente le regole firewall VPC che vuoi migrare.
    • POLICY_NAME: il nome della policy di firewall di rete globale da creare durante la migrazione.

    Escludere le regole firewall dalla migrazione

    Per escludere regole firewall specifiche dalla migrazione, utilizza il comando gcloud beta compute firewall-rules migrate con il flag --exclusion-patterns-file:

    gcloud beta compute firewall-rules migrate \
        --source-network=NETWORK_NAME \
        --target-firewall-policy=POLICY_NAME \
        --exclusion-patterns-file=EXCLUSION_PATTERNS_FILE
    

    Sostituisci quanto segue:

    • NETWORK_NAME: il nome della rete VPC che contiene le regole firewall VPC che vuoi migrare.
    • POLICY_NAME: il nome della policy di firewall di rete globale da creare durante la migrazione.
    • EXCLUSION_PATTERNS_FILE: il nome del file che contiene le espressioni regolari che definiscono i pattern di denominazione del firewall VPC da escludere dalla migrazione. Assicurati di specificare il percorso completo del file. Le regole firewall che corrispondono ai pattern specificati vengono ignorate.

      Quando definisci i pattern di esclusione, tieni presente quanto segue:

      • Ogni espressione regolare deve trovarsi su una riga separata e rappresentare un singolo pattern di denominazione del firewall.
      • Le espressioni regolari non contengono spazi iniziali o finali.

    Visualizzare le regole firewall escluse

    In base ai pattern di denominazione delle regole firewall escluse, lo strumento di migrazione non migra alcune regole firewall, ad esempio le regole firewall di Google Kubernetes Engine (GKE). Per esportare l'elenco dei pattern di denominazione delle regole firewall esclusi, utilizza il comando gcloud beta compute firewall-rules migrate con i flag --export-exclusion-patterns e --exclusion-patterns-file.

    gcloud beta compute firewall-rules migrate \
        --source-network=NETWORK_NAME \
        --target-firewall-policy=POLICY_NAME \
        --exclusion-patterns-file=EXCLUSION_PATTERNS_FILE \
        --export-exclusion-patterns
    

    Sostituisci quanto segue:

    • NETWORK_NAME: il nome della rete VPC che contiene le regole firewall VPC che vuoi migrare.
    • POLICY_NAME: il nome della policy di firewall di rete globale da creare durante la migrazione.
    • EXCLUSION_PATTERNS_FILE: il percorso del file in cui vengono esportati i seguenti pattern di denominazione delle regole firewall escluse.

      gke-(.+)-ipv6-all
      gke-(.+)-(.+)-((master)|(vms)|(all)|(inkubelet)|(exkubelet)|(mcsd))
      k8s-fw-(l7-)?(.+)
      k8s-(.+)-((node)|(http)|(node-http))-hc
      (.+)-hc
      k8s2-(.+)-(.+)-(.+)-(.+)(-fw)?
      k8s2-(.+)-l4-shared-hc-fw
      gke((gw)|(mcg))1-l7-(.+)-(.+)
      

    Per eseguire la migrazione delle regole firewall escluse che corrispondono a un pattern specifico, rimuovi il pattern dall'elenco esportato ed esegui il comando gcloud beta compute firewall-rules migrate con il flag --exclusion-patterns-file.

    Forzare la migrazione preservando l'ordine di valutazione

    Durante la migrazione, se l'ordine di valutazione di una regola firewall esclusa rientra tra gli ordini di valutazione delle regole firewall specificate dall'utente, la migrazione non va a buon fine.Ciò accade perché le regole firewall escluse non vengono migrate e lo strumento di migrazione non può conservare l'ordine di valutazione originale delle regole definite dall'utente nel nuovo criterio firewall di rete.

    Ad esempio, se le regole firewall hanno le seguenti priorità, la migrazione non va a buon fine.

    • Una regola specificata dall'utente con priorità 100
    • Una regola esclusa con priorità 200
    • Una regola specificata dall'utente con priorità 300

    Per forzare lo strumento di migrazione a eseguire la migrazione delle regole specificate dall'utente preservando l'ordine di valutazione originale e ignorando le regole del firewall escluse, utilizza il comando gcloud beta compute firewall-rules migrate con il flag --force.

    gcloud beta compute firewall-rules migrate \
        --source-network=NETWORK_NAME \
        --target-firewall-policy=POLICY_NAME \
        --force
    

    Sostituisci quanto segue:

    • NETWORK_NAME: il nome della rete VPC che contiene le regole firewall VPC che vuoi migrare.
    • POLICY_NAME: il nome della policy di firewall di rete globale da creare durante la migrazione.

    Esamina la nuova policy firewall di rete globale

    Prima di associare le norme appena create a una rete VPC, Google consiglia di esaminarle per assicurarsi che il processo di migrazione sia stato completato correttamente.

    Verifica quanto segue:

    • La configurazione delle regole dei criteri firewall è corretta e i seguenti componenti delle regole vengono migrati correttamente per ogni regola:

      • Priorità relativa
      • Direzione del traffico
      • Azione in caso di corrispondenza
      • Impostazioni log
      • Parametri target
      • Parametri di origine (per le regole in entrata)
      • Parametri di destinazione (per le regole in uscita)
      • Vincoli di protocollo e porta
    • Verifica se i tag sicuri sono collegati alla VM corretta. Utilizza il comando resource-manager tags bindings list.

      gcloud resource-manager tags bindings list \
          --location=ZONE_ID \
          --parent //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE_ID/instances/INSTANCE_NAME \
          --effective
      

      Sostituisci quanto segue:

      • ZONE_ID: la zona della VM.
      • PROJECT_ID: l'ID progetto.
      • INSTANCE_NAME: il nome della VM.

    Attività post-migrazione

    Per attivare e utilizzare il nuovo criterio firewall di rete globale, completa le attività post-migrazione. Per maggiori informazioni, consulta la sezione Attività post-migrazione.

    Passaggi successivi