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 bedingte Zugriffssteuerungen in Ihrem Netzwerk mit vorhandenen Organisationslabels zu erzwingen.
Mit diesen Tags können Sie die folgenden Aktionen ausführen:
Arbeitslasten segmentieren: Sie können verschiedene Umgebungen wie
productionoderdevelopmentund Diensttypen wiefrontendoderdatabaseeindeutig identifizieren.Zugriffssteuerung zentralisieren: Sie können Ihre Secure Web Proxy-Richtlinien 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 Ihrem bevorzugten Texteditor eine
policy.yaml-Datei.Fügen Sie der Datei
policy.yaml, die Sie erstellt haben, Folgendes hinzu: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.
- Next Hop: Ihre Secure Web Proxy-Instanz wird im Next Hop-Modus 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-Subnetz 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 Ihrem bevorzugten Texteditor eine
gateway.yaml-Datei.Fügen Sie der Datei
gateway.yamlfolgendes hinzu: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: samplescopeErsetzen 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: VPC-Subnetz, 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 Webproxy 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 Konnektivität von einer beliebigen Instanz einer virtuellen Maschine (VM) 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 Tag-Zuweisung 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 die folgenden 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() == '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 Ihrem bevorzugten Texteditor.Wenn Sie den Zugriff auf eine URL über das erforderliche Tag zulassen möchten, fügen Sie der Datei
rule.yamlFolgendes 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() == '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 auf einer beliebigen VM, die mit dem entsprechenden TAG_VALUE-Tag verknüpft ist, um die Verbindung zu testen.
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
403 Forbidden-Statuscode bestä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 zeigt, dass Ihre tagbasierte Segmentierung und Durchsetzung wie vorgesehen funktioniert.