Auf dieser Seite werden die Objekte und Attribute beschrieben, mit denen die CEL-Ausdrücke (Common Expression Language) für benutzerdefinierte Zugriffsebenen erstellt werden. Beispiele sind enthalten.
Weitere Informationen zu CEL finden Sie in der CEL-Sprachdefinition.
Diese Seite enthält die folgenden Abschnitte:
Objekte
Access Context Manager stellt vier Objekte mit Zugriffsebenenattributen bereit.
Objekte | |
---|---|
origin
|
Enthält Attribute, die den Ursprung der Anfrage identifizieren. |
request.auth
|
Enthält Attribute, die Authentifizierungs- und Autorisierungsaspekte der Anfrage identifizieren. |
levels
|
Enthält Attribute, um die Abhängigkeit von anderen Zugriffsebenen zu definieren. |
device
|
Enthält Attribute, die das Gerät beschreiben, von dem die Anfrage stammt. |
origin
-Attribute
In diesem Abschnitt werden die vom origin
-Objekt unterstützten Attribute aufgeführt.
Attribute | |||||
---|---|---|---|---|---|
ip
|
|
||||
region_code
|
|
request.auth
-Attribute
In diesem Abschnitt werden die vom request.auth
-Objekt unterstützten Attribute aufgeführt.
Attribute | |||||
---|---|---|---|---|---|
principal
|
|
levels
Attribut
In diesem Abschnitt werden die vom levels
-Objekt unterstützten Attribute aufgeführt.
Attribute | |||||
---|---|---|---|---|---|
level name
|
|
device
Attribut
In diesem Abschnitt werden die vom device
-Objekt unterstützten Attribute aufgeführt.
Attribute | |||||
---|---|---|---|---|---|
encryption_status
|
|
||||
is_admin_approved_device
|
|
||||
is_corp_owned_device
|
|
||||
is_secured_with_screenlock
|
|
||||
os_type
|
|
||||
vendors
|
|
||||
verified_chrome_os
|
|
Functions
Access Context Manager bietet die folgenden Funktionen zur Verwendung in CEL-Ausdrücken für benutzerdefinierte Zugriffsebenen.
Functions | |||||
---|---|---|---|---|---|
inIpRange(address, [subnets])
|
|
||||
device.versionAtLeast(minVersion)
|
|
||||
certificateBindingState(origin, device)
|
|
Beispiel-CEL-Ausdrücke
Dieser Abschnitt enthält Beispiele für CEL-Ausdrücke, die zum Erstellen benutzerdefinierter Zugriffsebenen verwendet werden.
Beispiel 1
device.encryption_status == DeviceEncryptionStatus.ENCRYPTED && (origin.region_code in ["US"] || device.is_admin_approved_device)
Dieses Beispiel stellt eine Zugriffsebene dar, für die die folgenden Bedingungen erfüllt sein müssen, um eine Anfrage zuzulassen:
Das Gerät, von dem die Anfrage stammt, ist verschlüsselt.
Mindestens eines der folgenden stimmt:
Die Anfrage stammt aus den USA.
Das Gerät, von dem die Anfrage stammt, wurde vom Domainadministrator genehmigt.
Beispiel 2
(device.os_type == OsType.DESKTOP_WINDOWS && device.is_corp_owned_device) || (device.os_type == OsType.DESKTOP_MAC && device.is_admin_approved_device && device.versionAtLeast("10.11.0"))
Dieses Beispiel stellt eine Zugriffsebene dar, für die die folgenden Bedingungen erfüllt sein müssen, um eine Anfrage zuzulassen:
Eine der folgenden Aussagen ist richtig:
Das Gerät, von dem die Anfrage stammt, verwendet ein Desktop-Windows-Betriebssystem und gehört Ihrer Organisation.
Das Gerät, von dem die Anfrage stammt, verwendet ein Mac-Desktop-Betriebssystem, ist vom Domainadministrator genehmigt und verwendet mindestens MacOS10.11.
Beispiel 3
(certificateBindingState(origin, device) == CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE)
Dieses Beispiel stellt eine Zugriffsebene dar, für die die folgende Bedingung erfüllt sein müssen, um eine Anfrage zuzulassen:
- Die Erweiterungsfunktion
certificateBindingState
bestimmt, dass das bei der Anfrage angegebene Zertifikat mit einem der Gerätezertifikate übereinstimmt, die bei der Registrierung des Geräts in der Endpunktprüfung registriert wurden.