Hierarchische Firewallrichtlinie mit IAM-verwalteten Tags

1. Einführung

Cloud Next Generation Firewall (NGFW)

Cloud Next Generation Firewall ist ein vollständig verteilter Firewalldienst mit erweiterten Schutzfunktionen, Mikrosegmentierung und umfassender Abdeckung, um Ihre Google Cloud-Arbeitslasten vor internen und externen Angriffen zu schützen.

Cloud NGFW bietet folgende Vorteile:

  • Verteilter Firewalldienst:Cloud NGFW bietet eine zustandsorientierte, vollständig verteilte hostbasierte Erzwingung für jede Arbeitslast, um eine Zero-Trust-Sicherheitsarchitektur zu ermöglichen.
  • Vereinfachte Konfiguration und Bereitstellung:Cloud NGFW implementiert Netzwerk- und hierarchische Firewallrichtlinien, die an einen Knoten der Ressourcenhierarchie angehängt werden können. Diese Richtlinien bieten eine konsistente Firewall in der gesamten Google Cloud-Ressourcenhierarchie.
  • Granulare Kontrolle und Mikrosegmentierung:Die Kombination aus Firewallrichtlinien und IAM-gesteuerten Tags (Identity and Access Management) bietet eine präzise Kontrolle für Nord-Süd- und Ost-West-Traffic, bis zu einer einzelnen VM in VPC-Netzwerken (Virtual Private Cloud).

Netzwerk-Firewallrichtlinien

Eine Netzwerk-Firewallrichtlinie dient als Container für Firewallregeln. In einer Netzwerk-Firewallrichtlinie definierte Regeln werden nirgendwo erzwungen, bis die Richtlinie mit einem VPC-Netzwerk verknüpft ist. Jedem VPC-Netzwerk kann eine Netzwerk-Firewallrichtlinie zugeordnet sein. Netzwerk-Firewallrichtlinien unterstützen IAM-verwaltete Tags (oder einfach nur Tags) in Firewallregeln und können verwendet werden, um Arbeitslasten eine Identität zuzuweisen.

Die gemeinsame Nutzung einer Netzwerk-Firewallrichtlinie für mehrere Netzwerke und die Integration mit IAM-verwalteten Tags vereinfachen die Konfiguration und Verwaltung von Firewalls erheblich.

Mit der Einführung von Netzwerk-Firewallrichtlinien bestehen die Firewallrichtlinien von Google Cloud jetzt aus den folgenden Komponenten:

  1. Hierarchische Firewallrichtlinie
  2. VPC-Firewallregeln
  3. Globale Netzwerk-Firewallrichtlinie und regionale Netzwerk-Firewallrichtlinie

Hierarchische Firewallrichtlinien werden auf den Organisations- und Ordnerknoten in der Ressourcenhierarchie unterstützt, während VPC-Firewallregeln und Netzwerk-Firewallrichtlinien auf VPC-Ebene angewendet werden. Ein großer Unterschied zwischen VPC-Firewallregeln und Netzwerk-Firewallrichtlinien besteht darin, dass VPC-Firewallregeln nur auf ein einzelnes VPC-Netzwerk angewendet werden können, während Netzwerk-Firewallrichtlinien unter anderem an eine einzelne VPC oder eine Gruppe von VPCs angehängt werden können. Außerdem bieten sie Vorteile wie Batch-Updates.

In diesem Lab testen wir die hierarchische Firewallrichtlinie und die globale Netzwerk-Firewallrichtlinie.

Schließlich gibt es auch die implizierten Firewallregeln, die in jedem VPC-Netzwerk enthalten sind:

  • Eine Regel für ausgehenden Traffic, deren Aktion „allow“ und deren Ziel „0.0.0.0/0“ ist.
  • Eine Regel für eingehenden Traffic mit der Aktion „deny“ und der Quelle „0.0.0.0/0“

Standardmäßig wird die Durchsetzungssequenz im folgenden Diagramm dargestellt:

86df8f0d19c64e80.png

Von IAM verwaltete Tags

Die neuen in Firewallrichtlinienregeln integrierten Tags sind Schlüssel/Wert-Paar-Ressourcen, die auf der Organisations- oder Projektebene der Google Cloud-Ressourcenhierarchie definiert sind. Ein solches Tag enthält, wie der Name schon sagt, eine IAM-Zugriffssteuerung, die angibt, wer was mit dem Tag tun kann. Mit IAM-Berechtigungen können Sie zum Beispiel angeben, welche Hauptkonten den Tags Werte zuweisen können und welche Hauptkonten Tags an Ressourcen anhängen können. Nachdem ein Tag auf eine Ressource angewendet wurde, können Firewallrichtlinienregeln es verwenden, um Traffic zuzulassen oder abzulehnen.

Tags entsprechen dem Übernahmeressourcenmodell von Google Cloud. Das bedeutet, dass Tags und ihre Werte in der Hierarchie von oben nach unten übergeben werden. Daher können Tags an einem Ort erstellt und dann von anderen Ordnern und Projekten in der gesamten Ressourcenhierarchie verwendet werden. Weitere Informationen zu Tags und Zugriffsbeschränkungen

Tags sollten nicht mit Netzwerk-Tags verwechselt werden. Letztere sind Strings, die zu Compute Engine-Instanzen hinzugefügt werden können. Sie sind mit der Instanz verknüpft und verschwinden, wenn die Instanz außer Betrieb genommen wird. VPC-Firewallregeln können Netzwerk-Tags enthalten. Da sie jedoch nicht als Cloud-Ressourcen betrachtet werden, unterliegen sie nicht der IAM-Zugriffssteuerung. Auf dieser Seite finden Sie weitere Informationen zu den Unterschieden.

2. Lerninhalte

  • IAM-gesteuerte Tags für die Verwendung mit Cloud NGFW und mit globalem Bereich erstellen
  • Tags an VMs anhängen
  • Hierarchische Firewallrichtlinie erstellen und mit einem Ordner verknüpfen
  • So erstellen Sie eine Firewallregel in der hierarchischen Firewallrichtlinie und geben Quelle und Ziel mithilfe von IAM-verwalteten Tags an.

3. Gesamtarchitektur des Labs

1bfe78ad755496e5.png

Organisation und Ordner:

  • Sie erstellen zwei Ordner, folder1 und folder2, direkt unter Ihrer Organisation.

Projekte:

  • In folder1 erstellen Sie ein Hostprojekt. Dieses Projekt enthält das freigegebene VPC-Netzwerk.
  • In folder2 erstellen Sie ein Dienstprojekt. Dieses Projekt enthält die VMs, die die freigegebene VPC verwenden.

Netzwerk:

  • Im Hostprojekt wird ein VPC-Netzwerk mit dem Namen mynet erstellt und als freigegebene VPC konfiguriert. Dadurch können Ressourcen im Dienstprojekt das Netzwerk verwenden.
  • Im Dienstprojekt werden zwei VMs erstellt, die mit der freigegebenen VPC mynet verbunden sind.

Von IAM verwaltete Tags:

  • Sie erstellen auf Organisationsebene ein IAM-gesteuertes Tag mit dem Namen http_tags und zwei Werten mit den Namen http_server und http_client. Mit diesen Tags/Werten werden Firewallregeln für die VMs identifiziert und angewendet.

Firewallrichtlinien:

  • Eine hierarchische Firewallrichtlinie wird erstellt und mit folder1 verknüpft. Eine Regel in dieser Richtlinie verwendet die IAM-gesteuerten Tags, um Traffic von http-client nach http-server auf Port 80 zuzulassen.
  • Im Hostprojekt wird eine Netzwerk-Firewallrichtlinie erstellt und der mynet-VPC zugeordnet. Diese Richtlinie enthält eine Regel, die den IAP-SSH-Zugriff auf die VMs zu Testzwecken zulässt.

4. Vorbereitungsschritte

Richten Sie zuerst die erforderlichen IAM-Rollen, die Netzwerkinfrastruktur und die Instanzen in Ihrer Google Cloud-Organisation ein.

Für die Arbeit am Lab erforderliche IAM-Rollen

Zuerst weisen wir dem GCP-Konto auf Organisationsebene die erforderlichen IAM-Rollen zu.

  • Organisationsadministrator (roles/resourcemanager.organizationAdmin): Mit dieser Rolle können Sie IAM-Richtlinien verwalten und Organisationsrichtlinien für Organisationen, Ordner und Projekte aufrufen.
  • Tag-Administrator(roles/resourcemanager.tagAdmin): Mit dieser Rolle können Sie sichere Tags erstellen, aktualisieren und löschen.
  • Rolle „Tag-Nutzer“ (roles/resourcemanager.tagUser): Mit dieser Rolle können Sie auf die Liste der sicheren Tags zugreifen und ihre Verknüpfungen mit den Ressourcen verwalten.
  • Rolle „Administrator von Compute-Firewall-Richtlinien für die Organisation“ (roles/compute.orgFirewallPolicyAdmin): Mit dieser Rolle haben Sie die vollständige Kontrolle über Compute Engine-Firewall-Richtlinien für die Organisation.
  • Rolle „Administrator für Compute Engine-Organisationsressourcen“ (roles/compute.orgSecurityResourceAdmin): Mit dieser Rolle haben Sie die vollständige Kontrolle über die Zuordnungen von Compute Engine-Firewall-Richtlinien zur Organisation oder zum Ordner.
  • Compute-Netzwerkadministrator (roles/compute.networkAdmin): Mit dieser Rolle haben Sie die vollständige Kontrolle über Compute Engine-Netzwerkressourcen.
  • Compute-Instanzadministrator( Beta) (roles/compute.instanceAdmin): Diese Rolle bietet Ihnen die vollständige Kontrolle über Compute Engine-Instanzressourcen.
  • Logging-Administrator (roles/logging.admin): Mit dieser Rolle haben Sie Zugriff auf alle Logging-Berechtigungen und abhängigen Berechtigungen.
  • Dienstkontoadministrator (roles/iam.serviceAccountAdmin): Mit dieser Rolle können Sie Dienstkonten erstellen und verwalten.
  • Service Usage-Administrator (roles/serviceusage.serviceUsageAdmin): Mit dieser Rolle können Sie Dienststatus aktivieren, deaktivieren und überprüfen, Vorgänge überprüfen sowie Kontingent und Abrechnung für ein Nutzerprojekt verarbeiten.
  • Administrator für freigegebene Compute-VPC (roles/compute.xpnAdmin): Mit dieser Rolle können Sie ein freigegebenes VPC-Netzwerk (XPN) verwalten.

Ordner und Projekte erstellen

Führen Sie in Cloud Shell die folgenden Schritte aus, um folder1 und folder2 zu erstellen:

gcloud auth login

export org_id=$(gcloud organizations list --format='value(ID)')
export BILLING_ACCOUNT_ID=$(gcloud billing accounts list --format='value(ACCOUNT_ID)')
export folder1=[FOLDER1 NAME]
export folder2=[FOLDER2 NAME]
export hostproject=[HOST PROJECT NAME]
export serviceproject=[SERVICE PROJECT NAME]
export regionname=[REGION NAME]
export zonename=[COMPUTE ZONE NAME]

gcloud resource-manager folders create --display-name=$folder1 --organization=$org_id
export folder1_id=$(gcloud resource-manager folders list --organization=$org_id --filter="displayName=$folder1" --format="value(ID)")
gcloud resource-manager folders create --display-name=$folder2 --organization=$org_id
export folder2_id=$(gcloud resource-manager folders list --organization=$org_id --filter="displayName=$folder2" --format="value(ID)")

Führen Sie in Cloud Shell die folgenden Schritte aus, um das Hostprojekt unter folder1 zu erstellen:

gcloud projects create  --name=$hostproject --folder=$folder1_id

Sie sehen Folgendes. Drücken Sie Y, um das Projekt mit der neuen Projekt-ID zu erstellen.

No project ID provided.

Use [NEW-PROJECT-ID] as project ID (Y/n)?

Notieren Sie sich die Projekt-ID. Führen Sie in Cloud Shell die folgenden Schritte aus, um sie in hostproject_id zu exportieren:

export hostproject_id=[HOSTPROJECT ID]

Führen Sie in Cloud Shell die folgenden Schritte aus, um das Hostprojekt mit dem Rechnungskonto zu verknüpfen:

gcloud billing projects link $hostproject_id \
--billing-account=$BILLING_ACCOUNT_ID

Führen Sie in Cloud Shell die folgenden Schritte aus, um das Dienstprojekt unter folder2 zu erstellen:

gcloud projects create  --name=$serviceproject --folder=$folder2_id

Sie sehen Folgendes. Drücken Sie Y, um das Projekt mit der neuen Projekt-ID zu erstellen.

No project ID provided.

Use [NEW-PROJECT-ID] as project ID (Y/n)?

Notieren Sie sich die Projekt-ID. Führen Sie in Cloud Shell die folgenden Schritte aus, um die Datei in das Projekt „serviceproject_id“ zu exportieren:

export serviceproject_id=[SERVICEPROJECT ID]

Führen Sie in Cloud Shell die folgenden Schritte aus, um das Dienstprojekt mit dem Rechnungskonto zu verknüpfen:

gcloud billing projects link $serviceproject_id \
--billing-account=$BILLING_ACCOUNT_ID

Von IAM verwaltete Tags erstellen

Ein Tag ist ein Schlüssel/Wert-Paar, das an eine Organisation, einen Ordner oder ein Projekt angehängt werden kann. Weitere Informationen finden Sie unter Tags erstellen und verwalten und erforderliche Berechtigungen.

Wir erstellen ein Tag auf Organisationsebene: http-tags. Der Zweck des Tags ist die Verwendung von Cloud NGFW. Wir beschränken den Bereich nicht auf ein einzelnes Netzwerk, sondern das Tag ist global. Später wenden wir das Tag auf VMs an, die im Dienstprojekt unter folder2 erstellt wurden.

Führen Sie in Cloud Shell folgende Schritte aus:

gcloud resource-manager tags keys create http_tags \
    --parent=organizations/$org_id \
    --purpose GCE_FIREWALL \
    --purpose-data organization=auto

Wir verwenden die Tag-Schlüssel-ID, um die VM bei der Erstellung zu annotieren. Führen Sie in Cloud Shell die folgenden Schritte aus, um die ID des Tag-Schlüssels abzurufen:

export http_tags_id=$(gcloud resource-manager tags keys describe $org_id/http_tags --format="value(name)")
echo $http_tags_id

Führen Sie in Cloud Shell die folgenden Schritte aus, um zwei neue Tag-Werte zu erstellen: http_server und http_client:

 gcloud resource-manager tags values create http_server \
      --parent $org_id/http_tags
 gcloud resource-manager tags values create http_client \
      --parent $org_id/http_tags

Wir verwenden die Tag-ID und die Tag-Wert-ID, um die VM bei der Erstellung zu annotieren. Führen Sie in Cloud Shell die folgenden Schritte aus, um die Tag-Wert-ID von http_server und http_client abzurufen:

export http_tags_http_server_id=$(gcloud resource-manager tags values describe $org_id/http_tags/http_server --format="value(name)")
echo $http_tags_http_server_id

export http_tags_http_client_id=$(gcloud resource-manager tags values describe $org_id/http_tags/http_client --format="value(name)")
echo $http_tags_http_client_id

APIs im Host- und Dienstprojekt aktivieren

Führen Sie in Cloud Shell folgende Schritte aus:

gcloud services enable compute.googleapis.com --project=$serviceproject_id
gcloud services enable compute.googleapis.com --project=$hostproject_id

VPC im Hostprojekt erstellen

Erstellen Sie im Hostprojekt ein VPC-Netzwerk mit benutzerdefiniertem Subnetzmodus. Führen Sie dazu die folgenden Schritte in Cloud Shell aus:

gcloud compute networks create mynet \
    --subnet-mode=custom \
    --project=$hostproject_id

Subnetze im Hostprojekt erstellen

Führen Sie in Cloud Shell die folgenden Schritte aus, um ein IPv4-Subnetz zu erstellen:

gcloud compute networks subnets create mysubnet \
    --network=mynet \
    --range=10.0.0.0/28 \
    --region=$regionname \
    --project=$hostproject_id

Freigegebene VPC im Hostprojekt aktivieren

Führen Sie in Cloud Shell die folgenden Schritte aus, um die freigegebene VPC im Hostprojekt zu aktivieren:

gcloud compute shared-vpc enable $hostproject_id

Dienstprojekt für die freigegebene VPC im Hostprojekt anhängen

Führen Sie in Cloud Shell die folgenden Schritte aus, um das Dienstprojekt für die freigegebene VPC im Hostprojekt anzuhängen:

gcloud compute shared-vpc associated-projects add $serviceproject_id --host-project=$hostproject_id 

Cloud Router und Cloud NAT im Hostprojekt erstellen

Cloud NAT wird verwendet, um ausgehenden Internetzugriff für die VMs zu ermöglichen, damit Anwendungen heruntergeladen und installiert werden können.

gcloud compute routers create $regionname-cr \
   --network=mynet \
   --region=$regionname \
   --project=$hostproject_id
gcloud compute routers nats create $regionname-nat \
    --router=$regionname-cr \
    --region=$regionname \
    --nat-all-subnet-ip-ranges \
    --auto-allocate-nat-external-ips \
    --project=$hostproject_id

Instanzen im Dienstprojekt erstellen

Erstellen Sie im Dienstprojekt zwei Instanzen in den Subnetzen, die Sie gerade in der freigegebenen VPC im Hostprojekt erstellt haben. Eine Instanz heißt http-server und wir annotieren das Tag von http_tags mit dem Wert von http_server. Die andere Instanz heißt http-client und wir annotieren das Tag von http_tags mit dem Wert von http_client. Führen Sie die folgenden Befehle in Cloud Shell aus:

gcloud compute instances create http-client \
    --project=$serviceproject_id \
   --subnet=projects/$hostproject_id/regions/$regionname/subnetworks/mysubnet \
    --zone=$zonename \
    --no-address \
    --resource-manager-tags=$http_tags_id=$http_tags_http_client_id

gcloud compute instances create http-server \
    --project=$serviceproject_id \
    --subnet=projects/$hostproject_id/regions/$regionname/subnetworks/mysubnet \
    --zone=$zonename \
    --no-address \
    --resource-manager-tags=$http_tags_id=$http_tags_http_server_id \
    --metadata startup-script='#! /bin/bash
    sudo apt-get update
    sudo apt-get install apache2 -y
    a2enmod ssl
    sudo a2ensite default-ssl
    echo "I am a Http Server." | \
    tee /var/www/html/index.html
    systemctl restart apache2'

Notieren Sie sich die interne IP-Adresse von http-server. Wir verwenden sie im späteren Schritt zum Testen der Firewallregel.

export http_server_ip=$(gcloud compute instances describe http-server --zone $zonename --format='value(networkInterfaces[0].networkIP)' --project $serviceproject_id)
echo $http_server_ip

5. Globale Netzwerk-Firewallrichtlinie im Hostprojekt erstellen

Wir erstellen eine globale Netzwerk-Firewallrichtlinie im Hostprojekt und ordnen sie der freigegebenen VPC im Hostprojekt zu.

gcloud config set project $hostproject_id
gcloud compute network-firewall-policies create  mynet-fw-policy \
--global \
--project=$hostproject_id
gcloud compute network-firewall-policies associations create \
    --firewall-policy=mynet-fw-policy \
    --network=mynet \
    --name=mynet-fw-policy \
    --global-firewall-policy \
    --project=$hostproject_id

Damit IAP eine Verbindung zu Ihren VM-Instanzen herstellen kann, erstellen Sie eine Firewallregel in der Netzwerk-Firewallrichtlinie:

  • Gilt für alle VM-Instanzen, die über IAP zugänglich sein sollen.
  • Lässt eingehenden Traffic aus dem IP-Bereich 35.235.240.0/20 zu. Dieser Bereich enthält alle IP-Adressen, die IAP für die TCP-Weiterleitung verwendet.
gcloud compute network-firewall-policies rules create 1000 \
    --action=ALLOW \
    --firewall-policy=mynet-fw-policy \
    --description="mynet-allow-iap" \
    --direction=INGRESS \
    --src-ip-ranges=35.235.240.0/20 \
    --layer4-configs=tcp:22  \
    --global-firewall-policy \
    --project=$hostproject_id

In der Console können Sie zum Hostprojekt wechseln und die neu erstellte globale Netzwerk-Firewallrichtlinie unter „Firewallrichtlinie“ aufrufen. Sie können die neu erstellte Firewallregel in der Netzwerkfirewallrichtlinie prüfen. Hier ist der Konsolenlink. Achten Sie darauf, dass Sie in der Console die Projektauswahl auf das Hostprojekt umstellen.

6. Zugriff von der http-client-VM auf die http-server-VM testen

Stellen Sie eine SSH-Verbindung zur VM mit dem Namen http-client her und prüfen Sie, ob sie über den HTTP-Port 80 auf http-server zugreifen kann.

Führen Sie in Cloud Shell folgende Schritte aus:

gcloud compute ssh \
    --zone=$zonename "http-client" \
    --tunnel-through-iap \
    --project=$serviceproject_id

Verwenden Sie curl, um auf den Webserver zuzugreifen.

curl -m 10 [http_server_ip]

Das Ergebnis des Curl-Befehls wird angezeigt. Es gibt keine Firewallregel für eingehenden Traffic, die Port 80 für http-server zulässt.

Das Zeitlimit für die Verbindung wurde nach 10.000 Millisekunden überschritten.

Kehren Sie zu Cloud Shell zurück, indem Sie die SSH-Sitzung beenden.

exit

7. Hierarchische Firewallrichtlinie und Firewallregeln erstellen

Wir erstellen eine hierarchische Firewallrichtlinie unter folder1 und verknüpfen die Richtlinie mit folder1. Die Firewallregeln in der Richtlinie werden auf das Hostprojekt unter folder1 angewendet.

Hierarchische Firewallrichtlinie erstellen

gcloud compute firewall-policies create \
  --folder=$folder1_id \
  --short-name=my-folder1-fw-policy

Firewallregel in der hierarchischen Firewallrichtlinie erstellen

Die Regel erlaubt VMs mit dem Tag-Wert http_tags/http_client den Zugriff auf VMs mit dem Tag-Wert http_tags/http_server über den TCP-Port 80.

gcloud compute firewall-policies rules create 100 \
  --organization=$org_id \
  --firewall-policy my-folder1-fw-policy \
  --direction=INGRESS \
  --layer4-configs=tcp:80 \
  --action=allow \
  --src-secure-tags=$org_id/http_tags/http_client \
  --target-secure-tags=$org_id/http_tags/http_server \
  --description=folder1-allow-http

Hierarchische Firewallrichtlinie mit „folder1“ verknüpfen

gcloud compute firewall-policies associations create \
   --firewall-policy=my-folder1-fw-policy \
   --folder=$folder1_id \
   --name=my-folder1-fw-policy\
   --organization=$org_id

In der Console können Sie zu folder1 wechseln und die neu erstellte hierarchische Firewallrichtlinie unter „Firewallrichtlinie“ aufrufen. Die Firewallrichtlinie wird unter „Firewallrichtlinien in diesem Ordner“ angezeigt. Sie können die neu erstellte Firewallregel in der hierarchischen Firewallrichtlinie prüfen. Hier ist der Konsolenlink. Achten Sie darauf, dass Sie in der Console die Projektauswahl auf folder1 ändern.

8. Zugriff von der http-client-VM auf die http-server-VM testen

Prüfen Sie die effektiven Firewallrichtlinien, die auf die freigegebene VPC im Hostprojekt angewendet werden.

Führen Sie in Cloud Shell folgende Schritte aus:

gcloud compute networks get-effective-firewalls mynet --project=$hostproject_id

Die übernommene hierarchische Firewallrichtlinie wird so angezeigt:

TYPE: org-firewall
FIREWALL_POLICY_NAME: <NUMBER_FOR_YOUR_FW_POLICY>
FIREWALL_POLICY_PRIORITY: 
PRIORITY: 100
ACTION: ALLOW
DIRECTION: INGRESS
DISABLED: False
IP_RANGES:

You will see the network firewall policy to the VPC like this:
TYPE: network-firewall-policy
FIREWALL_POLICY_NAME: mynet-fw-policy
FIREWALL_POLICY_PRIORITY: 1000
PRIORITY: 1000
ACTION: ALLOW
DIRECTION: INGRESS
DISABLED: False
IP_RANGES: 35.235.240.0/20

Stellen Sie eine SSH-Verbindung zur VM mit dem Namen http-client her und prüfen Sie, ob sie über den HTTP-Port 80 auf http-server zugreifen kann.

Führen Sie in Cloud Shell folgende Schritte aus:

gcloud compute ssh \
    --zone=$zonename "http-client" \
    --tunnel-through-iap \
    --project=$serviceproject_id

Verwenden Sie curl, um auf den Webserver zuzugreifen.

curl [http_server_ip]

Der curl-Befehl gibt erfolgreich eine Antwort von http-server zurück.

I am a Http Server.

Die Firewallregel für eingehenden Traffic aus der hierarchischen Firewallrichtlinie erlaubt den Zugriff von http-client auf http-server an Port 80.

Kehren Sie zu Cloud Shell zurück, indem Sie die SSH-Sitzung beenden.

exit

9. Bereinigen

VMs im Dienstprojekt bereinigen

Führen Sie in Cloud Shell folgende Schritte aus:

gcloud compute instances delete http-server --zone $zonename --project=$serviceproject_id
gcloud compute instances delete http-client --zone $zonename --project=$serviceproject_id

Hierarchische Firewallrichtlinie bereinigen

Führen Sie in Cloud Shell folgende Schritte aus:

gcloud compute firewall-policies associations delete my-folder1-fw-policy \
   --firewall-policy=my-folder1-fw-policy \
   --organization=$org_id
gcloud compute firewall-policies rules delete 100 \
  --organization=$org_id \
  --firewall-policy=my-folder1-fw-policy
gcloud compute firewall-policies delete my-folder1-fw-policy \
  --organization=$org_id

Tags auf Organisationsebene bereinigen

Führen Sie in Cloud Shell folgende Schritte aus:

gcloud resource-manager tags values delete $http_tags_http_server_id
gcloud resource-manager tags values delete $http_tags_http_client_id
gcloud resource-manager tags keys delete $http_tags_id

Hostprojekt bereinigen

Führen Sie in Cloud Shell folgende Schritte aus:

gcloud compute shared-vpc associated-projects remove $serviceproject_id --host-project=$hostproject_id 
gcloud compute shared-vpc disable $hostproject_id
gcloud projects delete $hostproject_id

Serviceprojekt bereinigen

Führen Sie in Cloud Shell folgende Schritte aus:

gcloud projects delete $serviceproject_id

Ordner bereinigen

Führen Sie in Cloud Shell folgende Schritte aus:

gcloud resource-manager folders delete $folder1_id
gcloud resource-manager folders delete $folder2_id

10. Glückwunsch

Sie haben die hierarchische Firewallrichtlinie mit IAM-verwalteten Tags erfolgreich getestet.