Auf dieser Seite wird beschrieben, wie Sie Resource Manager-Tags an Secure Web Proxy-Richtlinien anhängen. Resource Manager-Tags sind Labels, die Sie an verschiedene Google Cloud Ressourcen wie Ihre VM-Instanzen anhängen können. Sie können Tags verwenden, um mit vorhandenen Organisationslabels bedingte Zugriffssteuerungen in Ihrem Netzwerk zu erzwingen.
Mit diesen Tags haben Sie folgende Möglichkeiten:
Arbeitslasten segmentieren: Sie können verschiedene Umgebungen wie
productionoderdevelopmentund Diensttypen wiefrontendoderdatabaseeindeutig identifizieren.Zugriffssteuerung zentralisieren: Sie können Ihre Richtlinien für sichere Web-Proxys auf diesen Tags basieren. Sie können beispielsweise eine Richtlinienregel erstellen, die besagt: „Nur der Traffic, der von Ressourcen mit dem Tag
tag segment=productionstammt, kann auf eine bestimmte Gruppe von URLs zugreifen.“
Diese Seite enthält Anleitungen für Folgendes:
- Secure Web Proxy-Instanz mit einer leeren Richtlinie erstellen
- Resource Manager-Tag erstellen und an eine VM-Instanz anhängen
- Secure Web Proxy-Regel erstellen
- Konnektivität der gesamten Secure Web Proxy-Konfiguration testen
Hinweis
Konfigurieren Sie die Ersteinrichtung.
Bitten Sie einen Organisationsadministrator, Ihnen die erforderliche Rolle zum Erstellen und Aktualisieren von Tags zuzuweisen.
Prüfen Sie, ob die Google Cloud CLI-Version 406.0.0 oder höher installiert ist:
gcloud version | head -n1Wenn Sie eine ältere gcloud CLI-Version installiert haben, aktualisieren Sie die Version:
gcloud components update --version=406.0.0
Secure Web Proxy-Instanz mit einer leeren Richtlinie erstellen
Wenn Sie eine Secure Web Proxy-Instanz erstellen möchten, müssen Sie zuerst eine leere Sicherheitsrichtlinie und dann einen Web-Proxy erstellen, der die Richtlinie verwendet.
Leere Sicherheitsrichtlinie erstellen
Console
Rufen Sie in der Google Cloud Console die Seite SWP-Richtlinien auf.
Klicken Sie auf Richtlinie erstellen.
Geben Sie im Feld Name einen Namen für die Richtlinie ein, z. B.
myswppolicy.Geben Sie im Feld Beschreibung eine Beschreibung für die Richtlinie ein, z. B.
My new swp policy.Wählen Sie unter Regionen die Region aus, in der Sie die Richtlinie erstellen möchten, z. B.
us-central1.Klicken Sie auf Erstellen.
Cloud Shell
Erstellen Sie mit einem Texteditor eine
policy.yaml-Datei.Fügen Sie folgenden Code in die
policy.yaml-Datei ein.name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME description: POLICY_DESCRIPTIONErsetzen Sie Folgendes:
PROJECT_NAME: Name Ihres ProjektsREGION: Region, in der Ihre Richtlinie erstellt wird, z. B.us-central1POLICY_NAME: Name der RichtliniePOLICY_DESCRIPTION: Beschreibung Ihrer Richtlinie
Importieren Sie die Sicherheitsrichtlinie mit dem Befehl
gcloud network-security gateway-security-policies import:gcloud network-security gateway-security-policies import POLICY_NAME \ --source=POLICY_FILE.yaml \ --location=REGION
Web-Proxy erstellen
Console
Rufen Sie in der Google Cloud Console die Seite Web-Proxys auf.
Klicken Sie auf Sicheren Web-Proxy erstellen.
Geben Sie im Feld Name einen Namen für den Webproxy ein, z. B.
myswp.Geben Sie im Feld Beschreibung eine Beschreibung für den Webproxy ein, z. B.
My new swp.Wählen Sie für Routing-Modus eine der folgenden Optionen aus:
- Explizit: Ihre Secure Web Proxy-Instanz wird im expliziten Proxymodus bereitgestellt.
- Nächster Hop: Ihre Secure Web Proxy-Instanz wird im Modus „Nächster Hop“ bereitgestellt.
Wählen Sie unter Regionen die Region aus, in der Sie den Webproxy erstellen möchten, z. B.
us-central1.Wählen Sie unter Netzwerk das Netzwerk aus, in dem Sie den Webproxy erstellen möchten.
Wählen Sie unter Subnetzwerk das VPC-Subnetzwerk aus, das Sie bei der Ersteinrichtung erstellt haben.
Optional: Geben Sie im Feld Web-Proxy-IP-Adresse die IP-Adresse des Secure Web Proxy ein.
Sie können eine IP-Adresse aus dem Bereich der Secure Web Proxy-IP-Adressen eingeben, die sich im Subnetz befinden, das Sie im vorherigen Schritt erstellt haben. Wenn Sie die IP-Adresse nicht eingeben, wählt Ihre Secure Web Proxy-Instanz automatisch eine IP-Adresse aus dem ausgewählten Subnetzwerk aus.
Wählen Sie unter Zertifikat das Zertifikat aus, das Sie zum Erstellen des Webproxys verwenden möchten.
Wählen Sie unter Richtlinie die Richtlinie aus, die Sie erstellt haben, um den Web-Proxy damit zu verknüpfen.
Klicken Sie auf Erstellen.
Cloud Shell
Erstellen Sie mit einem Texteditor eine
gateway.yaml-Datei.Fügen Sie folgenden Code in die
gateway.yaml-Datei ein.name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME type: SECURE_WEB_GATEWAY ports: [GATEWAY_PORT_NUMBERS] certificateUrls: [CERTIFICATE_URLS] gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME network: projects/PROJECT_NAME/global/networks/NETWORK_NAME subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNETWORK routingMode: ROUTING_MODE addresses: [GATEWAY_IP_ADDRESS] scope: samplescopeOptional: Wenn Sie zulassen möchten, dass Clientanwendungen aus anderen Google CloudRegionen eine Verbindung zu Ihrem Proxy herstellen, aktivieren Sie beim Erstellen Ihrer Secure Web Proxy-Instanz den globalen Zugriff.
Fügen Sie in der Datei
gateway.yamldas Feldallow_global_accesshinzu und legen Sie es auftruefest.Wichtig: Sie können
allow_global_accessnur aktivieren, wenn Sie eine Secure Web Proxy-Instanz erstellen. Sie können diese Einstellung später nicht mehr ändern.name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME type: SECURE_WEB_GATEWAY ports: [GATEWAY_PORT_NUMBERS] certificateUrls: [CERTIFICATE_URLS] gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME network: projects/PROJECT_NAME/global/networks/NETWORK_NAME subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNETWORK addresses: [GATEWAY_IP_ADDRESS] scope: samplescope allow_global_access: trueErsetzen Sie Folgendes:
GATEWAY_NAME: Name dieser Secure Web Proxy-InstanzGATEWAY_PORT_NUMBERS: Liste der Portnummern für dieses Gateway, z. B.[80,443]CERTIFICATE_URLS: Liste der SSL-Zertifikat-URLsSUBNETWORK: Das VPC-Subnetzwerk, das Sie bei der Ersteinrichtung erstellt habenROUTING_MODE: Geben Sie den erforderlichen Webproxy-Routingmodus an:EXPLICIT_ROUTING_MODE: Stellt Ihre Secure Web Proxy-Instanz im expliziten Proxymodus bereit.NEXT_HOP_ROUTING_MODE: Stellt Ihre Secure Web Proxy-Instanz im Next Hop-Modus bereit.
GATEWAY_IP_ADDRESS: Optionale Liste von IP-Adressen für Ihre Secure Web Proxy-Instanzen in den Proxy-Subnetzen, die Sie zuvor in den Schritten zur Ersteinrichtung erstellt haben.Wenn Sie keine IP-Adressen angeben möchten, lassen Sie das Feld leer, damit der Web-Proxy eine IP-Adresse für Sie auswählt.
Erstellen Sie die Secure Web Proxy-Instanz mit dem Befehl
gcloud network-services gateways import:gcloud network-services gateways import GATEWAY_NAME \ --source=gateway.yaml \ --location=REGION
Verbindung testen
Verwenden Sie den Befehl curl, um die Verbindung von einer beliebigen VM-Instanz in Ihrem VPC-Netzwerk (Virtual Private Cloud) zu testen:
curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure
Wenn alles korrekt funktioniert, gibt Ihre Secure Web Proxy-Instanz den Statuscode 403 Forbidden zurück. Dieser Fehler bestätigt Folgendes:
Die Secure Web Proxy-Instanz wurde erfolgreich bereitgestellt und empfängt aktiv Traffic.
Die Richtlinie für sichere Web-Proxys erzwingt die Standardsicherheitskonfiguration, bei der der gesamte Traffic abgelehnt wird, bis Sie in den nächsten Abschnitten bestimmte
allow-Regeln definieren.
Resource Manager-Tags erstellen und anhängen
Sichere Tag-Schlüssel und -Werte erstellen
Beispiel: So erstellen Sie ein Tag für eingeschränkte Umgebungen:
Erstellen Sie den Tag-Schlüssel (
access-level) mit dem Befehlgcloud resource-manager tags keys create, wobei der Zweck aufGCE_FIREWALLgesetzt ist.Rufen Sie die Tag-Schlüssel-ID entweder aus der Ausgabe des Erstellungsbefehls oder mit dem Befehl
gcloud resource-manager tags keys listab. Sie benötigen diese ID, um Tag-Werte mit diesem bestimmten Tag-Schlüssel zu verknüpfen.Erstellen Sie den Tag-Wert (
restricted) mit dem Befehlgcloud resource-manager tags values createund geben Sie die Tag-Schlüssel-ID als übergeordnetes Element an.
# Create the tag key # The output provides a unique ID, such as "tagKeys/1234567890" gcloud resource-manager tags keys create "access-level" \ --parent="organizations/1234567890" \ --purpose="GCE_FIREWALL" \ --purpose-values="execution_env=ANS" # Create the tag value and connect it to the key # The "--parent" flag identifies to which key this value belongs gcloud resource-manager tags values create "restricted" \ --parent="tagKeys/1234567890"-
Durch das Anhängen dieser Tags wird der ausgehende Traffic von Ihren VM-Instanzen einer bestimmten Tag-Identität zugeordnet. So kann der Proxy die Arbeitslast erkennen und Ihre Sicherheitsrichtlinienregeln erzwingen.
Beispiel: Angenommen, Sie haben eine VM-Instanz mit dem Namen
internal-tool. Sie können den Tag-Wertrestrictedmit dem Befehlgcloud resource-manager tags bindings createaninternal-toolanhängen. Durch diese Zuweisung von Tags kann Ihr Proxy den Traffic identifizieren, der von der VM-Instanzinternal-toolstammt.# Attach the "restricted" tag to a specific VM instance gcloud resource-manager tags bindings create \ --parent="//[compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/internal-tool](https://compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/internal-tool)" \ --tag-value="tagValues/987654321"
Secure Web Proxy-Regel erstellen
Console
Rufen Sie in der Google Cloud Console die Seite SWP-Richtlinien auf.
Klicken Sie auf den Namen Ihrer Richtlinie, z. B.
myswppolicy.Klicken Sie auf Regel hinzufügen.
Führen Sie für jede Regel folgende Schritte aus:
Geben Sie unter Priorität eine numerische Auswertungsreihenfolge für die Regel ein. Die Regeln werden von der höchsten bis zur niedrigsten Priorität ausgewertet, wobei
0die höchste Priorität ist.Geben Sie im Feld Name einen Namen für die Regel ein.
Geben Sie im Feld Beschreibung eine Beschreibung für die Regel ein.
Wählen Sie für Aktion eine der folgenden Optionen aus:
- Zulassen: Damit werden Verbindungsanfragen zugelassen, die der Regel entsprechen.
- Ablehnen: Verbindungsanfragen, die der Regel entsprechen, werden abgelehnt.
Wählen Sie für das Feld Status eine der folgenden Optionen für die Durchsetzung der Regel aus:
- Aktiviert: Die Regel wird für Ihre Secure Web Proxy-Instanz erzwungen.
- Deaktiviert: Die Regel wird nicht für Ihre Secure Web Proxy-Instanz erzwungen.
Geben Sie im Bereich Sitzungsabgleich die eindeutige ID des Tags an, das Sie im vorherigen Abschnitt erstellt haben. Beispiel:
sessionMatcher: "source.matchTag('TAG&&_VALUE') host() ==39;example.com'"Weitere Informationen zur Syntax für
SessionMatcherfinden Sie in der CEL-Matcher-Sprachreferenz.Geben Sie im Bereich Anwendungsabgleich die Kriterien für den Abgleich der Anfrage an.
Klicken Sie auf Regel hinzufügen.
Cloud Shell
Erstellen Sie die Datei
rule.yamlmit einem Texteditor.Wenn Sie den Zugriff auf eine URL über das erforderliche Tag zulassen möchten, fügen Sie der Datei
rule.yamlden folgenden Code hinzu:name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME description: RULE_DESCRIPTION enabled: true priority: RULE_PRIORITY sessionMatcher: CEL_EXPRESSION basicProfile: ALLOWErsetzen Sie Folgendes:
RULE_NAME: Name dieser RegelRULE_DESCRIPTION: Beschreibung der RegelRULE_PRIORITY: Priorität dieser Regel. Eine niedrigere Zahl entspricht einer höheren Priorität.CEL_EXPRESSION: Ein CEL-Ausdruck (Common Expression Language). Weitere Informationen finden Sie in der CEL-Matcher-Sprachreferenz.
Wenn Sie beispielsweise den Zugriff auf
example.comüber das erforderliche Tag zulassen möchten, fügen Sie der YAML-Datei die folgendesessionMatcher-Zeile hinzu:sessionMatcher: "source.matchTag('TAG&&_VALUE') host() ==39;example.com'"Ersetzen Sie
TAG_VALUEdurch das Tag, das Sie zulassen möchten. Achten Sie darauf, dass das Tag dem Format für numerische Ressourcen-IDs entspricht, z. B.tagValues/567890123456.Importieren Sie die Regeln, die Sie mit dem Befehl
gcloud network-security gateway-security-policies rules importerstellt haben:gcloud network-security gateway-security-policies rules import RULE_NAME \ --source=RULE_FILE.yaml \ --location=REGION \ --gateway-security-policy=POLICY_NAME
Richtlinienkonfiguration testen
Sie können die Verbindung noch einmal testen, um zu prüfen, ob Ihre Secure Web Proxy-Richtlinie, die auf Resource Manager-Tags für die Identität basiert, wie vorgesehen funktioniert.
Verwenden Sie den Befehl curl, um die Verbindung von einer beliebigen VM aus zu testen, die mit dem entsprechenden TAG_VALUE-Tag verknüpft ist.
curl -x https://IPv4_ADDRESS:443 http://example.com --proxy-insecure
Ersetzen Sie IPv4_ADDRESS durch die IPv4-Adresse Ihrer Secure Web Proxy-Instanz.
Wenn alles korrekt funktioniert, erhalten Sie entweder den Statuscode 200 OK oder 403 Forbidden. Diese Antworten bestätigen die folgenden wichtigen Ergebnisse:
Tag-basierter Erfolg: Ein Statuscode
200 OKbestätigt, dass der Traffic von einer VM mit dem richtigen Resource Manager-Tag mit der Richtlinienregel übereinstimmt und über den Proxy zugelassen wird. Diese bestätigte Übereinstimmung führt zu einer erfolgreichen Verbindung.Tag-basierte Ablehnung: Ein Statuscode
403 Forbiddenbestätigt, dass der Zugriff auf Traffic von einer VM ohne das angegebene Tag oder mit einem falschen Tag durch die Richtlinie korrekt verweigert wird. Diese Durchsetzung beweist, dass Ihre tagbasierte Segmentierung und Durchsetzung wie vorgesehen funktioniert.