Benutzerdefinierte Zugriffsebene erstellen

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:

  1. Öffnen Sie in der Google Cloud Console die Seite Access Context Manager.

    Zur Seite "Access Context Manager"

  2. Wählen Sie Ihre Organisation aus, wenn Sie dazu aufgefordert werden.

  3. Klicken Sie oben auf der Seite Access Context Manager auf Neu.

  4. Im Bereich Neue Zugriffsebene:

    1. 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.

    2. Wählen Sie unter Bedingungen erstellen in die Option Erweiterter Modus aus.

    3. 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.

    4. Klicken Sie auf Speichern.

gcloud

Vorbereitung

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

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

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
Typ String
Beschreibung

Erforderlich

Der Ressourcenname für die Zugriffsebene. POLICY_ID ist der numerische Name der Zugriffsrichtlinie Ihrer Organisation. Der SHORT_NAME muss mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen und Unterstriche enthalten.

Format:

                accessPolicies/policy_id/accessLevels/short_name
                

title
Typ String
Beschreibung

Ein für Menschen lesbares Label für die Zugriffsebene. Zugriffsebenen müssen eindeutige Namen haben.

description
Typ String
Beschreibung

Eine Beschreibung der Zugriffsebene.

custom
Typ String
Beschreibung

CEL-Ausdrücke für Ihre benutzerdefinierte Zugriffsebene. Der vollständige Ausdruck muss in einen booleschen Wert aufgelöst werden.