Auf dieser Seite wird beschrieben, wie Sie Autorisierungsrichtlinien für Secure Web Proxy einrichten.
Hinweis
Lesen Sie die Seiten Übersicht: Secure Web Proxy und Autorisierungsrichtlinien – Übersicht.
-
- Network Security API
- Network Services API
- Certificate Manager API
Prüfen Sie, ob Sie die erforderlichen Rollen und Berechtigungen haben.
Sie müssen eine aktive Secure Web Proxy-Instanz bereitgestellt und mit einem
GatewaySecurityPolicyverknüpft haben. Weitere Informationen finden Sie unter Secure Web Proxy-Instanz bereitstellen.Wenn Sie Autorisierungsrichtlinien für Secure Web Proxy konfigurieren möchten, müssen Sie eine TLS-Prüfungsrichtlinie aktivieren.
Autorisierungsrichtlinie erstellen
In diesem Abschnitt wird beschrieben, wie Sie verschiedene Arten von Autorisierungsrichtlinien erstellen, die an eine Secure Web Proxy-Instanz angehängt sind.
So erstellen Sie eine Autorisierungsrichtlinie für Secure Web Proxy:
- Konfigurieren Sie eine YAML-Datei, die das Ziel und die Regeln definiert.
- Importieren Sie die Datei mit dem Befehl
gcloud network-security authz-policies import.
Autorisierungsrichtlinie basierend auf der mTLS-Identität
Secure Web Proxy unterstützt die Erzwingung von Sicherheitsregeln basierend auf Identitäten, die aus gegenseitigen TLS-Zertifikaten (mTLS) abgeleitet werden. Die Erzwingung von Regeln basierend auf diesen Identitäten ist besonders in Zero-Trust-Umgebungen nützlich, in denen der Traffic zwischen Clients und dem Proxy durch mTLS gesichert wird. Weitere Informationen finden Sie unter Autorisierungsrichtlinie basierend auf Principals.
Das folgende Beispiel zeigt eine Autorisierungsrichtlinie für eine Secure Web Proxy-Instanz mit dem Namen swp1. In diesem Beispiel wird davon ausgegangen, dass für den Traffic zum Proxy das HTTPS-Protokoll verwendet wird.
Die Richtlinie mit dem Profil REQUEST_AUTHZ erzwingt, dass für den gesamten Traffic zu example.com/mcp eine mTLS-Authentifizierung von einem bestimmten Prinzipal erforderlich ist, bevor der Traffic durchgelassen wird. Die Richtlinie lehnt außerdem den gesamten ausgehenden Traffic ab, der nicht für example.com/mcp bestimmt ist.
Erstellen Sie die YAML-Datei für die Autorisierungsrichtlinie.
Im folgenden Beispiel wird eine
authz-policy.yaml-Datei erstellt. Die Richtlinie lässt Traffic zum angegebenen Host und Pfad nur zu, wenn der Client ein Zertifikat präsentiert, das dem definiertenSPIFFE ID-Hauptkonto entspricht.$ cat >authz-policy.yaml <<EOF name: test-authz-policy-mtls target: resources: - "projects/ PROJECT_ID /locations/ LOCATION /gateways/swp1" policyProfile: REQUEST_AUTHZ httpRules: - to: operations: - hosts: - exact: "example.com" paths: - exact: "/mcp" from: sources: - principals: - principalSelector: CLIENT_CERT_URI_SAN principal: exact: "spiffe:// PROJECT_ID .global.123.workload.id.goog/ns/ns1/sa/hellomcp" action: ALLOW EOFErsetzen Sie Folgendes:
PROJECT_ID: ID Ihres Google Cloud -ProjektsLOCATION: Region Ihrer Secure Web Proxy-Instanz
Erstellen Sie eine Autorisierungsrichtlinie und importieren Sie die YAML-Datei mit dem Befehl
gcloud network-security authz-policies import.gcloud beta network-security authz-policies import my-authz-policy-allow --source=authz-policy.yaml --location= LOCATIONErsetzen Sie
LOCATIONdurch die Region Ihrer Secure Web Proxy-Instanz.
Autorisierungsrichtlinie basierend auf Dienstkonten oder Tags
Sie können eine Autorisierungsrichtlinie basierend auf Dienstkonten oder Tags anwenden, die an verschiedene Google Cloud Ressourcen angehängt sind.
In diesem Beispiel wird davon ausgegangen, dass Sie Folgendes bereits erledigt haben:
Sie haben ein Dienstkonto erstellt und an eine Google Cloud-Ressource angehängt.
Sie haben ein Tag erstellt und es als Schlüssel/Wert-Paar an eine Google Cloud -Ressource angehängt. Wenn Sie ein Tag erstellen, setzen Sie das Flag
--purposeaufGCE_FIREWALL. Für die Autorisierungsrichtlinien ist der ZweckGCE_FIREWALLerforderlich, um das Tag anzuwenden.
Dienstkonto
Erstellen Sie eine YAML-Datei für die Autorisierungsrichtlinie, um bestimmte Anfragen zuzulassen.
Im folgenden Beispiel wird eine
authz-policy.yaml-Datei für die Secure Web Proxy-Instanz mit dem Namenswp1erstellt. Die Richtlinie ist so konfiguriert, dass Anfragen von einer Compute Engine-VM-Instanz mit dem Dienstkontomy-sa-123@56788.iam.gserviceaccount.comden Pfad example1.com/url1 erreichen dürfen.$ cat >authz-policy.yaml <<EOF name: my-authz-policy-allow target: resources: - "projects/PROJECT_ID/locations/ LOCATION /gateways/swp1" policyProfile: REQUEST_AUTHZ httpRules: - from: sources: - resources: - iamServiceAccount: exact: "my-sa-123@56788.iam.gserviceaccount.com" to: operations: - hosts: - exact: "example1.com" paths: - prefix: "/url1" action: ALLOW EOFErsetzen Sie Folgendes:
PROJECT_ID: ID Ihres Google Cloud -ProjektsLOCATION: Region Ihrer Secure Web Proxy-Instanz
Erstellen Sie eine Autorisierungsrichtlinie und importieren Sie die YAML-Datei mit dem Befehl
gcloud network-security authz-policies import.Mit dem folgenden Beispielbefehl importieren Sie die zuvor erstellte Richtliniendatei und erstellen eine Autorisierungsrichtlinie:
gcloud network-security authz-policies import my-authz-policy-allow --source=authz-policy.yaml --location= LOCATIONErsetzen Sie
LOCATIONdurch die Region Ihrer Secure Web Proxy-Instanz.
Tag
Erstellen Sie eine YAML-Datei für die Autorisierungsrichtlinie, um bestimmte Anfragen zuzulassen.
Im folgenden Beispiel wird eine
authz-policy-tag.yaml-Datei für die Secure Web Proxy-Instanz mit dem Namenswp1erstellt. Die Richtlinie lässt nur Anfragen zu, die von einer Google Cloud-Ressource mit dem Tag-WertTAG_VALUE_PERMANENT_IDstammen und auf den URL-Pfad example1.com/url1 zugreifen.$ cat >authz-policy-tag.yaml <<EOF name: my-authz-policy-tag-allow target: resources: - "projects/PROJECT_ID/locations/ LOCATION /gateways/ GATEWAY_NAME " policyProfile: REQUEST_AUTHZ httpRules: - from: sources: - resources: - tagValueIdSet: ids: ["TAG_VALUE_PERMANENT_ID"] to: operations: - hosts: - exact: "example1.com" paths: - exact: "/url1" action: ALLOW EOFErsetzen Sie Folgendes:
PROJECT_ID: ID Ihres Google Cloud -ProjektsLOCATION: Region Ihrer Secure Web Proxy-InstanzGATEWAY_NAME: Name Ihres Secure Web Proxy-GatewaysTAG_VALUE_PERMANENT_ID: die permanente ID eines Tag-Werts, z. B.tagValues/123456789012
Erstellen Sie eine Autorisierungsrichtlinie und importieren Sie die YAML-Datei mit dem Befehl
gcloud network-security authz-policies import.Mit dem folgenden Beispielbefehl importieren Sie die zuvor erstellte Richtliniendatei und erstellen eine Autorisierungsrichtlinie in der angegebenen Region Google Cloud :
gcloud network-security authz-policies import my-authz-policy-tag-allow --source=authz-policy-tag.yaml --location= LOCATIONErsetzen Sie
LOCATIONdurch die Region Ihrer Secure Web Proxy-Instanz.
Autorisierungsrichtlinie zum Delegieren von Autorisierungsentscheidungen
Für komplexe Autorisierungsentscheidungen, die nicht mit Standardregeln vom Typ ALLOW oder DENY ausgedrückt werden können, können Sie eine Autorisierungsrichtlinie mit einer CUSTOM-Aktion erstellen. Anschließend können Sie Ihre Autorisierungsentscheidungen an Autorisierungserweiterungen (Diensterweiterungen) delegieren.
Wenn Sie eine Richtlinie mit einer CUSTOM-Aktion konfigurieren, lagert Secure Web Proxy die Anforderungsmetadaten oder die Nutzlast an Service Extensions aus. Je nach Antwort der Service Extensions lässt der Proxy den Traffic zu oder lehnt ihn ab.
Secure Web Proxy unterstützt die folgenden Arten von Delegierungen:
Autorisierungsentscheidungen für Anfragen an Service Extensions delegieren: Sie können eine Autorisierungsrichtlinie verwenden, die mit einer
CUSTOM-Aktion und einemREQUEST_AUTHZ-Profil konfiguriert ist, um Entscheidungen basierend auf Anfragemetadaten und Headern zu delegieren. In diesem Modus wird die Zugriffsentscheidung an eine Autorisierungserweiterung delegiert. In diesem Modus können Sie Identitäten und Berechtigungen überprüfen.Entscheidungen zur Inhaltsautorisierung an Service Extensions delegieren: Sie können eine Autorisierungsrichtlinie mit einer
CUSTOM-Aktion und einemCONTENT_AUTHZ-Profil verwenden, um Entscheidungen basierend auf der tatsächlichen Daten-Payload der Anfrage an eine Autorisierungserweiterung zu delegieren. In diesem Modus können Sie eine detaillierte Inhaltsprüfung und Sicherheitsdurchsetzung aktivieren und nach vertraulichen Informationen oder schädlichen Mustern suchen, indem Sie Dienste wie Model Armor einbinden.
Beschränkungen
Wenn Sie Autorisierungsrichtlinien für Secure Web Proxy implementieren, gelten die folgenden Einschränkungen:
Ziel- und Verbindungsbeschränkungen: Autorisierungserweiterungen für Secure Web Proxy unterstützen Identity-Aware Proxy (IAP) nicht als direktes Ziel.
Richtlinienkonflikt und ‑kompatibilität: Wenn Sie eine Gateway-Sicherheitsrichtlinie mit vorhandenen Sicherheitsregeln haben, müssen Sie diese nicht entfernen. Secure Web Proxy ignoriert diese Regeln, wenn Sie eine Autorisierungsrichtlinie auf Ihre Instanz anwenden.
Anforderungen an Protokoll und Prüfung: Wenn Sie Autorisierungsrichtlinien für Secure Web Proxy konfigurieren möchten, müssen Sie die TLS-Prüfung aktivieren.