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 anhängen können, z. B. an Ihre VM-Instanzen. Mit Tags können Sie bedingte Zugriffssteuerungen in Ihrem Netzwerk mit vorhandenen Organisationslabels 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 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 segment=productionTag stammt, 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 Ihrer gesamten Secure Web Proxy-Konfiguration testen
Hinweise
Konfigurieren Sie die ersten Einrichtungsschritte.
Lassen Sie sich von einem Organisationsadministrator die erforderliche Rolle zum Erstellen und Aktualisieren von Tags zuweisen.
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 Sicherheits richtlinie und dann einen Web-Proxy erstellen, der die Richtlinie verwendet.
Leere Sicherheitsrichtlinie erstellen
Console
Rufen Sie in der Google Cloud Console die SWP-Richtlinien Seite 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 Datei
policy.yaml.Fügen Sie der erstellten Datei
policy.yamlFolgendes 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 Ihrer RichtliniePOLICY_DESCRIPTION: Beschreibung Ihrer Richtlinie
Importieren Sie die Sicherheitsrichtlinie mit dem
gcloud network-security gateway-security-policies importBefehl: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 Web-Proxy ein, z. B.
myswp.Geben Sie im Feld Beschreibung eine Beschreibung für den Web-Proxy ein, z. B.
My new swp.Wählen Sie unter Routingmodus die Option Explizit aus.
Wählen Sie unter Regionen die Region aus, in der Sie den Web-Proxy erstellen möchten, z. B.
us-central1.Wählen Sie unter Netzwerk das Netzwerk aus, in dem Sie den Web-Proxy erstellen möchten.
Wählen Sie unter Subnetzwerk das VPC-Subnetz aus, das Sie zuvor im Rahmen der ersten Einrichtungsschritteerstellt haben.
Optional: Geben Sie im Feld IP-Adresse des Web-Proxys die IP-Adresse des sicheren Web-Proxys ein.
Sie können eine IP Adresse aus dem Bereich der IP-Adressen des sicheren Web-Proxys eingeben, die sich in dem 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 Subnetz aus.
Wählen Sie unter Zertifikat das Zertifikat aus, mit dem Sie den Web-Proxy erstellen 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.yamlDatei.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 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 zuvor im Rahmen der ersten Einrichtungsschritte erstellt habenGATEWAY_IP_ADDRESS: optionale Liste der IP Adressen für Ihre Secure Web Proxy-Instanzen in den Proxy Subnetzen, die Sie zuvor im Rahmen der ersten Einrichtungsschritte erstellt habenWenn Sie keine IP-Adressen auflisten möchten, lassen Sie das Feld leer, damit der Web-Proxy eine IP-Adresse für Sie auswählen kann.
Erstellen Sie die Secure Web Proxy-Instanz mit dem
gcloud network-services gateways importBefehl:gcloud network-services gateways import GATEWAY_NAME \ --source=gateway.yaml \ --location=REGION
Verbindung testen
Verwenden Sie den curl Befehl von einer beliebigen VM-Instanz in Ihrem VPC-Netzwerk, um die Verbindung 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 403 Forbidden Statuscode zurück. Dieser Fehler bestätigt Folgendes:
Die Secure Web Proxy-Instanz wurde erfolgreich bereitgestellt und empfängt aktiv Traffic.
Die Secure Web Proxy-Richtlinie erzwingt korrekt die Standardsicherheit einstellung, die den gesamten Traffic ablehnt, bis Sie bestimmte
allowRegeln in den nächsten Abschnitten 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: Schritte:
Erstellen Sie den Tag-Schlüssel (
access-level) mit demgcloud resource-manager tags keys createBefehl und legen Sie den Zweck aufGCE_FIREWALLfest.Rufen Sie die Tag-Schlüssel-ID entweder aus der Ausgabe des Erstellungs befehls oder mit dem
gcloud resource-manager tags keys listBefehl ab. Sie benötigen diese ID, um Tag-Werte mit diesem bestimmten Tag-Schlüssel zu verknüpfen.Erstellen Sie den Tag-Wert (
restricted) mit demgcloud resource-manager tags values createBefehl und geben Sie die Tag-Schlüssel-ID als übergeordnete ID 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 mit einer bestimmten Tag-Identität verknüpft. 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 denrestrictedTag-Wert mit demgcloud resource-manager tags bindings createBefehl aninternal-toolanhängen. Mit dieser Tag-Zuweisung kann Ihr Proxy den Traffic identifizieren, der von derinternal-toolVM-Instanz stammt.# 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 SWP-Richtlinien Seite 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 unter Aktion eine der folgenden Optionen aus:
- Zulassen: Verbindungsanfragen zulassen, die der Regel entsprechen.
- Ablehnen: Verbindungsanfragen ablehnen, die der Regel entsprechen.
Wählen Sie im Feld Status eine der folgenden Optionen für die Erzwingung der Regel aus:
- Aktiviert: Die Regel für Ihre Secure Web Proxy Instanz erzwingen.
- Deaktiviert: Die Regel für Ihre Secure Web Proxy Instanz nicht erzwingen.
Geben Sie im Abschnitt Sitzungsübereinstimmung 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
SessionMatcher, finden Sie unter CEL-Matcher-Sprachreferenz.Geben Sie im Abschnitt Anwendungsübereinstimmung die Kriterien für die Übereinstimmung der Anfrage an.
Klicken Sie auf Regel hinzufügen.
Cloud Shell
Erstellen Sie mit Ihrem bevorzugten Texteditor die
rule.yamlDatei.Fügen Sie der Datei
rule.yamlFolgendes hinzu, um den Zugriff auf eine URL über das erforderliche Tag zuzulassen: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ätCEL_EXPRESSION: ein Common Expression Language (CEL) Ausdruck. Weitere Informationen finden Sie unter 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 folgendesessionMatcherZeile 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 erstellten Regeln mit dem
gcloud network-security gateway-security-policies rules importBefehl: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 Resource Manager-Tags für die Identität verwendet, wie vorgesehen funktioniert.
Verwenden Sie den Befehl curl von 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:
Erfolg basierend auf Tags: Der
200 OKStatuscode bestätigt, dass der Traffic von einer VM mit dem richtigen Resource Manager-Tag der Richtlinienregel entspricht und über den Proxy zugelassen wird. Diese bestätigte Übereinstimmung führt zu einer erfolgreichen Verbindung.Ablehnung basierend auf Tags: Der Statuscode
403 Forbiddenbestätigt, dass der Zugriff auf den Traffic von einer VM ohne das angegebene Tag oder mit einem falschen Tag von der Richtlinie korrekt verweigert wird. Diese Erzwingung beweist, dass Ihre tagbasierte Segmentierung und Erzwingung wie vorgesehen funktioniert.