In diesem Dokument wird beschrieben, wie Sie mit kontextsensitivem Zugriff verschiedene Arten von Apps und Ressourcen schützen können. Kontextsensitiver Zugriff ist ein Sicherheitsansatz, bei dem Sie den Zugriff von Nutzern basierend auf ihrer Authentifizierungsstärke, dem Gerätestatus, dem Netzwerkstandort, dem geografischen Standort oder anderen Attributen steuern. Dieser Ansatz geht über die Verwendung grundlegender Nutzeridentitäten für den Sicherheitszugriff hinaus und kann Ihnen helfen, ein Zero-Trust Sicherheitsmodell zu implementieren, um Ihren allgemeinen Sicherheitsstatus zu verbessern. Weitere Informationen zu Best Practices finden Sie unter Best Practices zum Sichern von Apps und Ressourcen mit kontextsensitivem Zugriff.
Um Ihre Apps und Google Cloud Ressourcen zu schützen, können Sie differenzierte Zugriffssteuerungen basierend auf einer Vielzahl und Kombination von Kontextfaktoren definieren. Mit Access Context Manager können Sie Zugriffsrichtlinien definieren, die Zugriffsebenen und Dienstparameter enthalten.
Dieses Dokument richtet sich an alle Sicherheitsexperten, die für Identity and Access Management (IAM) und die Sicherheit von Google Cloud Ressourcen und Apps verantwortlich sind. In diesem Dokument wird davon ausgegangen, dass Sie bereits mit Access Context Manager, Google Cloud, und der IAM-Verwaltung vertraut sind.
Zugriffsebenen
Mit Zugriffsebenen können Sie eine Reihe von Anforderungen definieren, die Nutzer und ihre Geräte erfüllen müssen, um ein bestimmtes Vertrauensniveau zu erreichen.
- Einfach: Eine grundlegende Reihe von Anforderungen, die Sie als Mindestniveau betrachten.
- Medium: Eine strengere Reihe von Anforderungen, die Sie von Mitarbeitern und Unternehmensgeräten erwarten. Diese Zugriffsebene schließt möglicherweise Nutzer der erweiterten Belegschaft und Geräte aus, die nicht zum Unternehmen gehören.
- Hoch: Strenge Anforderungen, die nur bestimmte Mitarbeiter und Geräte erfüllen.
Eine Zugriffsebene hat an sich keine unmittelbaren Auswirkungen auf Nutzer oder Geräte. Die Zugriffsebene gibt Anforderungen an, definiert aber nicht die Nutzer, Apps oder Ressourcen, für die diese Anforderungen erzwungen werden sollen. Eine Zugriffsebene ist wie ein wiederverwendbarer Teil der Konfiguration, auf den Sie verweisen können, wenn Sie den Zugriff auf bestimmte Apps oder Ressourcen konfigurieren.
Google Cloud Mit können Sie Zugriffsebenen für verschiedene Arten von Apps oder Ressourcen verwenden, darunter die folgenden, die in diesem Dokument beschrieben werden:
- Google Workspace und andere Apps und Dienste außerhalb von Google Cloud
- Die Google Cloud Console und Google Cloud APIs
- VPC-Dienstperimeter (Virtual Private Cloud)
- Identity-Aware Proxy (IAP) für SSH- und RDP-Zugriff
- IAP für Webanwendungen
Apps und Ressourcen
In den folgenden Abschnitten wird beschrieben, wie Sie Zugriffsebenen auf die verschiedenen Arten von Apps und Ressourcen anwenden können und wie sich die Prozesse zwischen den verschiedenen Typen unterscheiden.
Google Workspace und andere Apps und Dienste außerhalb von Google Cloud
Zu den Apps und Diensten außerhalb von Google Cloud , die kontextsensitiven Zugriff unterstützen, gehören:
- Admin-Konsole
- Google Workspace-Apps wie Gmail, Google Meet und Google Kalender
- Andere Google-Apps wie Gemini oder Data Studio
- Benutzerdefinierte SAML-Apps
Wenn Sie den Zugriff auf Google Workspace und Apps und Dienste außerhalb von Google Cloud, einschränken möchten, konfigurieren Sie den kontextsensitiven Zugriff für jeden Dienst oder jede App einzeln in der Admin-Konsole. In der Admin-Konsole gehen Sie so vor:
Definieren Sie den Bereich, für den Sie eine Zugriffsebene anwenden möchten. Ein Bereich ist eine Kombination aus Folgendem:
- Ein bestimmter Dienst oder eine bestimmte SAML-App, die geschützt werden soll.
- Eine Organisationseinheit (OU) oder eine Gruppe, die relevante Nutzer enthält.
Wählen Sie die Zugriffsebene aus, die auf den ausgewählten Bereich angewendet werden soll.
Wenn Sie eine Zugriffsebene zuweisen, können Sie auch die Einstellungen dieser Zugriffsebene ändern. Sie können festlegen, dass die Zugriffsebene nur gilt, wenn Nutzer direkt auf die Webanwendung zugreifen. Alternativ können Sie festlegen, dass die Ebene auch gilt, wenn mobile Apps und andere Apps auf die API zugreifen. Weitere Informationen finden Sie unter App-Verhalten basierend auf den Einstellungen der Zugriffsebene im Hilfeartikel "Apps kontextsensitive Zugriffsebenen zuweisen".
Es kann mehr als eine Zuweisung geben, die für einen bestimmten Nutzer und eine bestimmte App gilt. Ein Nutzer kann beispielsweise Mitglied der OU Mitarbeiter und des Teams all-apac sein. Der jeweiligen OU und Gruppe können unterschiedliche Zugriffsebenen zugewiesen sein. In diesem Fall wenden Cloud Identity und Google Workspace nur eine der Zuweisungen an, nämlich die mit der höchsten Priorität:
- Gruppenbasierte Zuweisungen haben eine höhere Priorität als OU-basierte Zuweisungen.
- Innerhalb von Gruppen können Sie die relative Priorität anpassen.
- Innerhalb von OUs hat die Stamm-OU die niedrigste relative Priorität.
In Cloud Identity und Google Workspace können Sie Ereignisse des kontextsensitiven Zugriffs im Log für kontextsensitiven Zugriffüberprüfen und analysieren.
Die Google Cloud Console und Google Cloud APIs
Sie können den kontextsensitiven Zugriff auf die Google Cloud Console und Google Cloud APIs mithilfe von Zugriffsbindungen konfigurieren.
Google Cloud APIs verwenden OAuth 2.0 zur Authentifizierung. Um eine Google Cloud API zu verwenden, benötigen Nutzer ein gültiges, von Google ausgestelltes OAuth-Zugriffstoken. Das Token muss für einen der Google Cloud OAuth-Bereicheausgestellt sein. Zugriffsbindungen schränken die Möglichkeit von Nutzern ein, solche Zugriffstokens zu erwerben. Dadurch wird der Zugriff auf die Console und auf Google Cloud alle OAuth-Apps eingeschränkt, die OAuth-Bereiche verwenden, z. B.: Google Cloud
- Die gcloud CLI
- Drittanbieter-Tools wie Terraform
- OAuth-Apps, die Sie selbst erstellt haben und die einen Google Cloud OAuth-Bereich verwenden
Eine Zugriffsbindung verknüpft eine Gruppe mit einer Zugriffsebene. Jede Gruppe kann nur eine Zugriffsbindung haben. Jede Zugriffsbindung kann die folgenden Konfigurationen definieren:
- Eine Liste
scopedAccessSettings, die einzelnen OAuth-Apps Zugriffsebenen zuweist. - Eine Standardzugriffsebene.
Wenn in einer Zugriffsbindung sowohl eine bereichsbezogene Zugriffseinstellung als auch eine Standardzugriffsebene angegeben sind, werden die beiden Zugriffsebenen mit der Semantik OR kombiniert.
Dann muss ein Nutzer nur eine der Zugriffsebenen erfüllen, um auf die OAuth-App zuzugreifen.
Eine Zugriffsbindung gilt sowohl für direkte als auch für indirekte Mitglieder der Gruppe. Wenn ein Nutzer Mitglied mehrerer Gruppen ist, können mehrere Zugriffsbindungen auf ihn angewendet werden, was zu mehreren Zugriffsebenen führen kann. In diesem Fall werden die Zugriffsebenen ebenfalls mit der Semantik OR kombiniert. Das bedeutet, dass der Nutzer nur eine der Zugriffsebenen erfüllen muss.
VPC-Dienstperimeter
Wenn Sie einen VPC-Dienstperimeter erstellen, geben Sie eine Liste eingeschränkter Dienste an. Auf eingeschränkte Dienste kann innerhalb des Dienstperimeters zugegriffen werden, standardmäßig jedoch nicht von außerhalb.
Wenn Sie den Zugriff von außerhalb des Dienstperimeters zulassen möchten, verwenden Sie Regeln für eingehenden Traffic. Mit Regeln für eingehenden Traffic können Sie die Bedingungen angeben, unter denen Sie externen Zugriff zulassen möchten. Mit Zugriffsebenen können Sie mit einer Regel für eingehenden Traffic kontextsensitiven Zugriff erzwingen.
Ein VPC-Dienstperimeter kann mehrere Regeln für eingehenden Traffic haben. Daher können mehrere Regeln für eingehenden Traffic auf einen bestimmten Nutzer und eine bestimmte App angewendet werden. Diese Regeln für eingehenden Traffic erfordern möglicherweise unterschiedliche Zugriffsebenen. In diesem Fall werden die Zugriffsebenen mit der Semantik OR ausgewertet und der Nutzer muss nur eine der Zugriffsebenen erfüllen.
Sie können Zugriffsbindungen mit Regeln für eingehenden Traffic für VPC-Dienstperimeter kombinieren. Wenn in den Zugriffsbindungen und Regeln für eingehenden Traffic unterschiedliche Zugriffsebenen für einen bestimmten Nutzer und eine bestimmte App angegeben sind, werden die Ebenen mit der Semantik AND kombiniert. In diesem Fall muss der Nutzer beide Zugriffsebenen erfüllen.
Wenn Sie die Versuche analysieren möchten, auf Ressourcen in einem VPC-Dienst perimeter zuzugreifen, können Sie die VPC Service Controls-Audit-Logs oder VPC Service Controls-Analyse für Verstöße verwenden.
SSH- und RDP-Zugriff auf VMs
Sie können den kontextsensitiven Zugriff für den SSH- und RDP-Zugriff auf VMs mithilfe der IAP-TCP-Weiterleitung konfigurieren.
Die IAP-TCP-Weiterleitung unterstützt Zugriffsbindungen und Regeln für eingehenden Traffic für VPC-Dienstperimeter. Ihre Zugriffsbindungen für die Google Cloud Console und Cloud APIs werden automatisch auf die IAP-TCP-Weiterleitung angewendet.
Wenn Ihr Dienstperimeter den
iaptunnel.googleapis.com Dienst
als eingeschränkten Dienst enthält, werden Ihre Regeln für eingehenden Traffic
automatisch auf die IAP-TCP-Weiterleitung angewendet. Weitere Informationen zu Best
Practices finden Sie unter
IAP-TCP-Weiterleitung als eingeschränkten Dienst einbeziehen.
Sie können den kontextsensitiven Zugriff auch mit IAM-Bedingungen konfigurieren. IAM-Bedingungen können als Alternative zu Zugriffsbindungen und Regeln für eingehenden Traffic für VPC-Dienstperimeter verwendet werden oder alle zusammen.
Weisen Sie einem Nutzer oder einer Gruppe die Rolle Nutzer IAP-gesicherter Tunnel (
roles/iap.tunnelResourceAccessor) zu. Fügen Sie dann in der Rollenbindung einen IAM-Bedingungsausdruck hinzu, der erfordert, dass der Nutzer eine bestimmte Zugriffsebene erfüllt. Der Ausdruck könnte beispielsweise so aussehen:"accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levelsOptional können Sie die IAM-Bedingung anpassen, um mehrere Zugriffsebenen zu erfordern oder andere Prüfungen einzubeziehen.
Ein bestimmter Nutzer und eine bestimmte App können einer Zugriffsbindung, einer Regel für eingehenden Traffic und einer IAM-Bedingung unterliegen, wenn der Nutzer und die App auf die IAP-TCP-Weiterleitung zugreifen. In diesem Szenario werden die Zugriffsebenen mit der Semantik AND kombiniert und der Nutzer muss alle Zugriffsebenen erfüllen.
Wenn Sie die Versuche analysieren möchten, auf die IAP-TCP-Weiterleitung zuzugreifen, müssen Sie Audit-Logs zum Datenzugriff für IAP aktivieren.
Web-Apps
Sie können den kontextsensitiven Zugriff für Webanwendungen mit IAP konfigurieren.
IAP für Webanwendungen unterscheidet sich von der IAP-TCP-Weiterleitung:
- Zugriffsbindungen gelten nicht für Webanwendungen, die mit IAP konfiguriert sind, da die von IAP verwendete OAuth-App keine Google Cloud OAuth-Bereiche verwendet.
- Regeln für eingehenden Traffic für VPC-Dienstperimeter gelten nicht für Webanwendungen, die mit IAP konfiguriert sind, da IAP keine Google Cloud API ist und es nicht als eingeschränkter Dienst konfiguriert werden kann.
Wenn Sie den kontextsensitiven Zugriff für Webanwendungen mit IAP konfigurieren möchten, müssen Sie IAM-Bedingungen verwenden:
Weisen Sie einem Nutzer oder einer Gruppe die Rolle Nutzer von IAP-gesicherten Web-Apps (
roles/iap.httpsResourceAccessor) zu. Fügen Sie dann in der Rollenbindung einen IAM-Bedingungsausdruck hinzu, der erfordert, dass der Nutzer eine bestimmte Zugriffsebene erfüllt. Der Ausdruck könnte beispielsweise so aussehen:"accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levelsOptional können Sie die IAM-Bedingung anpassen, um mehrere Zugriffsebenen zu erfordern oder andere Prüfungen einzubeziehen.
Wenn Sie die Versuche analysieren möchten, auf Webanwendungen zuzugreifen, die mit IAP konfiguriert sind, müssen Sie Audit-Logs zum Datenzugriff für IAP aktivieren.
Nächste Schritte
- Best Practices zum Sichern von Apps und Ressourcen mit kontextsensitivem Zugriff.
- Weitere Referenzarchitekturen, Diagramme und Best Practices finden Sie im Cloud Architecture Center.
Beitragende
Autor: Johannes Passing | Cloud Solutions Architect
Weiterer Beitragender: Ido Flatow | Cloud Solutions Architect