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:
- Clientseitige Browsereinstellungen leiten den Anwendungs-Traffic über einen sicheren Gateway-Proxy weiter.
- Das sichere Gateway prüft kontextsensitiven Zugriffsrichtlinien, um den Clientzugriff (Nutzer und Gerät) zu autorisieren.
- Wenn der Clientzugriff 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. Diese zugewiesenen IP-Adressen sind ausschließlich für das von Ihnen erstellte Gateway reserviert und können nicht von anderen Nutzern oder Gateways verwendet werden. Um den Zugriff zu steuern, können Sie diese dedizierten Quell-IP-Adressen einer Zulassungsliste in Ihrer SaaS-Anwendung hinzufügen.
Hinweise
Bevor Sie das sichere Gateway einrichten, müssen Sie Folgendes erledigt haben:
- Eine Chrome Enterprise Premium-Lizenz
- Zugriff auf die 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), die dem Administrator zugewiesen wird, 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 das Secure Gateway 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, z. B.github
. Der Name darf bis zu 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 kann bis zu 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
Gateway-Parameter sichern
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 kann bis zu 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 Nutzer lesbare Name des sicheren Gateways. Der Name darf maximal 63 Zeichen lang sein und darf nur 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 werden ein dediziertes Projekt und Netzwerk zugewiesen, die für Isolation und Sicherheit sorgen.
Verwenden Sie eine der folgenden Methoden, um eine Secure Gateway-Ressource zu erstellen.
gcloud
Führen Sie den folgenden Befehl aus: Geben Sie für das Flag --hubs
eine oder mehrere Regionen aus der folgenden Liste an.
gcloud beta beyondcorp security-gateways create ${SECURITY_GATEWAY_ID} \
--project=${PROJECT_ID} \
--location=global \
--display-name="MY_SECURITY_GATEWAY_DISPLAY_NAME
" \
--hubs=us-central1
REST
Rufen Sie die Create API-Methode mit den Gateway-Details im Anfragetext auf. Geben Sie für das hubs
-Objekt eine oder mehrere Regionen aus der folgenden Liste an.
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-X POST \
-d '{ "display_name": "MY_SECURITY_GATEWAY_DISPLAY_NAME
", "hubs": { "us-central1": {} } }' \
"https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways?security_gateway_id=${SECURITY_GATEWAY_ID}"
Die hubs
stellt die regionalen Ressourcen dar, die für die Aktivierung der Egress-Konnektivität zur Zielanwendung erforderlich sind. Sie können einen Hub für jede Region haben. Jeder Hub stellt zwei IP-Adressen zur Verfügung. 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
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.
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.
gcloud
gcloud beta beyondcorp security-gateways describe ${SECURITY_GATEWAY_ID} \ --project=${PROJECT_ID} \ --location=global
REST
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}"
Hier sehen Sie ein Beispiel für eine
GET
-Antwort eines sicheren Gateways mithubs
. Im Beispiel werdenhubs
in den Regionenus-central1
undus-east1
erstellt. Alle in der Antwort zurückgegebenen IP-Adressen müssen in der SaaS-Anwendung zugelassen werden.gcloud
createTime: 'CREATE_TIME' displayName: My security gateway hubs: us-central1: internetGateway: assignedIps: - IP_ADDRESS_1 - IP_ADDRESS_2 us-east1: internetGateway: assignedIps: - IP_ADDRESS_1 - IP_ADDRESS_2 name: projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID} state: RUNNING updateTime: 'UPDATE_TIME'
REST
{ "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", ] } }, "us-east1": { "internetGateway": { "assignedIps": [ "IP_ADDRESS_1", "IP_ADDRESS_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 Ressource für die Secure Gateway-Anwendung in Google Cloud.
Die Anwendungsressource Google Cloud ist eine Unterressource der Secure Gateway-Ressource. Erstellen Sie eine Anwendungsressource, indem Sie die Create
API aufrufen.
gcloud
gcloud beta beyondcorp security-gateways applications create ${APPLICATION_ID} \ --project=${PROJECT_ID} \ --security-gateway=${SECURITY_GATEWAY_ID} \ --location=global \ --display-name="${APPLICATION_DISPLAY_NAME}" \ --endpoint-matchers="hostname=${HOST_NAME},ports=[443]"
REST
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}\", ports: [443]}] }" \ "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 leiten möchten, konfigurieren Sie Chrome, indem Sie in den Chrome-Einstellungen in der Admin-Konsole eine PAC-Datei anwenden.
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.
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.
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
aufno-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.Kopieren Sie die öffentliche URL der hochgeladenen Datei.
Proxy-Moduseinstellungen aktualisieren
- Rufen Sie die Admin-Konsole auf.
- Klicken Sie auf Geräte > Chrome > Einstellungen.
- Wählen Sie eine Organisationseinheit oder Gruppe aus und klicken Sie dann auf Proxymodus.
- 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 anwenden, um den Zugriff entweder auf der Ebene des sicheren Gateways zu steuern, was sich auf alle zugehörigen Anwendungen auswirkt, oder auf der Ebene der einzelnen Anwendungen, um eine detailliertere Steuerung zu ermöglichen.
Zugriffsrichtlinie sicher aktualisieren
Mit dem Befehl setIamPolicy
wird die gesamte vorhandene Richtlinie durch die von Ihnen angegebene Richtlinie ersetzt. Um zu vermeiden, dass vorhandene Berechtigungen versehentlich entfernt werden, empfehlen wir, dem Muster „Lesen-Ändern-Schreiben“ zu folgen. So wird sichergestellt, dass Sie die vorhandene Richtlinie nur ergänzen und nicht überschreiben.
Lesen: Rufen Sie zuerst die aktuelle Zugriffsrichtlinie ab.
Ändern: Bearbeiten Sie die Richtliniendatei lokal, um Berechtigungen hinzuzufügen oder zu ändern.
Schreiben: Wenden Sie die aktualisierte Richtliniendatei an.
Aktuelle Richtlinie abrufen
Rufen Sie die aktuelle Richtlinie ab, bevor Sie Änderungen vornehmen.
Das Feld etag
in der Richtlinie dient als Versions-ID. Sie verhindert Konflikte, wenn mehrere Administratoren gleichzeitig Änderungen vornehmen.
Mit dem folgenden Befehl wird die Richtlinie abgerufen und in einer Datei mit dem Namen policy.json
gespeichert.
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}/applications/${APPLICATION_ID}:getIamPolicy" > policy.json
Nachdem Sie den Befehl ausgeführt haben, wird eine policy.json
-Datei mit der aktuellen Richtlinie erstellt.
Richtliniendatei ändern
Öffnen Sie die Datei policy.json
in einem Texteditor. Wenn Sie einer Gruppe Zugriff auf das sichere Gateway gewähren möchten, fügen Sie die Gruppe der Liste members
für die Rolle roles/beyondcorp.securityGatewayUser
hinzu.
Ihr policy.json
sollte in etwa so aussehen:
{
"policy": {
"version": 3,
"bindings": [
{
"role": "roles/beyondcorp.securityGatewayUser",
"members": [
"group:existing-group@example.com"
]
}
],
"etag": "BwXN8_d-bOM="
}
}
Wenn Sie eine neue Gruppe hinzufügen möchten, fügen Sie dem Array members
einen neuen Eintrag hinzu. Setzen Sie nach dem vorherigen Eintrag ein Komma.
Im folgenden Beispiel wird new-group@example.com
hinzugefügt:
{
"policy": {
"version": 3,
"bindings": [
{
"role": "roles/beyondcorp.securityGatewayUser",
"members": [
"group:existing-group@example.com",
"group:new-group@example.com"
]
}
],
"etag": "BwXN8_d-bOM="
}
}
Sie können auch andere Arten von Mitgliedern wie serviceAccount
, user
, group
, principal
und principalSet
in Richtlinienbindungen hinzufügen. Weitere Informationen finden Sie unter IAM-Hauptkonten.
Aktualisierte Richtlinie anwenden
Nachdem Sie die policy.json
-Datei bearbeitet und gespeichert haben, wenden Sie sie mit dem Befehl setIamPolicy
auf die Ressource an. Dieser Befehl verwendet die etag
aus Ihrer Datei, um sicherzustellen, dass Sie die richtige Version aktualisieren.
jq '{policy: .}' policy.json | curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d @- \ "https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}/applications/${APPLICATION_ID}:setIamPolicy"
Richtlinie für bedingten Zugriff hinzufügen
Sie können auch Zugriffsrichtlinien mit Bedingungen festlegen. Bedingungen geben Anforderungen an, z. B. dass die IP-Adresse eines Nutzers von einem bestimmten Standort stammt.
Das folgende Beispiel zeigt eine Richtlinie, die nur dann Zugriff gewährt, wenn die Quell-IP-Adresse innerhalb einer angegebenen Zugriffsebene liegt:
{
"policy": {
"version": 3,
"bindings": [
{
"role": "roles/beyondcorp.securityGatewayUser",
"members": [
"group:group@example.com"
],
"condition": {
"expression": "request.auth.access_levels.contains('accessPolicies/1234567890/accessLevels/in_us')",
"title": "Source IP must be in US"
}
}
],
"etag": "BwXN8_d-bOM="
}
}
Folgen Sie dazu der Anleitung oben.
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.
- Rufen Sie die Admin-Konsole auf.
- Klicken Sie auf Chrome-Browser > Apps und Erweiterungen.
- Klicken Sie auf den Tab Nutzer und Browser.
- Klicken Sie zum Hinzufügen einer Chrome-Erweiterung auf die Schaltfläche +.
- Suchen Sie nach
ekajlcmdfcigmdbphhifahdfjbkciflj
und erzwingen Sie dann die Installation für alle Nutzer in der Organisationseinheit oder Gruppe. 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.