Nachdem eine benutzerdefinierte Zugriffsebene erstellt wurde, kann sie auf dieselbe Weise verwaltet werden wie einfache Zugriffsebenen.
Details zum Erstellen von Ausdrücken in der Common Expression Language (CEL) für benutzerdefinierte Zugriffsebenen finden Sie in der Spezifikation für die benutzerdefinierte Zugriffsebene.
Console
So erstellen Sie eine benutzerdefinierte Zugriffsebene:
Öffnen Sie in der Google Cloud Console die Seite Access Context Manager.
Wählen Sie Ihre Organisation aus, wenn Sie dazu aufgefordert werden.
Klicken Sie oben auf der Seite Access Context Manager auf Neu.
Im Bereich Neue Zugriffsebene:
Geben Sie in das Feld Titel der Zugriffsebene einen Titel ein für Zugriffsebene. Der Titel darf maximal 50 Zeichen lang sein und muss mit einem Buchstaben beginnen. Er darf nur Zahlen, Buchstaben, Unterstriche und Leerzeichen enthalten.
Wählen Sie unter Bedingungen erstellen in die Option Erweiterter Modus aus.
Geben Sie im Abschnitt Bedingungen die Ausdrücke für Ihre benutzerdefinierte Zugriffsebene ein. Die Bedingung muss in einen einzelnen booleschen Wert aufgelöst werden.
Beispiele und weitere Informationen zur Unterstützung von Common Expression Language (CEL) und benutzerdefinierten Zugriffsebenen finden Sie in der Spezifikation für benutzerdefinierte Zugriffsebenen.
Klicken Sie auf Speichern.
gcloud
Vorbereitung
- Falls noch nicht vorhanden, erstellen Sie eine Zugriffsrichtlinie für Ihre Organisation.
Verwenden Sie zum Erstellen einer benutzerdefinierten Zugriffsebene mit dem gcloud
-Befehlszeilentool den Befehl gcloud access-context-manager levels create
.
gcloud access-context-manager levels create LEVEL_NAME \ --title=TITLE \ --custom-level-spec=FILE \ --description=DESCRIPTION \ --policy=POLICY_NAME
Wobei:
LEVEL_NAME ist der eindeutige Name für die Zugriffsebene. Dieser Name muss mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen und Unterstriche enthalten. Der Name darf maximal 50 Zeichen lang sein.
TITLE ist der kurze menschenlesbare Titel der Zugriffsebene.
FILE ist eine YAML-Datei, die Ihren CEL-Ausdruck enthält, der als einzelnes Schlüssel/Wert-Paar formatiert ist:
expression: "CEL_EXPRESSION"
.Beispiele und weitere Informationen zur Unterstützung von Common Expression Language (CEL) und benutzerdefinierten Zugriffsebenen finden Sie in der Spezifikation für benutzerdefinierte Zugriffsebenen.
DESCRIPTION (optional) ist eine für Menschen lesbare Beschreibung der Zugriffsebene.
POLICY_NAME ist der numerische Name der Zugriffsrichtlinie Ihrer Organisation.
Optional können Sie alle gcloud
-Flags einfügen.
custom-level-spec
-YAML-Datei
Wenn Sie mit dem gcloud
-Befehlszeilentool eine benutzerdefinierte Zugriffsebene erstellen, müssen Sie eine YAML-Datei für die Option custom-level-spec
angeben. Die .yaml-Datei definiert einen CEL-Ausdruck, der in einen einzelnen booleschen Wert aufgelöst wird. Die .yaml-Datei muss ein einzelnes Schlüssel/Wert-Paar mit dem Format expression: "CEL_EXPRESSION"
enthalten. Der Wert für expression
muss ein String sein.
YAML-Beispieldatei
expression: "device.encryption_status == DeviceEncryptionStatus.ENCRYPTED && (origin.region_code in ['US'] || device.is_admin_approved_device)"
Beispielbefehl
gcloud access-context-manager levels create Custom_Trust \
--custom-level-spec=customspec.yaml \
--description="Custom access level for corp." \
--title="Custom Trust Level" \
--policy=1521580097614100
REST
Hinweis
- Falls noch nicht vorhanden, erstellen Sie eine Zugriffsrichtlinie für Ihre Organisation.
Verwenden Sie zum Erstellen einer benutzerdefinierten Zugriffsebene die Methode accessPolicies.accessLevels.create
.
Anfragetext
Fügen Sie im Anfragetext für den Aufruf eine Instanz des AccessLevel
-Objekts ein.
{
"name": string,
"title": string,
"description": string,
"custom": {
"expr": {
"expression": string,
"title": string,
"description": string
}
}
}
Erstellen Sie für das Feld custom
ein Objekt, das die CEL-Ausdrücke für Ihre benutzerdefinierte Zugriffsebene enthält. Der vollständige Ausdruck muss in einen booleschen Wert aufgelöst werden. Die Felder title
und description
sind optional.
Beispiel
{
"name": "example_custom_level",
"title": "Example custom level",
"description": "An example custom access level.",
"custom": {
"expr": {
"expression": "device.is_corp_owned == true || (device.os_type != OsType.OS_UNSPECIFIED && device.is_admin_approved_device == true)",
"title": "Check for known devices",
"description": "Permits requests from corp-owned devices and admin-approved devices with a known OS."
}
}
}
RPC
Hinweis
- Falls noch nicht vorhanden, erstellen Sie eine Zugriffsrichtlinie für Ihre Organisation.
Rufen Sie zum Erstellen einer benutzerdefinierten Zugriffsebene CreateAccessLevel
auf.
Fügen Sie für das Feld access_level
eine Instanz von AccessLevel
hinzu.
Felder | |||||
---|---|---|---|---|---|
name
|
|
||||
title
|
|
||||
description
|
|
||||
custom
|
|