Richtlinien mit Dienstkonten erstellen

Ein Dienstkonto ist eine spezielle Art von Konto, das normalerweise von einer Anwendung oder einer Compute-Arbeitslast verwendet wird, z. B. eine Compute Engine-Instanz und keine Person. Dieses Konto wird durch seine E-Mail-Adresse identifiziert, die für das Konto eindeutig ist.

Anwendungen verwenden Dienstkonten für autorisierte API-Aufrufe, die als Dienstkonto selbst oder als Google Workspace- oder Cloud Identity-Nutzer mithilfe domainweiter Delegation authentifiziert werden. Wenn sich eine Anwendung als Dienstkonto authentifiziert, hat sie Zugriff auf alle Ressourcen, auf die das Dienstkonto Zugriff hat.

Sie können ein Dienstkonto verwenden, um die Trafficquelle zu identifizieren und bei Bedarf Secure Web Proxy-Richtlinien zu konfigurieren.

Diese Seite enthält Anleitungen für Folgendes:

  • Erstellen Sie eine Secure Web Proxy-Instanz mit einer leeren Richtlinie.
  • Dienstkonten erstellen und an Ressourcen anhängen
  • Verwenden Sie Dienstkonten, um eine Secure Web Proxy-Richtlinie zu erstellen.
  • Erstellen Sie eine Secure Web Proxy-Instanz.
  • Verbindung von Ihren VMs testen

Hinweise

  • Führen Sie die Schritte zur Ersteinrichtung aus.

  • Ein Organisationsadministrator muss Zugriff auf ein Dienstkonto gewähren.

  • Prüfen Sie, ob die Google Cloud CLI-Version 406.0.0 oder höher installiert ist:

    gcloud version | head -n1
    

    Wenn 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

  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 von Ihnen 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 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 die Option Explizit aus.

  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 zuvor im Rahmen 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 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 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 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.

Dienstkonten erstellen und an Ressourcen anhängen

So erstellen und verknüpfen Sie Dienstkonten:

  1. Dienstkonten erstellen

  2. Dienstkonten an Ressourcen anhängen

Secure Web Proxy-Regeln erstellen

So erstellen Sie Regeln für den sicheren Web-Proxy:

  1. Erstellen Sie mit Ihrem bevorzugten Texteditor eine Datei mit dem Namen RULE_FILE.yaml. Ersetzen Sie RULE_FILE durch den ausgewählten Dateinamen.

  2. Wenn Sie den Zugriff auf eine URL über das ausgewählte Dienstkonto zulassen möchten, fügen Sie der YAML-Datei 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: ein Name für diese Regel
    • RULE_DESCRIPTION: Eine Beschreibung der Regel, die Sie erstellen.
    • RULE_PRIORITY: die Priorität für diese 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 die Ressource mit dem gewünschten Dienstkonto zulassen möchten, fügen Sie der YAML-Datei, die Sie für sessionMatcher erstellt haben, Folgendes hinzu:

      sessionMatcher: "source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'example.com'"
      

      Ersetzen Sie SERVICE_ACCOUNT durch das Dienstkonto, das Sie zulassen möchten. Dies muss die E-Mail-Adresse des Dienstkontos sein.

  3. Importieren Sie die von Ihnen erstellten Regeln:

    gcloud network-security gateway-security-policies rules import RULE_NAME \
       --source=RULE_FILE.yaml \
       --location=REGION \
       --gateway-security-policy=POLICY_NAME
    

Verbindung testen

Verwenden Sie zum Testen der Verbindung den Befehl curl von der Ressource mit dem angehängten SERVICE_ACCOUNT:

curl -x https://IPv4_ADDRESS:443 http://example.com 
--proxy-insecure

Ersetzen Sie IPv4_ADDRESS durch die IPv4-Adresse Ihrer Secure Web Proxy-Instanz.

Nächste Schritte