In diesem Dokument finden Sie einen allgemeinen Überblick über den Access Context Manager-Dienst und seine Funktionen. Google Cloud -Organisationsadministratoren können mit Access Context Manager eine differenzierte, attributbasierte Zugriffssteuerung für Projekte und Ressourcen in Google Clouddefinieren. Als Administrator definieren Sie zuerst eine Zugriffsrichtlinie. Dies ist ein organisationsweiter Container für Zugriffsebenen und Dienstperimeter.
Zugriffsebenen beschreiben die Anforderungen, die Anfragen erfüllen müssen. Beispiele:
- Gerätetyp und Betriebssystem
- IP-Adresse
- Nutzeridentität
Dienstperimeter definieren Sandboxen von Ressourcen, die Daten innerhalb des Perimeters frei austauschen können, jedoch keine Daten außerhalb des Perimeters exportieren dürfen. Access Context Manager ist nicht für die Durchsetzung von Richtlinien zuständig. Access Context Manager dient vielmehr dazu, bestimmte Regeln oder Kontexte zu definieren. Die Richtlinie wird übergreifend an mehreren Punkten konfiguriert und durchgesetzt, wie zum Beispiel bei VPC Service Controls. Weitere Informationen zu diesen Diensten finden Sie in den jeweiligen Nutzeranleitungen.
Sie können Access Context Manager-Richtlinien für die folgenden Chrome Enterprise Premium-Lösungskomponenten konfigurieren und erzwingen:
Vorteile
Viele Unternehmen verlassen sich bei der Sicherung interner Ressourcen auf ein Perimetersicherheitsmodell, zum Beispiel auf Firewalls. Ein Perimeter-Sicherheitsmodell ist mit einem einzigen Ein- und Ausgangspunkt schwer bewacht. Alles, was sich außerhalb befindet, gilt als gefährlich. Alles, was sich innerhalb der Mauern befindet, gilt als vertrauenswürdig.
Firewalls und das Perimetersicherheitsmodell funktionieren gut, wenn Nutzer und Dienste präzise eingegrenzt werden können. Ist eine Belegschaft mobil, erhöht sich jedoch die Vielfalt der Geräte, zum Beispiel wenn Nutzer eigene Geräte (BYOD) und cloudbasierte Dienste verwenden. Dieses Szenario führt zu zusätzlichen Angriffsvektoren, die vom Perimetermodell nicht berücksichtigt werden. Daher ist der Perimeter nicht mehr nur der physische Standort des Unternehmens und was sich im Inneren befindet, kann nicht mehr als sicher angesehen werden.
Mit Access Context Manager können Sie die Größe des privilegierten Netzwerks reduzieren und zu einem Modell wechseln, bei dem Endpunkte keine Umgebungsberechtigung auf Netzwerkbasis haben. Stattdessen können Sie den Zugriff basierend auf dem Kontext der Anfrage gewähren, z. B. nach Gerätetyp, Nutzeridentität usw. und bei Bedarf weiterhin den Zugriff auf das Unternehmensnetzwerk prüfen.
Access Context Manager ist ein wesentlicher Bestandteil des BeyondCorp-Konzepts von Google. Weitere Informationen finden Sie unter BeyondCorp.
Zugriffsrichtlinien
Eine Zugriffsrichtlinie ist ein Container für alle Ihre Access Context Manager-Ressourcen, z. B. Zugriffsebenen und Dienstperimeter.
Sie können eine Zugriffsrichtlinie im Kontext einer Organisation erstellen und die Zugriffsrichtlinie auf Organisationsebene überall in Ihrer Organisation verwenden. Wenn Sie die Verwaltung einer Zugriffsrichtlinie delegieren möchten, können Sie eine Zugriffsrichtlinie für Bereiche erstellen und den Geltungsbereich der Richtlinie auf Ordner- oder Projektebene festlegen. Der delegierte Administrator, dem die Richtlinie mit Bereich zugewiesen ist, kann nur die Zugriffsrichtlinie mit Bereich und nicht die Zugriffsrichtlinie auf Organisationsebene verwalten.
Die Version einer Zugriffsrichtlinie wird mit einer etag
verwaltet.
Mit etag
können Sie Änderungen an Ihrer Zugriffsrichtlinie, z. B. Änderungen an Zugriffsebenen oder an einer bestimmten Version der Richtlinie vornehmen. Wenn Ihre Zugriffsrichtlinie von mehreren Quellen geändert wird, können Sie mithilfe des Felds etag
für das gcloud
-Befehlszeilentool und API-Aufrufe unbeabsichtigte Überschreibungen und Konflikte verhindern.
Informationen zum Erstellen von Zugriffsrichtlinien finden Sie unter Zugriffsrichtlinie erstellen.
Zugriffsebenen
Zugriffsebenen werden verwendet, um den Zugriff auf Ressourcen basierend auf Kontextinformationen über die Anfrage zu ermöglichen. Mithilfe von Zugriffsebenen können Sie Vertrauensebenen organisieren. Sie können beispielsweise eine Zugriffsebene mit dem Namen High_Level
erstellen, die Anfragen von einer kleinen Gruppe berechtigter Personen zulässt. Sie können auch eine allgemeinere Gruppe angeben, der Sie vertrauen möchten, z. B. einen IP-Bereich, für den Sie Anfragen zulassen möchten. In diesem Fall können Sie eine Zugriffsebene mit dem Namen Medium_Level
erstellen, um diese Anfragen zuzulassen.
Nachdem Sie Zugriffsebenen definiert haben, können Sie Erzwingungsdienste verwenden, um zu bestimmen, ob eine Anfrage berücksichtigt wird. Beispiel: Sie können festlegen, dass die meisten Ressourcen auf der Ebene „Medium_Trust
“ verfügbar sind, während bestimmte sensible Ressourcen die Ebene „High_Trust
“ erfordern. Diese Prüfungen werden zusätzlich zu den standardmäßigen IAM-Richtlinien angewendet.
Zugriffsebenen können angepasst werden. Die Zugriffsebenen High_Trust
und Medium_Trust
sind Beispiele. Sie können mehrere Zugriffsebenen als Teil einer Zugriffsrichtlinie angeben.
Access Context Manager bietet zwei Möglichkeiten zum Definieren von Zugriffsebenen:
Eine Basiszugriffsebene besteht aus einer Sammlung von Bedingungen, die zum Testen von Anfragen verwendet werden. Bedingungen können als Gruppe von Attributen definiert werden, die Sie testen möchten, z. B. Gerätetyp, IP-Adresse oder Nutzeridentität. Die Attribute werden entweder als AND-Vorgang (alle müssen wahr sein) oder als NOR-Vorgang (keines darf wahr sein) kombiniert, um zu bestimmen, ob die Bedingung erfüllt ist.
Benutzerdefinierte Zugriffsebenen werden mithilfe einer Teilmenge der Common Expression Language erstellt. Zusätzlich zum Anfragekontext für einfache Zugriffsebenen können Sie auch benutzerdefinierte Zugriffsebenen verwenden, um Anfragen basierend auf Daten von Drittanbieterdiensten zuzulassen. Weitere Informationen finden Sie unter Benutzerdefinierte Zugriffsebenen.
Wenn Sie Zugriffsebenen verschachteln und die gesamte Logik kombinieren, denken Sie daran, dass der andere Operand möglicherweise nicht ausgewertet wird, wenn einer der Operanden der booleschen Operatoren AND
(&&
) und OR
(||
) das Ergebnis eindeutig bestimmt. Wenn diese Auswertung einen Laufzeitfehler verursacht, wird er ignoriert. Im folgenden Ausdruck schlägt beispielsweise die Auswertung von origin.region_code
fehl, die Auswertung von levels.ip_check
ist jedoch erfolgreich.
Da mindestens eine der Prüfungen erfolgreich ist, wird die Gesamtbedingung, die durch OR
kombiniert wird, wahr und der Zugriff ist GRANTED
.
!(origin.region_code in ['RU', 'BY', 'UA']) -> FAILED // levels.regions_check
inIpRange(origin.ip, ['205.220.128.0/23']) -> GRANTED // levels.ip_check
!(origin.region_code in ['RU', 'BY', 'UA']) || inIpRange(origin.ip, ['205.220.128.0/23']) -> GRANTED
levels.regions_check || levels.ip_check -> GRANTED
IP-Adresse
Sie können eine Zugriffsebene basierend auf der IP-Adresse der ursprünglichen Anfrage gewähren. Der Bereich der zulässigen IP-Adressen wird in Form eines CIDR-Blocks (Classless Inter-Domain Routing) angegeben, der eine differenzierte Kontrolle über die zulässigen IP-Adressen ermöglicht.
Eine Zugriffsebene kann mehrere IP-Adressbereiche enthalten.
Im Dokument Zugriffsebene für Unternehmensnetzwerke erstellen erfahren Sie, wie Sie eine Zugriffsebene erstellen können, die nur den Zugriff auf einen bestimmten Bereich von IP-Adressen zulässt, z. B. auf die IP-Adressen innerhalb eines einzelnen Unternehmensnetzwerks.
Gerätetyp
Access Context Manager verwendet die Endpunktprüfung, um Informationen zu Nutzergeräten wie Betriebssystem, Gerätetyp oder Version zu erfassen. Sie können anhand dieser Daten eine Zugriffsebene gewähren. Sie können beispielsweise Geräten, auf denen die neueste Version des in Ihrem Unternehmen eingesetzten primären Betriebssystems ausgeführt wird, eine umfangreichere Zugriffsberechtigung gewähren.
Informationen dazu, wie Sie eine Zugriffsebene basierend auf solchen Geräteattributen gewähren, finden Sie unter Zugriff nach Gerätetyp beschränken.
Nutzeridentität
In einigen Szenarien möchten Sie möglicherweise nur bestimmten Entitäten eine Zugriffsebene gewähren. In diesen Fällen bestimmt die Identität des Aufrufers, ob die Bedingung erfüllt ist. Dieses Szenario wird häufig in Verbindung mit Dienstkonten und VPC Service Controls verwendet. Mit diesem Szenario können Sie beispielsweise einer Cloud Function den Zugriff auf Daten ermöglichen, die durch VPC Service Controls geschützt sind.
Rein identitätsbasierte Zugriffsebenen können mit dem gcloud
-Befehlszeilentool erstellt und verwaltet werden, nicht mit der Google Cloud -Konsole.
Informationen zum Erstellen einer einfachen Zugriffsebene finden Sie unter Zugriffsebene für Access Context Manager erstellen.
Informationen zum Erstellen einer Zugriffsebene, die den Zugriff basierend auf dem Kontext einer Anfrage ermöglicht, finden Sie unter Benutzerdefinierte Zugriffsebene erstellen.
Bedingungen kombinieren
Eine Zugriffsebene kann mehrere Bedingungen enthalten. Die Bedingungen können mit dem Operator AND
oder OR
ausgewertet werden. Sie können den Modus angeben, wenn Sie eine Zugriffsebene erstellen oder aktualisieren.
Die Auswertung mit AND
ist die strengere und standardmäßige Option. Sie gewährt die Zugriffsebene nur, wenn alle Bedingungen erfüllt sind. Beispielsweise können Sie festlegen, dass eine Anfrage aus dem Unternehmensnetzwerk und von einem Gerät kommen muss, auf dem die neueste Version eines Betriebssystems ausgeführt wird.
OR
ist eine weniger einschränkende Option. In diesem Fall muss für den Zugriff nur eine von vielen Bedingungen erfüllt sein. Dies kann bei der Konfiguration mit Nutzeridentitäten nützlich sein, zum Beispiel um bestimmte Entitäten (wie Dienstkonten) von den Standardanforderungen auszuschließen.
Bedingungen verschachteln
Bedingungen können verschachtelt werden, sodass eine Bedingung von einer anderen abhängt. Wenn Sie beispielsweise die zwei Zugriffsebenen „Mittel“ und „Hoch“ haben, können Sie für „Hoch“ festlegen, dass die Bedingungen für die Ebene „Mittel“ und weitere Bedingungen erfüllt sein müssen.
Verschachtelte Bedingungen können die Verwaltung der Zugriffsebenen erleichtern. Sie können zum Beispiel festlegen, dass Ihre moderateste Zugriffsebene eine Mindestversion des Betriebssystems verlangt und dass die stärker einschränkenden Ebenen davon abhängig sind. Wenn Sie die Mindestversion in Zukunft aktualisieren, müssen Sie nur eine Bedingung und nicht jede Zugriffsebene in der Richtlinie einzeln aktualisieren.
Weitere Informationen
- Kurzanleitung: Zugriffsebene für Access Context Manager erstellen
- Einfache Zugriffsebene erstellen
- Benutzerdefinierte Zugriffsebene erstellen
- YAML-Beispiel für eine Zugriffsebene