Auf dieser Seite wird erläutert, wie Sie den zertifikatbasierten Zugriff mithilfe von kontextbezogenen Zugriffsrichtlinien erzwingen, die auf einer Nutzergruppe basieren.
Sie können den Zugriff auf alle Google Cloud- Dienste einschränken, indem Sie eine CBA-Zugriffsebene an eine Nutzergruppe binden, für die Sie den Zugriff einschränken möchten. Diese Einschränkung gilt für alle Clientanwendungen, die die APIs von Google Cloudaufrufen.
Optional können Sie die Einschränkungen auf bestimmte Clientanwendungen anwenden oder bestimmte Anwendungen ausnehmen. Dazu gehören sowohl Anwendungen von Drittanbietern als auch von Google selbst entwickelte Anwendungen, z. B. Cloud Console
für die Google Cloud -Konsole und Google Cloud SDK
für die Google Cloud CLI
.
Hinweise
Sie müssen eine CBA-Zugriffsebene erstellt haben, die Zertifikate für den Zugriff auf Ressourcen erfordert.
Eine Nutzergruppe erstellen
Erstellen Sie eine Nutzergruppe mit den Mitgliedern, denen auf Grundlage der CBA-Zugriffsebene Zugriff gewährt werden soll.
Rolle „Administrator für Cloud-Zugriffsbindungen“ zuweisen
Weisen Sie der Nutzergruppe die Rolle Cloud Access Binding Admin zu.
Prüfen Sie, ob Sie über ausreichende Berechtigungen verfügen, um IAM-Berechtigungen auf Organisationsebene hinzuzufügen. Sie benötigen mindestens die Rollen Organisationsadministrator und Administrator für Cloud Access Bindings.
Console
Rufen Sie in der Console die Seite IAM auf.
Klicken Sie auf dem Tab Berechtigungen auf Zugriff gewähren und konfigurieren Sie dann Folgendes:
- Neue Hauptkonten: Geben Sie die Gruppe an, der Sie die Rolle zuweisen möchten.
- Wählen Sie unter Rolle auswählen die Option Access Context Manager > Administrator für Cloud-Zugriffsbindungen aus.
- Klicken Sie auf Speichern.
gcloud
Anmelden:
gcloud auth login
Weisen Sie die Rolle
GcpAccessAdmin
mit folgendem Befehl zu:gcloud organizations add-iam-policy-binding ORG_ID \ --member=user:EMAIL \ --role=roles/accesscontextmanager.gcpAccessAdmin
ORG_ID
ist die ID Ihrer Organisation. Wenn Sie Ihre Organisations-ID noch nicht haben, können Sie sie mit dem folgenden Befehl ermitteln:gcloud organizations list
EMAIL
ist die E-Mail-Adresse der Person oder Gruppe, der Sie die Rolle zuweisen möchten.
CBA-Zugriffsebene an eine Nutzergruppe binden
Bei dieser Bindungsoption gilt die CBA-Zugriffsebene für alle Clientanwendungen für die von Ihnen angegebene Nutzergruppe.
Rufen Sie in der Console die Seite Chrome Enterprise Premium auf.
Wählen Sie eine Organisation aus und klicken Sie auf Auswählen.
Klicken Sie auf Zugriff verwalten, um die Nutzergruppen auszuwählen, die Zugriff haben sollen.
Klicken Sie auf Hinzufügen und konfigurieren Sie Folgendes:
- Mitgliedergruppen: Geben Sie die Gruppe an, der Sie Zugriff gewähren möchten. Sie können nur Gruppen auswählen, die noch nicht an eine Zugriffsebene gebunden sind.
- Zugriffsebenen auswählen: Wählen Sie die CBA-Zugriffsebene aus, die auf die Gruppe angewendet werden soll.
- Klicken Sie auf Speichern.
Eine CBA-Zugriffsebene an eine Nutzergruppe und bestimmte Anwendungen binden
In einigen Anwendungsfällen, z. B. bei Anwendungen, die Clientzertifikate unterstützen, ist die Bindung einer CBA-Zugriffsebene an eine Nutzergruppe möglicherweise zu weit gefasst. Mit dieser Option können Sie CBA-Zugriffsebenen auf Anwendungen anwenden, die Clientzertifikate unterstützen.
Im folgenden Beispiel wird eine CBA-Zugriffsebene an die Google Cloud -Console, die gcloud CLI und die OAuth-Anwendung eines Nutzers gebunden.
Melden Sie sich in der gcloud CLI an.
gcloud auth application-default login
Erstellen Sie eine
policy_file.json
-Datei.Sie können Anwendungen anhand ihrer OAuth-Client-ID angeben. Geben Sie zum Angeben von Google-Anwendungen den Namen der Anwendung an, z. B.
Cloud Console
für dieGoogle Cloud -Console. Es werden nur die Google Cloud -Console und Google-Anwendungen des Google Cloud SDK unterstützt.scopedAccessSettings: - scope: clientScope: restrictedClientApplication: name: Cloud Console activeSettings: accessLevels: - CBA_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: name: Google Cloud SDK activeSettings: accessLevels: - CBA_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: clientId: CLIENT_ID_1 activeSettings: accessLevels: - CBA_ACCESS_LEVEL
Ersetzen Sie Folgendes:
- CLIENT_ID_1: Die OAuth-Client-ID.
- CBA_ACCESS_LEVEL: Name der CBA-Zugriffsebene im Format
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
.
Erstellen Sie die Bindung der CBA-Zugriffsebene.
gcloud access-context-manager cloud-bindings create \ --group-key='GROUP_KEY' \ --organization='ORG_ID' \ --binding-file=.../policy_file.json
Ersetzen Sie GROUP_KEY durch die kontextbezogene Zugriffsgruppe und ORG_ID durch Ihre Organisations-ID.
Wenn die GROUP_KEY nicht verfügbar ist, können Sie sie abrufen, indem Sie die Methode
get
aufrufen für die Gruppenressource.Optional: Aktualisieren Sie eine vorhandene Bindung der Zugriffsebene.
gcloud access-context-manager cloud-bindings update \ --binding='BINDING_NAME' \ --binding-file=.../policy_file.json
Ersetzen Sie BINDING_NAME durch den Bindungsnamen, der beim Erstellen der Bindung automatisch generiert wurde.
Anwendung von einer Bindung ausnehmen
Eine weitere Möglichkeit, eine CBA-Zugriffsebene anzuwenden, ohne Clientanwendungen zu blockieren, die keine Clientzertifikate unterstützen, besteht darin, diese Anwendungen von der Richtlinie auszunehmen.
Bei den folgenden Schritten wird davon ausgegangen, dass Sie bereits eine CBA-Zugriffsebene erstellt haben, für die Zertifikate erforderlich sind, um den Zugriff auf Ressourcen zu bestimmen.
Erstellen Sie eine Ausnahmezugriffsebene mit einer der folgenden Methoden.
- Benutzerdefinierte Zugriffsebene: Geben Sie
true
als Wert in der CEL-Ausdrucksbedingung an. - Grundlegende Zugriffsebene:
Erstellen Sie eine IP-Bereichsbasierte Zugriffsebene, indem Sie die IP-Subnetze
0.0.0.0/0
und::/0
angeben, die jeweils IPv4 und IPv6 entsprechen.
- Benutzerdefinierte Zugriffsebene: Geben Sie
Erstellen Sie eine
exemption_file.json
-Datei.scopedAccessSettings: - scope: clientScope: restrictedClientApplication: clientId: CLIENT_ID_2 activeSettings: accessLevels: - EXEMPT_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: name: APPLICATION_NAME_2 activeSettings: accessLevels: - EXEMPT_ACCESS_LEVEL
Ersetzen Sie Folgendes:
- CLIENT_ID_2: Die OAuth-Client-ID.
- APPLICATION_NAME_2: Der Name der Anwendung.
- EXEMPT_ACCESS_LEVEL: Name der Ausnahmezugriffsebene im Format
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
.
Erstellen Sie die Bindungsrichtlinie für die Ausnahme.
gcloud access-context-manager cloud-bindings create \ --group-key='GROUP_KEY' \ --organization='ORG_ID' \ --binding-file=.../exemption_file.json
Ersetzen Sie GROUP_KEY durch die kontextbezogene Zugriffsgruppe und ORG_ID durch Ihre Organisations-ID.
Wenn die GROUP_KEY nicht verfügbar ist, können Sie sie abrufen, indem Sie die Methode
get
aufrufen für die Gruppenressource.