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 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 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 segment=production Tag stammt, kann auf eine bestimmte Gruppe von URLs zugreifen.“

Diese Seite enthält Anleitungen für Folgendes:

Hinweise

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

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

    Zu den SWP-Richtlinien

  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 Datei policy.yaml.

  2. Fügen Sie der erstellten Datei policy.yaml 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 Ihrer Richtlinie

    • POLICY_DESCRIPTION: Beschreibung Ihrer Richtlinie

  3. Importieren Sie die Sicherheitsrichtlinie mit dem gcloud network-security gateway-security-policies import Befehl:

    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 den Web-Proxys

  2. Klicken Sie auf Sicheren Web-Proxy erstellen.

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

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

  5. Wählen Sie unter Routingmodus die Option Explizit aus.

  6. Wählen Sie unter Regionen die Region aus, in der Sie den Web-Proxy erstellen möchten, z. B. us-central1.

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

  8. Wählen Sie unter Subnetzwerk das VPC-Subnetz aus, das Sie zuvor im Rahmen der ersten Einrichtungsschritteerstellt haben.

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

  10. Wählen Sie unter Zertifikat das Zertifikat aus, mit dem Sie den Web-Proxy erstellen 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
    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 zuvor im Rahmen der ersten Einrichtungsschritte erstellt haben

    • GATEWAY_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 haben

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

  3. Erstellen Sie die Secure Web Proxy-Instanz mit dem gcloud network-services gateways import Befehl:

    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 allow Regeln in den nächsten Abschnitten 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: Schritte:

    1. Erstellen Sie den Tag-Schlüssel (access-level) mit dem gcloud resource-manager tags keys create Befehl und legen Sie den Zweck auf GCE_FIREWALL fest.

    2. Rufen Sie die Tag-Schlüssel-ID entweder aus der Ausgabe des Erstellungs befehls oder mit dem gcloud resource-manager tags keys list Befehl 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 gcloud resource-manager tags values create Befehl 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"
    
  2. Tags an VM-Instanzen anhängen

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

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

    Zu den SWP-Richtlinien

  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 unter Aktion eine der folgenden Optionen aus:

      • Zulassen: Verbindungsanfragen zulassen, die der Regel entsprechen.
      • Ablehnen: Verbindungsanfragen ablehnen, die der Regel entsprechen.
    5. 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.
    6. 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.

    7. Geben Sie im Abschnitt Anwendungsübereinstimmung die Kriterien für die Übereinstimmung der Anfrage an.

    8. Klicken Sie auf Regel hinzufügen.

Cloud Shell

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

  2. Fügen Sie der Datei rule.yaml Folgendes 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: 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 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 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 erstellten Regeln mit dem gcloud network-security gateway-security-policies rules import Befehl:

    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 OK Statuscode 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 Forbidden bestä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.

Nächste Schritte