Sicherer Zugriff auf SaaS-Anwendungen

Auf dieser Seite wird beschrieben, wie Sie Ihre SaaS-Anwendungen über das sichere Gateway von Chrome Enterprise Premium schützen.

Ein sicheres Gateway von Chrome Enterprise Premium fungiert als Forward-Proxy, der ein Zero-Trust-Zugriffsframework erzwingt und eine detaillierte, kontextsensitive Kontrolle darüber ermöglicht, wer auf Ihre SaaS-Anwendungen zugreift.

So funktioniert die Sicherung des Zugriffs auf SaaS-Anwendungen

Im Folgenden finden Sie eine allgemeine Übersicht darüber, wie ein sicheres Gateway Ihre SaaS-Anwendungen schützt:

  1. Clientseitige Browsereinstellungen leiten Anwendungs-Traffic über einen sicheren Gateway-Proxy weiter.
  2. Das sichere Gateway prüft Richtlinien für den kontextsensitiven Zugriff, um den Clientzugriff (Nutzer und Gerät) zu autorisieren.
  3. Wenn dies zulässig ist, leitet das Gateway Traffic an die Anwendung weiter. Dabei werden eindeutige Quell-IP-Adressen verwendet, die diesem Gateway und der Google Cloud -Region zugewiesen sind. Sie können diese dedizierten Quell-IP-Adressen verwenden, um Regeln für IP-Zulassungslisten zu implementieren.

Hinweise

Prüfen Sie vor der Einrichtung des sicheren Gateways, ob Folgendes vorhanden ist:

  • Eine Chrome Enterprise Premium-Lizenz
  • Zugriff auf die Google Admin-Konsole mit einem Administratorkonto
  • Ein Google Cloud -Projekt mit einem zugewiesenen Rechnungskonto und der folgenden aktivierten API: BeyondCorp API
  • Die folgende IAM-Rolle (Identity and Access Management) wird dem Administrator gewährt, der die Einrichtung vornimmt: Projektebene: Cloud BeyondCorp-Administrator (beyondcorp.admin).

  • Eine SaaS-Anwendung, die Sie schützen möchten. Die Anwendung muss IP allowlisting unterstützen, damit Sicherheitsprüfungen durch die Google-Infrastruktur erzwungen werden können.

Beschränkungen

Für ein sicheres Chrome Enterprise Premium-Gateway gilt die folgende Einschränkung: Ein sicheres Gateway unterstützt keine SaaS-Anwendungen, die nur IPv6-Verbindungen zulassen.

Shell-Umgebung einrichten

Um die Einrichtung zu vereinfachen und mit den Secure Gateway-APIs zu interagieren, definieren Sie die folgenden Umgebungsvariablen in Ihrer Arbeits-Shell.

  • Allgemeine Parameter

    API="beyondcorp.googleapis.com"
    API_VERSION=v1
    PROJECT_ID=MY_PROJECT_ID
    APPLICATION_ID=MY_APPLICATION_ID
    APPLICATION_DISPLAY_NAME="MY_APPLICATION_DISPLAY_NAME"
    HOST_NAME=MY_HOST_NAME
    

    Ersetzen Sie Folgendes:

    • MY_PROJECT_ID: Die ID des Projekts, in dem das sichere Gateway erstellt wird.
    • MY_APPLICATION_ID: Die ID Ihrer Anwendung. Beispiel: github Der Name darf maximal 63 Zeichen lang sein und Kleinbuchstaben, Ziffern und Bindestriche enthalten. Das erste Zeichen muss ein Buchstabe sein und das letzte Zeichen kann ein Buchstabe oder eine Ziffer sein.
    • MY_APPLICATION_DISPLAY_NAME: Der für Menschen lesbare Name, der angezeigt werden soll.
    • MY_HOST_NAME: Der Hostname Ihrer Anwendung. Beispiel: github.com Der Hostname darf maximal 253 Zeichen lang sein und muss eines der folgenden Formate haben:

      • Eine gültige IPv4-Adresse
      • Eine gültige IPv6-Adresse
      • Ein gültiger DNS-Name
      • Ein Sternchen (*)
      • Ein Sternchen (*) gefolgt von einem gültigen DNS-Namen
  • Sichere Gateway-Parameter

    SECURITY_GATEWAY_ID=MY_SECURITY_GATEWAY_ID
    SECURITY_GATEWAY_DISPLAY_NAME="MY_SECURITY_GATEWAY_DISPLAY_NAME"
    

    Ersetzen Sie Folgendes:

    • MY_SECURITY_GATEWAY_ID: Die ID des sicheren Gateways. Die ID darf maximal 63 Zeichen lang sein und Kleinbuchstaben, Ziffern und Bindestriche enthalten. Das erste Zeichen muss ein Buchstabe sein und das letzte Zeichen kann ein Buchstabe oder eine Ziffer sein.
    • MY_SECURITY_GATEWAY_DISPLAY_NAME: Der für Menschen lesbare Name des sicheren Gateways. Der Name kann bis zu 63 Zeichen lang sein und druckbare Zeichen enthalten.

Sicheres Gateway erstellen

Ein sicheres Gateway für Chrome Enterprise Premium ist ein grundlegender Baustein für die Herstellung sicherer Verbindungen zu Ihren Anwendungen. Dabei wird ein dediziertes Projekt und Netzwerk zugewiesen, was für Isolation und Sicherheit sorgt.

Führen Sie die folgenden Schritte aus, um ein sicheres Gateway zu erstellen.

  1. Erstellen Sie eine Datei mit dem Namen securityGateway.json und folgendem Inhalt.

    {
       "display_name": "MY_SECURITY_GATEWAY_DISPLAY_NAME",
       "hubs": { "us-central1": {} }
    }
    

    Im Beispiel steht hubs für die regionalen Ressourcen, die zum Aktivieren der Egress-Verbindung zur Zielanwendung erforderlich sind. Sie können einen Hub für eine Region haben und jeder Hub stellt zwei IP-Adressen bereit.

    Sie können die folgenden Regionen angeben:

    • africa-south1
    • asia-east1
    • asia-south1
    • asia-south2
    • asia-southeast1
    • europe-central2
    • europe-north1
    • europe-southwest1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
    • europe-west8
    • europe-west9
    • northamerica-northeast1
    • northamerica-northeast2
    • northamerica-south1
    • southamerica-east1
    • southamerica-west1
    • us-central1
    • us-east1
    • us-east4
    • us-east5
    • us-west1
  2. Erstellen Sie eine sichere Gateway-Ressource, indem Sie die Create-API aufrufen.

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -X POST \
    -d @securityGateway.json \
    "https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways?security_gateway_id=${SECURITY_GATEWAY_ID}"
    

SaaS-Anwendung konfigurieren

Nachdem Sie ein sicheres Gateway erstellt haben, können Sie Ihre SaaS-Anwendungen so konfigurieren, dass sie das sichere Gateway für den sicheren Zugriff verwenden.

  1. Rufen Sie die IP-Adressen ab, die vom sicheren Gateway für jeden Hub zugewiesen wurden. Für eine Region werden zwei IP-Adressen zugewiesen.

    curl \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
    "https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}"
    

    Im Folgenden finden Sie ein Beispiel für eine GET-Antwort eines sicheren Gateways mit Hubs. In diesem Beispiel werden die Hubs in den Regionen us-central1 und us-east1 erstellt. Alle in der Antwort zurückgegebenen IP-Adressen sollten in der SaaS-Anwendung zugelassen werden.

    {
     "securityGateways": [
       {
         "name": "projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}",
         "createTime": "CREATE_TIME",
         "updateTime": "UPDATE_TIME",
         "displayName": "My security gateway",
         "state": "RUNNING",
         "hubs": {
           "us-central1": {
             "internetGateway": {
               "assignedIps": [
                 "IP_ADDRESS_1",
                 "IP_ADDRESS_2",
                 "IP_ADDRESS_3",
                 "IP_ADDRESS_4",
                 "IP_ADDRESS_5"
               ]
             }
           },
           "us-east1": {
             "internetGateway": {
               "assignedIps": [
                 "IP_ADDRESS_1",
                 "IP_ADDRESS_2",
                 "IP_ADDRESS_3",
                 "IP_ADDRESS_4",
                 "IP_ADDRESS_5"
               ]
             }
           }
         }
       }
     ]
    }
    
  2. Fügen Sie die IP-Adressen der IP-Zulassungsliste Ihrer SaaS-Anwendung hinzu. Für eine GitHub-Anwendung können Sie beispielsweise dieser Anleitung folgen: Zulässige IP-Adressen für Ihre Organisation verwalten.

Anwendungsressource erstellen

Die folgenden Informationen führen Sie durch die Einrichtung und Konfiguration einer sicheren Gateway-Anwendungsressource.

Erstellen Sie eine sichere Gateway-Anwendungsressource in Google Cloud.

Die Anwendungsressource Google Cloud ist eine Unterressource der Ressource für das sichere Gateway. Erstellen Sie eine Anwendungsressource, indem Sie die Create API aufrufen.

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-X POST \
-d "{ \"display_name\": \"${APPLICATION_DISPLAY_NAME}\", \"endpoint_matchers\": [{hostname: \"${HOST_NAME}\"}] }" \
"https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}/applications?application_id=${APPLICATION_ID}"

Google Chrome-Proxymodus konfigurieren

Wenn Sie den Traffic für die Anwendungsressource über das sichere Gateway weiterleiten möchten, konfigurieren Sie Chrome, indem Sie eine PAC-Datei in den Chrome-Einstellungen in der Google Admin-Konsole anwenden.

  1. Erstellen oder aktualisieren Sie eine PAC-Datei.

    • Wenn Sie Ihre erste Anwendung erstellen, erstellen Sie eine pac_config.js-Datei mit der folgenden Beispiel-PAC-Datei.

    • Wenn Sie eine zweite oder weitere Anwendung erstellen, aktualisieren Sie Ihre vorhandene pac_config.js-Datei und fügen Sie die Domains Ihrer neuen Anwendung dem Array „sites“ hinzu, wie im folgenden Beispiel für eine PAC-Datei gezeigt.

    function FindProxyForURL(url, host) {
     const PROXY = "HTTPS ingress.cloudproxy.app:443";
     const sites = ["MY_HOST_NAME"];
    
     for (const site of sites) {
       if (shExpMatch(url, 'https://' + site + '/*') || shExpMatch(url, '*.' + site + '/*')) {
         return PROXY;
       }
     }
    return 'DIRECT';
    }
    

    Wenn Sie eine vorhandene PAC-Datei verwenden, die nicht speziell für ein sicheres Gateway ist, führen Sie die PAC-Dateien zusammen, indem Sie die Domains Ihrer Anwendung dem Array „sites“ hinzufügen.

  2. Laden Sie die Datei so hoch, dass sie öffentlich heruntergeladen werden kann. Sie können die Datei beispielsweise in Cloud Storage hochladen und sie öffentlich herunterladbar machen, indem Sie allen Nutzern die Rolle Storage Object User für den Bucket zuweisen.

  3. Wenn Sie dafür sorgen möchten, dass die hochgeladene Datei immer die neueste Version ist, können Sie das Caching-Verhalten anpassen, indem Sie den Header Cache-Control auf no-cache festlegen. Diese Einstellung verhindert, dass Browser und Zwischenserver eine Kopie der Datei speichern, sodass Chrome immer die aktuelle Version herunterlädt.

    Weitere Informationen zu Cache-Control und den Auswirkungen auf das Browser-Caching finden Sie unter Cache-Control-Header.

  4. Kopieren Sie die öffentliche URL der hochgeladenen Datei.

Proxy-Modus-Einstellungen aktualisieren

  1. Rufen Sie die Google Admin-Konsole auf.
  2. Klicken Sie auf Geräte > Chrome > Einstellungen.
  3. Wählen Sie eine Organisationseinheit oder Gruppe aus und klicken Sie dann auf Proxymodus.
  4. Wählen Sie auf der Seite „Proxymodus“ die Option Für den Proxyserver immer die unten angegebene automatische Konfiguration verwenden aus und geben Sie die URL der PAC-Datei aus Cloud Storage ein.

Zugriffsrichtlinie konfigurieren

Sie können eine Zugriffsrichtlinie auf Ebene des sicheren Gateways oder der Anwendung anwenden:

  • Sichere Gateway-Ressource:Wenden Sie eine Richtlinie auf der Ebene des sicheren Gateways an, um den Zugriff auf alle zugehörigen Anwendungen zu steuern.
  • Einzelne Anwendung:Für eine detailliertere Steuerung können Sie eine Zugriffsrichtlinie auf eine einzelne Anwendung anwenden.
  1. Erstellen Sie eine Datei im JSON-Format mit dem Namen setIamPolicy.json und fügen Sie Folgendes hinzu.

    {
     "policy": {
       object (POLICY)
     }
    }
    

    Ersetzen Sie POLICY durch eine IAM-Zulassungsrichtlinie. Die etag in der Richtlinie muss mit der etag in der aktiven Richtlinie übereinstimmen. Sie können sie abrufen, indem Sie die Methode getIamPolicy aufrufen.

  2. Wenn Sie einer bestimmten Gruppe die Verwendung des sicheren Gateways erlauben möchten, weisen Sie der Gruppe die Rolle roles/beyondcorp.securityGatewayUser zu.

    {
     "policy": {
       "version": 3,
       "bindings": [
         {
           "role": "roles/beyondcorp.securityGatewayUser",
           "members": [
                   "group:"
           ]
         }
       ],
       "etag": "AA1jlb"
     }
    }
    

    Weitere Kennungen wie serviceAccount, user, group, principal und principalSet in Richtlinienbindungen finden Sie unter IAM-Hauptkonto.

  3. Erzwingen Sie die Zugriffsrichtlinie für das in der JSON-Datei angegebene sichere Gateway, indem Sie die setIamPolicy API aufrufen.

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -X POST \
    -d @setIamPolicy.json \
    "https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}:setIamPolicy"
    

    Verwenden Sie den folgenden Befehl, um die Zugriffsrichtlinie für eine Anwendung zu erzwingen:

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -X POST \
    -d @setIamPolicy.json \
    "https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}/applications/${APPLICATION_ID}:setIamPolicy"
    

Sie können auch Zugriffsrichtlinien mit Zugriffsebenen als Bedingung festlegen, wie im folgenden Beispiel gezeigt.

{
  "policy": {
    "version": 3,
    "bindings": [
      {
        "role": "roles/beyondcorp.securityGatewayUser",
        "members": [
                "group:"
        ],
        "condition": {
                "expression": "'accessPolicies/1234567890/accessLevels/in_us' in request.auth.access_levels",
                "title": "Source IP must be in US"
        }
      }
    ],
    "etag": "A1jlb"
  }
}'

Chrome Enterprise Premium-Erweiterung installieren

Die Chrome Enterprise Premium-Erweiterung ist ein integraler Bestandteil eines sicheren Gateways und unterstützt die Authentifizierung. Installieren Sie die Erweiterung für alle Nutzer des sicheren Gateways. Informationen zum Bereitstellen der Erweiterung finden Sie unter Apps und Erweiterungen ansehen und festlegen.

  1. Rufen Sie die Google Admin-Konsole auf.
  2. Klicken Sie auf Chrome-Browser > Apps und Erweiterungen.
  3. Klicken Sie auf den Tab Nutzer und Browser.
  4. Klicken Sie zum Hinzufügen einer Chrome-Erweiterung auf die Schaltfläche +.
  5. Suchen Sie nach ekajlcmdfcigmdbphhifahdfjbkciflj und erzwingen Sie dann die Installation für alle Nutzer in der Organisationseinheit oder Gruppe.
  6. Klicken Sie auf die installierte Erweiterung, rufen Sie das Feld Richtlinie für Erweiterungen auf und geben Sie den folgenden JSON-Wert an:

    {
     "securityGateway": {
       "Value": {
         "authentication": {},
         "context": { "resource": "projects/MY_PROJECT_ID/locations/global/securityGateways/MY_SECURITY_GATEWAY_ID" }
       }
     }
    }
    

Nutzererfahrung

Nach Abschluss der Einrichtung wird Endnutzern, die auf die geschützte SaaS-Anwendung zugreifen, der Zugriff basierend auf der auf die Anwendung angewendeten Zugriffsrichtlinie gewährt oder verweigert.

Auf die Anwendung in Chrome zugreifen

Die Chrome Enterprise Premium-Erweiterung ist erforderlich, um den Traffic über das sichere Gateway zu leiten. Die Erweiterung übernimmt die Authentifizierung zwischen dem Nutzer und dem sicheren Gateway. Die Erweiterung wird automatisch über die Domainrichtlinie installiert.

Wenn Nutzer auf die von Ihnen konfigurierte SaaS-Anwendung zugreifen, wird ihr Traffic über das sichere Gateway geleitet, das prüft, ob sie die Zugriffsrichtlinie erfüllen. Wenn die Nutzer die Prüfungen der Zugriffsrichtlinie bestehen, erhalten sie Zugriff auf die Anwendung.

Wenn der Browserzugriff auf die Anwendung durch die Autorisierungsrichtlinie abgelehnt wird, erhalten Nutzer eine Access denied-Meldung.

Nächste Schritte