Access Context Manager – Übersicht

Mit Access Context Manager können Google Cloud-Organisationsadministratoren eine differenzierte, attributbasierte Zugriffssteuerung für Projekte und Ressourcen in Google Cloud definieren.

Administratoren definieren zuerst eine Zugriffsrichtlinie, bei der es sich um einen organisationsweiten Container für Zugriffsebenen und Dienstperimeter handelt.

Zugriffsebenen beschreiben die Anforderungen, die erfüllt werden müssen. Hier einige 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. Sein Zweck besteht darin, die gewünschten Regeln zu beschreiben. 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 Komponenten der BeyondCorp Enterprise-Lösung konfigurieren und erzwingen:

Warum Access Context Manager?

Viele Unternehmen verlassen sich bei der Sicherung interner Ressourcen auf ein Perimetersicherheitsmodell, zum Beispiel auf Firewalls. Dieses Modell ähnelt einer mittelalterlichen Burg. Es ist wie eine Festung mit dicken Mauern, umgeben von einem Wassergraben und mit einem schwer bewachten einzigen Ein- und Ausgangspunkt. Alles, was sich außerhalb der Mauern 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. Der Perimeter ist nicht mehr nur der physische Standort des Unternehmens und das, was sich darin befindet, kann nicht 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. Um die Verwaltung einer Zugriffsrichtlinie zu delegieren, können Sie eine eingeschränkte Zugriffsrichtlinie erstellen und den Geltungsbereich der Richtlinie auf Ordner- oder Projektebene festlegen. Der delegierte Administrator, dem die beschränkte Richtlinie zugewiesen ist, kann nur die Richtlinie für den eingeschränkten Zugriff verwalten, nicht die auf Organisationsebene.

Die Version einer Zugriffsrichtlinie wird mit einer etag verwaltet. Mit etag können Sie Änderungen an Ihrer Zugriffsrichtlinie, z. B. Änderungen an Zugriffsebenen, auf eine bestimmte Version der Richtlinie ausrichten. Wenn Ihre Zugriffsrichtlinie durch mehrere Quellen geändert wird, können Sie mit dem Feld etag für das gcloud-Befehlszeilentool und API-Aufrufe dafür sorgen, dass es nicht zu unbeabsichtigten Überschreibungen und Konflikten kommt.

Informationen zum Erstellen von Zugriffsrichtlinien finden Sie unter Zugriffsrichtlinien 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 zur IAM-Standardrichtlinie 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: einfache und benutzerdefinierte.

Eine Basiszugriffsebene ist eine Sammlung von Bedingungen, die zum Testen von Anfragen verwendet werden. Bedingungen sind eine Gruppe von Attributen, 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 (keiner muss wahr sein) kombiniert werden, um festzustellen, 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.

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 einfache und dennoch 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 Unternehmensnetzwerks).

Gerätetyp

Access Context Manager verwendet die Endpunktprüfung zur Erfassung von Nutzergerätedaten wie Typ und Version des Betriebssystems. Auf der Grundlage dieser Daten können Sie eine Zugriffsebene erstellen. 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.

Weitere Informationen zum Gewähren einer Zugriffsebene für bestimmte Geräte finden Sie unter Zugriffsebene nach Nutzergeräten erstellen.

Nutzeridentität

In einigen Szenarien möchten Sie möglicherweise nur bestimmten Entitäten eine Zugriffsebene gewähren. In diesem Fall 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. Zum Beispiel, um einer Cloud Functions-Funktion den Zugriff auf Daten zu ermöglichen, die durch VPC Service Controls geschützt sind.

Sie können Zugriffsebenen, die nur Identitäten enthalten, mit dem gcloud-Befehlszeilentool erstellen und verwalten, aber nicht mit der Google Cloud Console.

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 stammen muss, auf dem ein neuestes Betriebssystem 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" einstellen, 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