Mit Service Extensions können Secure Web Proxy-Erweiterungen Callouts an Autorisierungsdienste senden, um benutzerdefinierte Verarbeitung in den Traffic-Verarbeitungspfad einzufügen. Auf dieser Seite wird beschrieben, wie Sie Secure Web Proxy-Erweiterungen mit Autorisierungsrichtlinien konfigurieren.
Secure Web Proxy-Erweiterungen werden mit Autorisierungsrichtlinien für Anfragen und Inhalte als Autorisierungserweiterungen konfiguriert. Erweiterungen, die auf Autorisierungsrichtlinien für Anfragen basieren, werden vor denen ausgeführt, die auf Autorisierungsrichtlinien für Inhalte basieren.
Informationen zur Funktionsweise von Secure Web Proxy-Erweiterungen finden Sie unter Übersicht über Secure Web Proxy-Erweiterungen.
Informationen zu den Limits für Autorisierungserweiterungen, finden Sie auf der Seite Kontingente und Limits.
Hinweis
Erstellen, konfigurieren und stellen Sie eine Secure Web Proxy-Instanz mit dem Namen
swp-instance1an einem Ort bereit, den Sie für die Erweiterung verwenden möchten, z. B.us-west1.Der Proxy muss mit einer Gateway-Sicherheitsrichtlinie bereitgestellt werden, bei der die TLS-Prüfung (Transport Layer Security) aktiviert ist.
Konfigurieren Sie die folgenden Beispieldienste:
Ein Autorisierungsdienst, mit dem eine Erweiterung für eine Autorisierungsrichtlinie für Anfragen konfiguriert werden soll. In diesem Beispiel wird davon ausgegangen, dass der FQDN
request-authz.comist.Ein Bereinigungsdienst, mit dem eine Erweiterung für eine Autorisierungsrichtlinie für Inhalte konfiguriert werden soll . In diesem Beispiel wird davon ausgegangen, dass der FQDN
content-sdp.comist.
Secure Web Proxy-Erweiterungen können nur auf vollqualifizierte Domainnamen (Fully Qualified Domain Names, FQDNs) ausgerichtet werden. Wenn Sie FQDN-Ziele für Erweiterungen verwenden, verwendet die Datenebene das HTTP2-Protokoll mit TLS-Verschlüsselung, um über Port 443 mit den Endpunkten zu kommunizieren. Die Datenebene validiert jedoch das Serverzertifikat nicht. Aus Sicherheitsgründen müssen sich die aufgelösten Endpunkte innerhalb der VPC befinden.
Erweiterung für eine Autorisierungsrichtlinie für Anfragen konfigurieren
Im folgenden Beispiel wird gezeigt, wie Sie eine Autorisierungserweiterung konfigurieren, die eine Autorisierungsrichtlinie für Anfragen auf die Secure Web Proxy-Instanz in us-west1 anwendet. Die Richtlinie erfordert, dass der Traffic die gegenseitige TLS-Authentifizierung von einem bestimmten Prinzipal besteht, bevor er das Ziel example.com/mcp erreichen darf.
gcloud
Konfigurieren Sie die Autorisierungserweiterung.
Definieren Sie die Erweiterung in einer YAML-Datei, die die Erweiterung mit
request-authz.comverknüpft. Verwenden Sie die angegebenen Beispielwerte.cat >swp-request-authz-extension.yaml <<EOF name: my-swp-request-authz-ext authority: ext11.com loadBalancingScheme: INTERNAL_MANAGED service: "request-authz.com" forwardHeaders: - Authorization failOpen: false timeout: "0.1s" wireFormat: EXT_AUTHZ_GRPC EOFSecure Web Proxy-Erweiterungen sind regionale Ressourcen und müssen sich in derselben Region wie Ihre Secure Web Proxy-Instanz befinden.
Für Autorisierungsrichtlinien für Anfragen kann der Wert von
wireFormatEXT_AUTHZ_GRPCsein, sodass der Callout dasext_authz-Protokoll verwendet, obwohl dasext_proc-Protokoll ebenfalls unterstützt wird.Standardmäßig ist
failOpenauffalsegesetzt. Wenn die Erweiterung eine Zeitüberschreitung verursacht oder fehlschlägt, wird die Anfrageverarbeitung beendet. Diese Standardoption wird bevorzugt, wenn Sicherheit oder Integrität Vorrang vor Verfügbarkeit haben.Importieren Sie die Autorisierungserweiterung. Verwenden Sie den
gcloud beta service-extensions authz-extensions importBefehl mit den folgenden Beispielwerten.gcloud beta service-extensions authz-extensions import my-swp-request-authz-ext \ --source=swp-request-authz-extension.yaml \ --location=us-west1
Konfigurieren Sie im selben Projekt eine Autorisierungsrichtlinie mit der Erweiterung.
Für jede Anfrage an
example.com/mcperfordert die Richtlinie die gegenseitige TLS-Authentifizierung von einem bestimmten Prinzipal und delegiert die Autorisierungsentscheidung weiter an die Autorisierungserweiterungmy-swp-authz-request-ext.Definieren Sie eine Autorisierungsrichtlinie, die die Erweiterung
my-swp-authz-request-extmit dem Secure Web Proxy-Proxyswp-instance1verknüpft. Verwenden Sie die angegebenen Beispielwerte.cat >swp-request-authz-policy.yaml <<EOF name: my-swp-request-authz-policy target: resources: - "projects/PROJECT_ID/locations/us-west1/gateways/swp-instance1" policyProfile: REQUEST_AUTHZ httpRules: - to: operations: - hosts: - exact: "example.com" - paths: - prefix: "/mcp" from: sources: - principals: - principal_selector: CLIENT_CERT_DNS_NAME_SANS principal: exact: "spiffe://p.global.123.workload.id.goog/ns/ns1/sa/hellomcp" action: CUSTOM customProvider: authzExtension: resources: - "projects/PROJECT_ID/locations/us-west1/authzExtensions/my-swp-request-authz-ext" EOFErsetzen Sie
PROJECT_IDdurch die Projekt-ID.Für Autorisierungsrichtlinien für Anfragen muss der Wert von
policyProfileREQUEST_AUTHZsein.Die Aktion
CUSTOMgibt an, dass eine Erweiterung mit dem Proxy verknüpft ist.Weitere Informationen zu einer Autorisierungsrichtlinienressource finden Sie in der
authzPolicyReferenzdokumentation.Importieren Sie die Autorisierungsrichtlinie in das Projekt. Verwenden Sie den
gcloud beta network-security authz-policies importBefehl mit den folgenden Beispielwerten.gcloud beta network-security authz-policies import my-swp-request-authz-policy \ --source=swp-request-authz-policy.yaml \ --location=us-west1
Erweiterung für eine Autorisierungsrichtlinie für Inhalte konfigurieren
Im folgenden Beispiel wird gezeigt, wie Sie eine Autorisierungserweiterung konfigurieren, die eine Autorisierungsrichtlinie für Inhalte auf die Secure Web Proxy-Instanz in us-west1 anwendet. Die Richtlinie erfordert, dass ein Dienst zur Bereinigung von Inhalten eine detaillierte Prüfung Ihrer Anwendungspayloads durchführt, um Anfragen zuzulassen oder abzulehnen oder die Anfragen und Antworten nach Bedarf zu ändern.
gcloud
Konfigurieren Sie die Autorisierungserweiterung.
Definieren Sie die Erweiterung in einer YAML-Datei, die die Erweiterung mit
content-sdp.comverknüpft. Verwenden Sie die angegebenen Beispielwerte.cat >swp-authz-content-extension.yaml <<EOF name: my-swp-content-authz-ext authority: ext11.com loadBalancingScheme: INTERNAL_MANAGED service: "content-sdp.com" failOpen: false timeout: "0.1s" EOFFür Autorisierungsrichtlinien für Inhalte muss der Wert von
policyProfileCONTENT_AUTHZsein.Für
CONTENT_AUTHZ-Richtlinien muss der Wert vonwireFormatnicht explizit aufEXT_PROC_GRPCgesetzt werden. Standardmäßig verwendet der Callout dasext_proc-Protokoll.Importieren Sie die Autorisierungserweiterung. Verwenden Sie den
gcloud beta service-extensions authz-extensions importBefehl mit den folgenden Beispielwerten.gcloud beta service-extensions authz-extensions import my-swp-content-authz-ext \ --source=swp-content-authz-extension.yaml \ --location=us-west1
Konfigurieren Sie eine Autorisierungsrichtlinie mit der Erweiterung.
Definieren Sie eine Autorisierungsrichtlinie, die die Erweiterung
my-swp-content-authz-extmit dem Secure Web Proxy-Proxyswp-instance1verknüpft. Verwenden Sie die angegebenen Beispielwerte.cat >swp-content-authz-policy.yaml <<EOF name: my-swp-content-authz-policy target: resources: - "projects/PROJECT_ID/locations/us-west1/gateways/swp-instance1" policyProfile: CONTENT_AUTHZ httpRules: - to: operations: - hosts: - exact: "example.com" - paths: - prefix: "/sensitive-stuff" action: CUSTOM customProvider: authzExtension: resources: - "projects/PROJECT_ID/locations/us-west1/authzExtensions/my-swp-content-authz-ext" EOFFür Autorisierungsrichtlinien für Inhalte ist der Wert von
policyProfileaufCONTENT_AUTHZgesetzt. Dieser Wert gibt an, dass der benutzerdefinierte Richtlinienanbieter den Anfrage- und Antwort-Traffic einschließlich der Verarbeitung des Nachrichtentexts verarbeitet.Importieren Sie die Autorisierungsrichtlinie in das Projekt. Verwenden Sie den
gcloud beta network-security authz-policies importBefehl mit den folgenden Beispielwerten.gcloud beta network-security authz-policies import my-swp-content-authz-policy \ --source=swp-content-authz-policy.yaml \ --location=us-west1
Einschränkungen von Secure Web Proxy-Erweiterungen
Informationen zu den Einschränkungen von Secure Web Proxy-Erweiterungen finden Sie in den folgenden Abschnitten:
Informationen zu Einschränkungen, die für alle Erweiterungen gelten, finden Sie unter Einschränkungen von Erweiterungen.
Informationen zu Einschränkungen, die für Callouts gelten, finden Sie unter Einschränkungen von Callouts.
Nächste Schritte
- Beispiele für
ext_procServer in Python und Go finden Sie im GitHub-Repository für Service Extensions. - Erweiterungen verwalten