Adressgruppen konfigurieren

Mit Adressgruppen können Sie mehrere IP-Adressen und IP-Adressbereiche in einer einzigen benannten logischen Einheit kombinieren, die Sie für mehrere Produkte verwenden können. In diesem Dokument erfahren Sie, wie Sie Adressgruppen mit Google Cloud Armor-Sicherheitsrichtlinien verwenden. Sie benötigen ein aktives Google Cloud Armor Enterprise-Abo, um Adressgruppen verwenden zu können.

Hinweise

Bevor Sie Adressgruppen konfigurieren können, müssen Sie zuerst die Network Security API aktivieren.networksecurity.googleapis.com

IAM-Rollen

Zum Erstellen und Verwalten einer Adressgruppe benötigen Sie die Rolle „Netzwerkadministrator“ (compute.networkAdmin). Sie können auch eine benutzerdefinierte Rolle mit einem entsprechenden Satz von Berechtigungen definieren.

In der folgenden Tabelle sind die IAM-Berechtigungen (Identity and Access Management) aufgeführt, die zum Ausführen bestimmter Aufgaben für Adressgruppen erforderlich sind.

Aufgabe Name der IAM-Rolle IAM-Berechtigungen
Adressengruppen erstellen und verwalten compute.networkAdmin networksecurity.addressGroups.*
Adressgruppen ansehen und suchen compute.networkUser networksecurity.addressGroups.list

networksecurity.addressGroups.get

networksecurity.addressGroups.use

Weitere Informationen dazu, welche Rollen bestimmte IAM-Berechtigungen enthalten, finden Sie in der Referenz für IAM-Berechtigungen.

Adressgruppen erstellen oder ändern

In den folgenden Abschnitten wird beschrieben, wie Sie Adressgruppen erstellen, Adressen zu Adressgruppen hinzufügen und daraus entfernen sowie Adressgruppen löschen.

Adressgruppe erstellen

Wenn Sie eine Adressgruppe erstellen, müssen Sie ihre Kapazität und IP-Adressversion mit den Flags --capacity und --type angeben. Diese Werte können nach dem Erstellen der Adressgruppe nicht mehr geändert werden.

Außerdem ist die maximale Kapazität für Google Cloud Armor möglicherweise höher als die maximale Kapazität anderer Produkte wie der Cloud Firewall der nächsten Generation. Wenn Sie dieselbe Adressgruppe für mehrere Produkte verwenden möchten, muss die Kapazität daher kleiner oder gleich der niedrigsten maximalen Kapazität dieser Produkte sein.

  1. Rufen Sie in der Google Cloud Console die Seite Adressgruppen auf.

    Zu „Adressgruppen“

  2. Wählen Sie im Menü „Projektauswahl“ Ihr Projekt aus, falls verfügbar.

  3. Klicken Sie auf Adressengruppe erstellen.

  4. Geben Sie im Feld Name einen Namen ein.

  5. Optional: Geben Sie im Feld Beschreibung eine Beschreibung ein.

  6. Wählen Sie unter Umfang die Option Global aus.

  7. Wählen Sie unter Typ die Option IPv4 oder IPv6 aus.

  8. Wählen Sie unter Zweck die Option Cloud Armor aus. Alternativ können Sie auch Firewall und Cloud Armor auswählen, wenn Sie die Adressgruppe auch mit Cloud Next Generation Firewall-Richtlinien verwenden möchten.

    Weitere Informationen zur Auswahl eines Zwecks finden Sie in der Spezifikation für Adressgruppen.

  9. Geben Sie im Feld Kapazität die Kapazität der Adressgruppe ein.

  10. Geben Sie im Feld IP-Adressen die IP-Adressen oder IP-Bereiche, die Sie in die Adressgruppe aufnehmen möchten, durch Kommas getrennt ein. Beispiel: 1.1.1.0/24,1.2.0.0

  11. Klicken Sie auf Erstellen.

Mit dem folgenden Beispiel für einen gcloud network-security address-groups create-Befehl können Sie eine Adressgruppe namens GROUP_NAME mit einer Kapazität von 1.000 IPv4-Adressen erstellen, die sowohl mit Google Cloud Armor als auch mit Cloud NGFW verwendet werden kann:

gcloud network-security address-groups create GROUP_NAME \
  --location global \
  --description  "address group description" \
  --capacity 1000 \
  --type IPv4 \
  --purpose DEFAULT,CLOUD_ARMOR

Alternativ können Sie eine Adressgruppe mit einer größeren Kapazität erstellen, indem Sie den Zweck ausschließlich auf CLOUD_ARMOR festlegen. Im folgenden Beispiel wird eine Adressgruppe mit einer Kapazität von 10.000 IP-Adressbereichen von IPv6 erstellt:

gcloud network-security address-groups create GROUP_NAME \
  --location global \
  --description  "address group description" \
  --capacity 10000 \
  --type IPv6 \
  --purpose CLOUD_ARMOR

Einer Adressgruppe Elemente hinzufügen

Nachdem Sie eine Adressgruppe erstellt haben, können Sie Elemente über die Google Cloud Console oder den Befehl gcloud network-security address-groups add-items hinzufügen.

  1. Rufen Sie in der Google Cloud Console die Seite Adressgruppen auf.

    Zu „Adressgruppen“

  2. Wählen Sie im Menü „Projektauswahl“ Ihr Projekt aus, falls verfügbar.

  3. Wenn Sie eine Adressgruppe bearbeiten möchten, klicken Sie auf den Namen der Adressgruppe.

  4. Klicken Sie auf Bearbeiten.

  5. Fügen Sie im Feld IP-Adressen die neuen Elemente der durch Kommas getrennten Liste der IP-Adressen hinzu. Alternativ können Sie auf Adressen importieren klicken, um eine CSV-Datei mit einer Liste von IP-Adressen hochzuladen.

  6. Klicken Sie auf Speichern.

Im folgenden Beispiel fügen Sie der Adressgruppe GROUP_NAME die IP-Adressen 192.168.1.2, 192.168.1.8 und 192.168.1.9 hinzu. Geben Sie eine durch Kommas getrennte Liste von Elementen mit dem Flag --item an:

gcloud network-security address-groups add-items GROUP_NAME \
  --location global \
  --items 192.168.1.2,192.168.1.8,192.168.1.9

Elemente aus einer Adressgruppe entfernen

Sie können Elemente über die Google Cloud Console oder den Befehl gcloud network-security address-groups remove-items aus einer Adressgruppe entfernen.

  1. Rufen Sie in der Google Cloud Console die Seite Adressgruppen auf.

    Zu „Adressgruppen“

  2. Wählen Sie im Menü „Projektauswahl“ Ihr Projekt aus, falls verfügbar.

  3. Wenn Sie eine Adressgruppe bearbeiten möchten, klicken Sie auf den Namen der Adressgruppe.

  4. Klicken Sie auf Bearbeiten.

  5. Löschen Sie im Feld IP-Adressen die Elemente, die Sie aus der durch Kommas getrennten Liste der IP-Adressen entfernen möchten.

  6. Klicken Sie auf Speichern.

Mit dem folgenden Befehl werden die IP-Adressen 192.168.1.2, 192.168.1.8 und 192.168.1.9 entfernt, die Sie mit dem vorherigen Befehl hinzugefügt haben:

gcloud network-security address-groups remove-items GROUP_NAME \
  --location global \
  --items 192.168.1.2,192.168.1.8,192.168.1.9

Adressgruppen löschen

Sie können eine Adressgruppe nicht löschen, wenn eine Ressource darauf verweist, z. B. eine Firewall- oder Sicherheitsrichtlinie. So löschen Sie eine Adressgruppe:

  1. Rufen Sie in der Google Cloud Console die Seite Adressgruppen auf.

    Zu „Adressgruppen“

  2. Wählen Sie im Menü „Projektauswahl“ Ihr Projekt aus, falls verfügbar.

  3. Markieren Sie das Kästchen neben der Adressgruppe, die Sie löschen möchten. Achten Sie darauf, dass keine Firewall- oder Sicherheitsrichtlinie auf die ausgewählte Adressgruppe verweist.

  4. Klicken Sie auf Löschen und dann noch einmal auf Löschen, um den Löschvorgang zu bestätigen.

Im folgenden Beispiel wird der Befehl gcloud network-security address-groups delete verwendet, um die Adressgruppe GROUP_NAME zu löschen.

gcloud network-security address-groups delete GROUP_NAME \
  --location global

Adressgruppen mit Sicherheitsrichtlinien verwenden

Nachdem Sie eine Adressgruppe erstellt und ihr IP-Adressen hinzugefügt haben, können Sie sie mit jeder vorhandenen Google Cloud Armor-Backend-Sicherheitsrichtlinie verwenden. Die folgenden Beispiele zeigen zwei verschiedene Möglichkeiten, Adressgruppen zu verwenden.

Eine Gruppe von IP-Adressen ablehnen

Angenommen, Sie haben eine IP-Adressgruppe namens BAD_IPS mit 10.000 IP-Adressen, von denen Sie wissen, dass sie schädlich sind. Sie können alle diese IP-Adressen mit einer einzigen deny-Regel der Sicherheitsrichtlinie mit der folgenden Übereinstimmungsbedingung ablehnen:

evaluateAddressGroup('BAD_IPS', origin.ip)

Eine Gruppe von IP-Adressbereichen in mehreren Sicherheitsrichtlinien wiederverwenden

Angenommen, Sie haben dieselbe Liste mit 10.000 IP-Adressen wie im vorherigen Beispiel, aber einige der IP-Adressen sind bekanntermaßen Webcrawler. Sie möchten alle diese IP-Adressen für einige Backend-Dienste blockieren, den Webcrawlern aber den Zugriff auf andere Backend-Dienste erlauben, um die Suchmaschinenoptimierung (SEO) zu verbessern. Führen Sie die folgenden Schritte aus, um allen Adressen den Zugriff auf BACKEND_SERVICE_1 zu verweigern und den IP-Adressbereichen 66.249.77.32/27 und 66.249.77.64/27 den Zugriff auf BACKEND_SERVICE_2 zu erlauben:

  1. Erstellen Sie eine Backend-Sicherheitsrichtlinie mit dem Namen POLICY_1 und hängen Sie sie an BACKEND_SERVICE_1 an.
  2. Erstellen Sie in POLICY_1 eine deny-Regel mit der folgenden Abgleichbedingung:

    evaluateAddressGroup('BAD_IPS', origin.ip)
    
  3. Erstellen Sie eine zweite Back-End-Sicherheitsrichtlinie mit dem Namen POLICY_2 und fügen Sie sie BACKEND_SERVICE_2 hinzu.

  4. Erstellen Sie in POLICY_2 eine deny-Regel mit der folgenden Abgleichbedingung, die 66.249.77.32/27 und 66.249.77.64/27 ausschließt:

    evaluateAddressGroup('BAD_IPS', origin.ip, [66.249.77.32/27, 66.249.77.64/27])
    

Adressgruppe zum Abgleich mit Nutzer-IP-Adressen verwenden

Angenommen, Sie haben eine IP-Adressgruppe namens BAD_IPS mit 10.000 IP-Adressen, von denen Sie wissen, dass sie schädlich sind. Außerdem verwenden Sie einen Upstream-Proxy, der Informationen zu den ursprünglichen Clients im Header enthält. Sie können alle diese IP-Adressen mit einer einzigen deny-Regel der Sicherheitsrichtlinie mit der folgenden Abgleichbedingung ablehnen:

evaluateAddressGroup('BAD_IPS', origin.user_ip)

Weitere Informationen zu Nutzer-IP-Adressen finden Sie unter Attribute der Regelsprache.

Nächste Schritte