Richtlinien über Tags erstellen

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 production oder development und Diensttypen wie frontend oder database eindeutig 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=production stammt, kann auf eine bestimmte Gruppe von URLs zugreifen.“

Diese Seite enthält Anleitungen für Folgendes:

Hinweis

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

  1. Rufen Sie in der Google Cloud Console die Seite SWP-Richtlinien auf.

    Zu den Richtlinien zum Löschen von Dienstdaten

  2. Klicken Sie auf Richtlinie erstellen.

  3. Geben Sie im Feld Name einen Namen für die Richtlinie ein, z. B. myswppolicy.

  4. Geben Sie im Feld Beschreibung eine Beschreibung für die Richtlinie ein, z. B. My new swp policy.

  5. Wählen Sie unter Regionen die Region aus, in der Sie die Richtlinie erstellen möchten, z. B. us-central1.

  6. Klicken Sie auf Erstellen.

Cloud Shell

  1. Erstellen Sie mit Ihrem bevorzugten Texteditor eine policy.yaml-Datei.

  2. Fügen Sie der Datei policy.yaml, die Sie erstellt haben, Folgendes hinzu:

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    description: POLICY_DESCRIPTION
    

    Ersetzen Sie Folgendes:

    • PROJECT_NAME: Name Ihres Projekts

    • REGION: Region, in der Ihre Richtlinie erstellt wird, z. B. us-central1

    • POLICY_NAME: Name der Richtlinie

    • POLICY_DESCRIPTION: Beschreibung Ihrer Richtlinie

  3. 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

  1. Rufen Sie in der Google Cloud Console die Seite Web-Proxys auf.

    Zu Web-Proxys

  2. Klicken Sie auf Sicheren Web-Proxy erstellen.

  3. Geben Sie im Feld Name einen Namen für den Webproxy ein, z. B. myswp.

  4. Geben Sie im Feld Beschreibung eine Beschreibung für den Webproxy ein, z. B. My new swp.

  5. 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.
  6. Wählen Sie unter Regionen die Region aus, in der Sie den Webproxy erstellen möchten, z. B. us-central1.

  7. Wählen Sie unter Netzwerk das Netzwerk aus, in dem Sie den Webproxy erstellen möchten.

  8. Wählen Sie unter Subnetzwerk das VPC-Subnetz aus, das Sie bei der Ersteinrichtung erstellt haben.

  9. 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.

  10. Wählen Sie unter Zertifikat das Zertifikat aus, das Sie zum Erstellen des Webproxys verwenden möchten.

  11. Wählen Sie unter Richtlinie die Richtlinie aus, die Sie erstellt haben, um den Web-Proxy damit zu verknüpfen.

  12. Klicken Sie auf Erstellen.

Cloud Shell

  1. Erstellen Sie mit Ihrem bevorzugten Texteditor eine gateway.yaml-Datei.

  2. Fügen Sie der Datei gateway.yaml folgendes 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: samplescope
    

    Ersetzen Sie Folgendes:

    • GATEWAY_NAME: Name dieser Secure Web Proxy-Instanz

    • GATEWAY_PORT_NUMBERS: Liste der Portnummern für dieses Gateway, z. B. [80,443]

    • CERTIFICATE_URLS: Liste der SSL-Zertifikat-URLs

    • SUBNETWORK: VPC-Subnetz, das Sie bei der Ersteinrichtung erstellt haben

    • ROUTING_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.

  3. 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

  1. Sichere Tag-Schlüssel und -Werte erstellen

    Beispiel: So erstellen Sie ein Tag für eingeschränkte Umgebungen:

    1. Erstellen Sie den Tag-Schlüssel (access-level) mit dem Befehl gcloud resource-manager tags keys create, wobei der Zweck auf GCE_FIREWALL gesetzt ist.

    2. Rufen Sie die Tag-Schlüssel-ID entweder aus der Ausgabe des Erstellungsbefehls oder mit dem Befehl gcloud resource-manager tags keys list ab. Sie benötigen diese ID, um Tag-Werte mit diesem bestimmten Tag-Schlüssel zu verknüpfen.

    3. Erstellen Sie den Tag-Wert (restricted) mit dem Befehl gcloud resource-manager tags values create und 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"
    
  2. Tags an VM-Instanzen anhängen

    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-Wert restricted mit dem Befehl gcloud resource-manager tags bindings create an internal-tool anhängen. Durch diese Tag-Zuweisung kann Ihr Proxy den Traffic identifizieren, der von der VM-Instanz internal-tool 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

  1. Rufen Sie in der Google Cloud Console die Seite SWP-Richtlinien auf.

    Zu den Richtlinien zum Löschen von Dienstdaten

  2. Klicken Sie auf den Namen Ihrer Richtlinie, z. B. myswppolicy.

  3. Klicken Sie auf Regel hinzufügen.

  4. Führen Sie für jede Regel die folgenden Schritte aus:

    1. 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 0 die höchste Priorität ist.

    2. Geben Sie im Feld Name einen Namen für die Regel ein.

    3. Geben Sie im Feld Beschreibung eine Beschreibung für die Regel ein.

    4. 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.
    5. 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.
    6. 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 SessionMatcher finden Sie in der CEL-Matcher-Sprachreferenz.

    7. Geben Sie im Bereich Anwendungsabgleich die Kriterien für den Abgleich der Anfrage an.

    8. Klicken Sie auf Regel hinzufügen.

Cloud Shell

  1. Erstellen Sie die Datei rule.yaml mit Ihrem bevorzugten Texteditor.

  2. Wenn Sie den Zugriff auf eine URL über das erforderliche Tag zulassen möchten, fügen Sie der Datei rule.yaml Folgendes 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: ALLOW
    

    Ersetzen Sie Folgendes:

    • RULE_NAME: Name dieser Regel
    • RULE_DESCRIPTION: Beschreibung der Regel
    • RULE_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 folgende sessionMatcher-Zeile hinzu:

    sessionMatcher: "source.matchTag('TAG_VALUE') && host() == 'example.com'"
    

    Ersetzen Sie TAG_VALUE durch 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.

  3. Importieren Sie die Regeln, die Sie mit dem Befehl gcloud network-security gateway-security-policies rules import erstellt 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 OK bestä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.

Nächste Schritte