Um die Verwaltung zu zentralisieren und Sicherheitsrichtlinien in Ihren VPC-Netzwerken (Virtual Private Cloud) einheitlich durchzusetzen, migrieren Sie Ihre VPC-Firewallregeln, die Netzwerk-Tags und Quelldienstkonten verwenden, zu einer globalen Netzwerk-Firewallrichtlinie. So können Sie die Angriffsfläche verringern, Ihre Firewallkonfigurationen optimieren und die Sicherheitsgrenzen verschärfen, indem Sie zu permissive Regeln identifizieren und beheben.
Dieses Dokument richtet sich an Netzwerkadministratoren, Sicherheitstechniker und Sicherheitsarchitekten, die Netzwerksicherheitsrichtlinien konfigurieren und verwalten.
Informationen zum Migrieren von Regeln, die keine Netzwerk-Tags oder Dienstkonten verwenden, finden Sie unter VPC-Firewallregeln migrieren, die weder Netzwerk-Tags noch Dienstkonten verwenden.
Führen Sie die folgenden Aufgaben aus, um diese Migration abzuschließen:
- Umgebung bewerten.
- Vorhandene Netzwerk-Tags und Dienstkonten auflisten.
- Sichere Tags für jedes Netzwerk-Tag und jedes Quelldienstkonto erstellen.
- Netzwerk-Tags und Dienstkonten den von Ihnen erstellten sicheren Tags zuordnen
- Sichere Tags an VM-Instanzen (Virtual Machine) binden
- VPC-Firewallregeln zu einer globalen Netzwerk-Firewallrichtlinie migrieren.
- Neue Netzwerk-Firewallrichtlinie prüfen.
- Nach der Migration erforderliche Aufgaben ausführen
Hinweis
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Installieren Sie die Google Cloud CLI.
-
Konfigurieren Sie die gcloud CLI für die Verwendung Ihrer föderierten Identität.
Weitere Informationen finden Sie unter Mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init - Sie benötigen die Rolle „Compute Security Admin“ (
roles/compute.securityAdmin).
Umgebung bewerten
Bevor Sie Ihre VPC-Firewallregeln zu einer globalen Netzwerk-Firewallrichtlinie migrieren, bewerten Sie Ihre vorhandene Umgebung und die IAM-Rollen und -Berechtigungen (Identity and Access Management):
- Ermitteln Sie die Anzahl der VPC-Firewallregeln in Ihrem VPC-Netzwerk.
- Notieren Sie sich die Prioritäten für jede einzelne VPC-Firewallregel.
- Prüfen Sie, ob Sie die erforderlichen IAM-Rollen und -Berechtigungen zum Erstellen, Verknüpfen, Ändern und Aufrufen globaler Netzwerk-Firewallrichtlinien haben.
Prüfen Sie, ob Sie die erforderlichen IAM-Rollen und -Berechtigungen zum Erstellen, Aktualisieren und Löschen von Definitionen für sichere Tags haben.
In der folgenden Tabelle finden Sie eine Zusammenfassung der verschiedenen Rollen, die zum Erstellen und Verwalten sicherer Tags erforderlich sind:
Rollenname Ausgeführte Aufgaben Rolle „Tag-Administrator“ ( roles/resourcemanager.tagAdmin)Tagdefinitionen erstellen, aktualisieren und löschen. Weitere Informationen finden Sie unter Tags verwalten. Rolle „Tag-Betrachter“ ( roles/resourcemanager.tagViewer)Tag-Definitionen und Tags aufrufen, die an Ressourcen angehängt sind. Rolle „Tag-Nutzer“ ( roles/resourcemanager.tagUser)An Ressourcen angehängt Tags hinzufügen und entfernen.
Vorhandene Netzwerk-Tags und Dienstkonten auflisten
Prüfen Sie, ob Ihre VPC-Firewallregeln Netzwerk-Tags oder Dienstkonten verwenden, und erstellen Sie eine JSON-Datei, um die Details der vorhandenen Netzwerk-Tags und Dienstkonten zu speichern.
Verwenden Sie den gcloud beta compute firewall-rules migrate
Befehl mit dem
--export-tag-mapping Flag, um die Netzwerk-Tags und Dienstkonten in Ihrem Netzwerk in eine Zuordnungs-
JSON-Datei zu exportieren:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--export-tag-mapping \
--tag-mapping-file=TAG_MAPPING_FILE
Ersetzen Sie Folgendes:
NETWORK_NAME: Name des VPC-Netzwerks, das die VPC-Firewallregeln enthält, die Sie migrieren möchten.TAG_MAPPING_FILE: Name der JSON-Datei für die Zuordnung.
Wenn Ihre VPC-Firewallregeln nur Dienstkonten enthalten, enthält die generierte JSON-Datei nur Dienstkonten. Wenn Ihre VPC-Firewallregeln nur Netzwerk-Tags enthalten, enthält die generierte JSON-Datei nur Netzwerk-Tags. Dienstkonten haben das Präfix sa, Netzwerk-Tags haben kein Präfix.
Die folgende generierte JSON-Datei enthält beispielsweise ein Netzwerk-Tag sql-server und ein Dienstkonto example@example.com.
{"sql-server": null, "sa:example@example.com": null}
Sichere Tags erstellen
Basierend auf den in der Zuordnungsdatei aufgeführten Netzwerk-Tags und Quelldienstkonten müssen Sie die entsprechenden sicheren Tags in Ihrem Netzwerk erstellen.
Die neuen sicheren Tags ersetzen die Netzwerk-Tags und Dienstkonten und behalten die ursprüngliche Netzwerkkonfiguration nach der Migration bei.
Erstellen Sie als Hauptkonto mit der Rolle „Tag-Administrator“ für jedes Netzwerk-Tag und jedes Dienstkonto das entsprechende Schlüssel-Wert-Paar für sichere Tags.
Verwenden Sie die gcloud resource-manager tags keys create
Befehle und die
gcloud resource-manager tags values create
Befehle, um für jedes Netzwerk-Tag und jedes Dienstkonto einen Schlüssel und einen Wert für sichere Tags zu erstellen:
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
Ersetzen Sie Folgendes:
TAG_KEY: Name des Schlüssels für sichere Tags.ORGANIZATION_ID: ID der Organisation.PROJECT_ID: ID des Projekts.NETWORK_NAME: Name des VPC-Netzwerks.TAG_VALUE: Wert, der dem Schlüssel für sichere Tags zugewiesen werden soll.
Wenn Sie beispielsweise eine VPC-Firewallregel mit einem Netzwerk-Tag
namens sql-server haben, erstellen Sie ein entsprechendes Schlüssel-Wert-Paar für sichere Tags:
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
Netzwerk-Tags und Dienstkonten sicheren Tags zuordnen
Nachdem Sie IAM-gesteuerte sichere Tags für alle von Ihren VPC-Firewallregeln verwendeten Netzwerk-Tags und Dienstkonten erstellt haben, müssen Sie die sicheren Tags den entsprechenden Netzwerk-Tags und Dienstkonten in der Zuordnungs-JSON-Datei zuordnen.
Bearbeiten Sie die JSON-Datei, um die Netzwerk-Tags und die Dienstkonten den entsprechenden sicheren Tags zuzuordnen.
{"sql-server": "tagValues/yyyyy", "sa:example@example.com": "tagValues/zzzzz"}
Die folgende JSON-Datei ordnet beispielsweise das Netzwerk-Tag sql-server dem Wert des sicheren Tags des Schlüssels sql-server und das Dienstkonto example@example.com dem Wert des sicheren Tags des Schlüssels example@example.com zu:
{"sql-server": "tagValues/production", "sa:example@example.com": "tagValues/example"}
Sichere Tags an VMs binden
Binden Sie die neu erstellten sicheren Tags basierend auf der JSON-Datei für die Tag-Zuordnung an die VMs, an die die vorhandenen Netzwerk-Tags angehängt sind:
Gehen Sie als Hauptkonto mit der Rolle „Tag-Administrator“ so vor:
- Prüfen Sie die erforderlichen Berechtigungen , um sichere Tags an Cloud de Confiance by S3NS Ressourcen anzuhängen.
- Weisen Sie dem Hauptkonto , das die sicheren Tags verwendet und die sicheren Tags an VMs bindet, die Rolle „Tag-Nutzer“ zu.
Binden Sie als Hauptkonto mit der Rolle „Tag-Nutzer“ die sicheren Tags an VM-Instanzen mit dem
gcloud beta compute firewall-rules migrateBefehl mit dem--bind-tags-to-instancesFlag:gcloud beta compute firewall-rules migrate \ --source-network=NETWORK_NAME \ --bind-tags-to-instances \ --tag-mapping-file=TAG_MAPPING_FILEErsetzen Sie Folgendes:
NETWORK_NAME: Name des VPC-Netzwerks.TAG_MAPPING_FILE: Name der JSON-Datei für die Zuordnung.
VPC-Firewallregeln zu einer globalen Netzwerk-Firewallrichtlinie migrieren
Verwenden Sie den gcloud beta compute firewall-rules migrate
Befehl, um VPC-Firewallregeln zu einer globalen Netzwerk-Firewall
richtlinie zu migrieren:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--tag-mapping-file=TAG_MAPPING_FILE
Ersetzen Sie Folgendes:
NETWORK_NAME: Name des VPC-Netzwerks, das die VPC-Firewallregeln enthält, die Sie migrieren möchten.POLICY_NAME: Name der globalen Netzwerk-Firewallrichtlinie, die während der Migration erstellt werden soll.TAG_MAPPING_FILE: Name der JSON-Datei für die Zuordnung.
Firewallregeln von der Migration ausschließen
Verwenden Sie den gcloud beta compute
firewall-rules migrate Befehl mit dem --exclusion-patterns-file Flag, um bestimmte Firewallregeln von der Migration auszuschließen:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--exclusion-patterns-file=EXCLUSION_PATTERNS_FILE
Ersetzen Sie Folgendes:
NETWORK_NAME: Name des VPC-Netzwerk, das die VPC-Firewallregeln enthält, die Sie migrieren möchten.POLICY_NAME: Name der globalen Netzwerk-Firewallrichtlinie, die während der Migration erstellt werden soll.EXCLUSION_PATTERNS_FILE: Name der Datei, die reguläre Ausdrücke enthält, die VPC-Firewall-Benennungsmuster definieren, die von der Migration ausgeschlossen werden sollen. Geben Sie den vollständigen Pfad der Datei an. Firewallregeln, die mit den angegebenen Mustern übereinstimmen, werden übersprungen.Beachten Sie beim Definieren der Ausschlussmuster Folgendes:
- Jeder reguläre Ausdruck muss in einer eigenen Zeile stehen und ein einzelnes Benennungsmuster für Firewallregeln darstellen.
- Die regulären Ausdrücke enthalten keine führenden oder nachgestellten Leerzeichen.
Ausgeschlossene Firewallregeln ansehen
Basierend auf den ausgeschlossenen Benennungsmustern für Firewallregeln werden einige Firewallregeln, z. B. GKE-Firewallregeln (Google Kubernetes Engine), nicht migriert. Verwenden Sie den Befehl gcloud beta compute firewall-rules migrate mit den Flags --export-exclusion-patterns und --exclusion-patterns-file, um die Liste der ausgeschlossenen Benennungsmuster für Firewallregeln zu exportieren.
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--exclusion-patterns-file=EXCLUSION_PATTERNS_FILE \
--export-exclusion-patterns
Ersetzen Sie Folgendes:
NETWORK_NAME: Name des VPC-Netzwerk, das die VPC-Firewallregeln enthält, die Sie migrieren möchten.POLICY_NAME: Name der globalen Netzwerk-Firewallrichtlinie, die während der Migration erstellt werden soll.EXCLUSION_PATTERNS_FILE: Pfad der Datei, in die die folgenden ausgeschlossenen Benennungsmuster für Firewallregeln exportiert werden.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-(.+)-(.+)
Wenn Sie ausgeschlossene Firewallregeln migrieren möchten, die einem bestimmten Muster entsprechen,
entfernen Sie das Muster aus der exportierten Liste und führen Sie den Befehl gcloud beta compute
firewall-rules migrate mit dem Flag --exclusion-patterns-file aus.
Migration erzwingen und Auswertungsreihenfolge beibehalten
Wenn die Auswertungsreihenfolge einer ausgeschlossenen Firewallregel während der Migration zwischen die Auswertungsreihenfolgen von vom Nutzer angegebenen Firewallregeln fällt, schlägt die Migration fehl.Das liegt daran, dass die ausgeschlossenen Firewallregeln nicht migriert werden und das Migrationstool die ursprüngliche Auswertungsreihenfolge der vom Nutzer definierten Regeln in der neuen Netzwerk-Firewallrichtlinie nicht beibehalten kann.
Wenn Ihre Firewallregeln beispielsweise die folgenden Prioritäten haben, schlägt die Migration fehl.
- Eine vom Nutzer angegebene Regel mit Priorität 100
- Eine ausgeschlossene Regel mit Priorität 200
- Eine vom Nutzer angegebene Regel mit Priorität 300
Verwenden Sie den Befehl gcloud beta compute firewall-rules migrate mit dem Flag --force, um das Migrationstool zu zwingen, die vom Nutzer angegebenen Regeln zu migrieren, während die ursprüngliche Auswertungsreihenfolge beibehalten und ausgeschlossene Firewallregeln ignoriert werden.
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--force
Ersetzen Sie Folgendes:
NETWORK_NAME: Name des VPC-Netzwerk, das die VPC-Firewallregeln enthält, die Sie migrieren möchten.POLICY_NAME: Name der globalen Netzwerk-Firewallrichtlinie, die während der Migration erstellt werden soll.
Neue globale Netzwerk-Firewallrichtlinie prüfen
Bevor Sie die neu erstellte Richtlinie mit einem VPC-Netzwerk verknüpfen, empfiehlt Google, die Richtlinie zu prüfen, um sicherzustellen, dass der Migrationsprozess korrekt abgeschlossen wurde.
Gehen Sie so vor:
Die Konfiguration der Firewallrichtlinienregeln ist korrekt und die folgenden Regelkomponenten wurden für jede Regel ordnungsgemäß migriert:
- Relative Priorität
- Traffic-Richtung
- Aktion bei Übereinstimmung
- Log-Einstellungen
- Zielparameter
- Quellparameter (für Eingangsregeln)
- Zielparameter (für Ausgangsregeln)
- Protokoll- und Portbeschränkungen
Prüfen Sie, ob die sicheren Tags an die richtige VM angehängt sind. Verwenden Sie dazu den
gcloud resource-manager tags bindings listBefehl:gcloud resource-manager tags bindings list \ --location=ZONE_ID \ --parent=//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE_ID/instances/INSTANCE_NAME \ --effectiveErsetzen Sie Folgendes:
ZONE_ID: Zone der VM.PROJECT_ID: ID des Projekts.INSTANCE_NAME: Name der VM.
Nach der Migration erforderliche Aufgaben
Führen Sie die Aufgaben nach der Migration aus, um die neue globale Netzwerk-Firewallrichtlinie zu aktivieren und zu verwenden. Weitere Informationen finden Sie unter Nach der Migration erforderliche Aufgaben.
Nächste Schritte
- Weitere Informationen zum Migrieren von VPC-Firewallregeln.
- VPC-Firewallregeln ohne Abhängigkeiten migrieren.