Mit Adressgruppen können Sie mehrere IP-Adressen und IP-Adressbereiche zu eine einzelne benannte logische Einheit, 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 zur Verwendung Adressgruppen.
IAM-Rollen
Zum Erstellen und Verwalten einer Adressgruppe benötigen Sie die Rolle „Netzwerkadministrator“ (compute.networkAdmin
) oder die Rolle „Sicherheitsadministrator“ (compute.securityAdmin
). Sie können auch eine benutzerdefinierte Rolle mit einem entsprechenden Satz von Berechtigungen definieren.
Die folgende Tabelle enthält eine Liste der IAM-Berechtigungen (Identity and Access Management) erforderlich, um eine Reihe von Aufgaben für Adressgruppen auszuführen.
Aufgabe | Name der IAM-Rolle | IAM-Berechtigungen |
---|---|---|
Adressgruppen erstellen und verwalten | compute.networkAdmin
|
networksecurity.addressGroups.* |
Adressgruppen ansehen und suchen | compute.networkUser |
networksecurity.addressGroups.list
|
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
Beim Erstellen einer Adressgruppe müssen Sie deren Kapazität und IP-Adresse angeben
Version mit den Flags --capacity
bzw. --type
. 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.
Console
Rufen Sie in der Google Cloud Console die Seite Adressgruppen auf.
Wählen Sie im Menü „Projektauswahl“ Ihr Projekt aus, falls verfügbar.
Klicken Sie auf Adressengruppe erstellen.
Geben Sie im Feld Name einen Namen ein.
Optional: Geben Sie im Feld Beschreibung eine Beschreibung ein.
Wählen Sie für Umfang die Option Global aus.
Wählen Sie als Typ IPv4 oder IPv6 aus.
Wählen Sie für Zweck die Option Cloud Armor aus. wählen Sie alternativ Firewall und Cloud Armor, wenn Sie auch die Adressgruppe verwenden möchten mit Cloud-Richtlinien der nächsten Generation.
Weitere Informationen zur Auswahl eines Zwecks finden Sie unter Adressgruppenspezifikation an.
Geben Sie im Feld Kapazität die Kapazität der Adressgruppe ein.
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
Klicken Sie auf Erstellen.
gcloud
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 erstellen Sie
Eine Adressgruppe mit einer Kapazität von 10.000 IPv6
-IP-Adressbereichen:
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 über die Google Cloud Console Elemente hinzufügen
oder die
gcloud network-security address-groups add-items
-Befehl
Console
Rufen Sie in der Google Cloud Console die Seite Adressgruppen auf.
Wählen Sie im Menü „Projektauswahl“ Ihr Projekt aus, falls verfügbar.
Wenn Sie eine Adressgruppe bearbeiten möchten, klicken Sie auf ihren Namen.
Klicken Sie auf Bearbeiten.
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 hochladen.
Klicken Sie auf Speichern.
gcloud
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
Über die Google Cloud Console können Sie Elemente aus einer Adressgruppe entfernen
oder die
gcloud network-security address-groups remove-items
-Befehl
Console
Rufen Sie in der Google Cloud Console die Seite Adressgruppen auf.
Wählen Sie im Projektauswahlmenü, falls verfügbar, Ihr Projekt aus.
Wenn Sie eine Adressgruppe bearbeiten möchten, klicken Sie auf ihren Namen.
Klicken Sie auf Bearbeiten.
Löschen Sie im Feld IP-Adressen die Elemente, die Sie aus der durch Kommas getrennten Liste der IP-Adressen entfernen möchten.
Klicken Sie auf Speichern.
gcloud
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 Adresse Gruppe:
Console
Rufen Sie in der Google Cloud Console die Seite Adressgruppen auf.
Wählen Sie im Menü „Projektauswahl“ Ihr Projekt aus, falls verfügbar.
Markieren Sie das Kästchen neben der Adressgruppe, die Sie löschen möchten. Achten Sie darauf, dass kein Verweis auf die ausgewählte Adressgruppe Firewall- oder Sicherheitsrichtlinie.
Klicken Sie auf Löschen und dann noch einmal auf Löschen, um den Löschvorgang zu bestätigen.
gcloud
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
Stellen Sie sich für dieses Beispiel vor, Sie haben eine IP-Adressgruppe namens
BAD_IPS durch 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 von einem Backend blockieren.
und den Web-Crawlern Zugriff auf andere Back-End-Dienste gewähren,
Suchmaschinenoptimierung (SEO) zu verstehen. 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:
- Erstellen Sie eine Back-End-Sicherheitsrichtlinie namens POLICY_1 und hängen Sie sie an. an BACKEND_SERVICE_1.
Erstellen Sie in POLICY_1 eine
deny
-Regel mit der folgenden Abgleichbedingung:evaluateAddressGroup('BAD_IPS', origin.ip)
Erstellen Sie eine zweite Back-End-Sicherheitsrichtlinie mit dem Namen POLICY_2 und fügen Sie sie BACKEND_SERVICE_2 hinzu.
Erstellen Sie in POLICY_2 eine
deny
-Regel mit der folgenden Übereinstimmung Bedingung, die66.249.77.32/27
und66.249.77.64/27
ausschließt:evaluateAddressGroup('BAD_IPS', origin.ip, [66.249.77.32/27, 66.249.77.64/27])
Adressgruppe für den 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.