Gerätebasierte Zugriffsebenen erstellen

In diesem Dokument wird beschrieben, wie Administratoren mit Access Context Manager Zugriffsebenen basierend auf Geräteattributen (gerätebasierte Zugriffsebenen) erstellen können.

Eine Zugriffsebene besteht aus einer Reihe von Attributen, mit denen der Zugriff auf Ressourcen auf der Grundlage von Kontextinformationen zur Anfrage gewährt wird. Als Administrator können Sie mithilfe der von der Endpunktprüfung erfassten Geräteattribute grundlegende oder benutzerdefinierte Zugriffsebenen erstellen.

Hinweise

Zugriffsebene erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Access Context Manager auf.

    Zu Access Context Manager

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

  3. Klicken Sie auf der Seite Access Context Manager auf Zugriffsebene erstellen.

  4. Erstellen Sie im Bereich Neue Zugriffsebene eine einfache oder eine benutzerdefinierte Zugriffsebene. Maximieren Sie den erforderlichen Abschnitt, um eine Anleitung aufzurufen.

    Einfache Zugriffsebene erstellen

    1. Geben Sie im Feld Titel der Zugriffsebene einen Titel für die Zugriffsebene ein.

      Der Titel darf höchstens 50 Zeichen lang sein, mit einem Buchstaben beginnen und darf nur Ziffern, Buchstaben, Unterstriche und Leerzeichen enthalten.

    2. Wählen Sie im Bereich Bedingungen erstellen in die Option Basismodus aus.

      .
    3. Wählen Sie im Bereich Bedingungen die Geräteattribute aus:
      1. Klicken Sie auf Device Policy.
      2. Wählen Sie die erforderlichen Attribute aus.

        Wenn Sie beispielsweise die Administratorgenehmigung für Geräte erzwingen möchten, wählen Sie Administratorgenehmigung erforderlich aus.

    4. Klicken Sie auf Speichern.

    Die neu erstellte Zugriffsebene wird auf der Seite Access Context Manager angezeigt.

    Benutzerdefinierte Zugriffsebene erstellen

    1. Geben Sie im Feld Titel der Zugriffsebene einen Titel für die Zugriffsebene ein.

      Der Titel darf höchstens 50 Zeichen lang sein, mit einem Buchstaben beginnen und darf nur Ziffern, Buchstaben, Unterstriche und Leerzeichen enthalten.

    2. Wählen Sie im Bereich Bedingungen erstellen in die Option Erweiterter Modus aus.
    3. Geben Sie im Bereich Bedingungen die Ausdrücke für Ihre benutzerdefinierte Zugriffsebene ein. Die Bedingung muss in einen einzelnen booleschen Wert aufgelöst werden.

      Die verfügbaren Geräteattribute für Ihren CEL-Ausdruck finden Sie in den von der Endpunktprüfung erfassten Geräteattributen.

      Der folgende CEL-Ausdruck ermöglicht nur den Zugriff von den verschlüsselten Geräten:

      device.encryption_status == DeviceEncryptionStatus.ENCRYPTED

      Beispiele und weitere Informationen zur Unterstützung von Common Expression Language (CEL) und zu benutzerdefinierten Zugriffsebenen finden Sie unter Benutzerdefinierte Spezifikation der Zugriffsebene.

    4. Klicken Sie auf Speichern.

    Die neu erstellte Zugriffsebene wird auf der Seite Access Context Manager angezeigt.

gcloud-CLI

Verwenden Sie zum Erstellen von Zugriffsebenen die Methode gcloud access-context-manager level create.

  1. Erstellen Sie eine .yaml-Datei.

    • Geben Sie für eine grundlegende Zugriffsebene Geräterichtlinienattribute für die Zugriffsebene an.

      Beispiel: Wenn Sie den Zugriff auf Nutzer mit verschlüsseltem Gerätespeicher beschränken möchten, geben Sie Folgendes in die Datei .yaml ein.

        - devicePolicy:
            allowedEncryptionStatuses
              - ENCRYPTED
      
    • Geben Sie für eine benutzerdefinierte Zugriffsebene einen CEL-Ausdruck an, der als einzelnes Schlüssel/Wert-Paar formatiert ist: expression: "CEL_EXPRESSION"

      Beispiel: Wenn Sie den Zugriff auf Nutzer mit verschlüsseltem Gerätespeicher und genehmigtem Gerätestatus beschränken möchten, geben Sie Folgendes in die Datei .yaml ein.

      expression: "device.encryption_status == DeviceEncryptionStatus.ENCRYPTED && device.is_admin_approved_device"
      

    Eine Liste der Zugriffsebenenattribute und deren YAML-Format finden Sie unter Geräterichtlinienattribute. Eine umfassende YAML-Datei mit allen möglichen Attributen finden Sie in diesem Beispiel für eine YAML-Datei für Zugriffsebenen.

    Die verfügbaren Geräteattribute für Spezifikationen der benutzerdefinierten Ebene finden Sie unter Von der Endpunktprüfung erfasste Geräteattribute.

  2. Erstellen Sie die Zugriffsebene.

    • Führen Sie den folgenden Befehl aus, um eine grundlegende Zugriffsebene zu erhalten:

      gcloud access-context-manager levels create ACCESS_LEVEL_NAME \
      --title=TITLE \
      --basic-level-spec=FILE_NAME.yaml\
      --policy=POLICY_NAME
      
    • Führen Sie den folgenden Befehl aus, um eine benutzerdefinierte Zugriffsebene zu erhalten:

      gcloud access-context-manager levels create ACCESS_LEVEL_NAME \
      --title=TITLE \
      --custom-level-spec=FILE_NAME.yaml\
      --policy=POLICY_NAME
      

    Wobei:

    • ACCESS_LEVEL_NAME ist der eindeutige Name für die Zugriffsebene. Sie muss das folgende Format haben: accessPolicies/POLICY_ID/accessLevels/LEVEL_ID.

    • LEVEL_ID ist der Name der Zugriffsebene. Der Name darf höchstens 50 Zeichen lang sein, mit einem Buchstaben beginnen und darf nur Ziffern, Buchstaben und Unterstriche enthalten.

    • TITLE ist ein für Menschen lesbarer Titel. Er muss für die Richtlinie eindeutig sein.

    • FILE_NAME ist der Name der Datei .yaml. Bei einer grundlegenden Zugriffsebene enthält sie Geräterichtlinienattribute. Bei einer benutzerdefinierten Zugriffsebene enthält sie einen CEL-Ausdruck, der als einzelnes Schlüssel/Wert-Paar formatiert ist: „expression: „CEL_EXPRESSION“.

    • POLICY_NAME ist der Name der Zugriffsrichtlinie Ihrer Organisation.

    Die Ausgabe sollte in etwa so aussehen:

    Create request issued for: NAME
    Waiting for operation [accessPolicies/POLICY_NAME/accessLevels/NAME/create/1521594488380943] to complete...done.
    Created level NAME.
    

API

Erstellen Sie mit der Methode accessPolicies.accessLevels.create eine Zugriffsebene.

Einfache Zugriffsebene erstellen

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • POLICY_ID: die ID der Zugriffsrichtlinie Ihrer Organisation.
  • LEVEL_ID: ein Name für die Zugriffsebene. Der Name darf höchstens 50 Zeichen lang sein, mit einem Buchstaben beginnen und darf nur Ziffern, Buchstaben und Unterstriche enthalten.
  • ACCESS_LEVEL_NAME: Der eindeutige Name für die Zugriffsebene. Sie muss das folgende Format haben: accessPolicies/POLICY_ID/accessLevels/LEVEL_ID.
  • TITLE: ein für Menschen lesbarer Titel. Er muss für die Richtlinie eindeutig sein.
  • DESCRIPTION: Eine Beschreibung der Zugriffsebene und ihrer Verwendung.
  • CONDITION: eine Liste der Anforderungen für die Zugriffsebene.

HTTP-Methode und URL:

POST https://accesscontextmanager.googleapis.com/v1/{parent=accessPolicies/POLICY_ID}/accessLevels

JSON-Text der Anfrage:


For basic access levels:

{
"name": ACCESS_LEVEL_NAME,
"title": TITLE,
  "description": DESCRIPTION,


  "basic": {
  "conditions": [
    {
    CONDITION
    }
   ],
  }
 },
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/{parent=accessPolicies/POLICY_ID}/accessLevels"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/{parent=accessPolicies/POLICY_ID}/accessLevels" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:


{
  "name": "operations/accessPolicies/84961948973/accessLevels/deviceEncrypted/create/1666896068847514",
  "metadata": {
    "@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.AccessContextManagerOperationMetadata"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.AccessLevel",
    "name": "accessPolicies/84961948973/accessLevels/deviceEncrypted",
    "title": "accessPolicies/84961948973/accessLevels/deviceEncrypted",
    "basic": {
      "conditions": [
        {
          "devicePolicy": {
            "allowedEncryptionStatuses": [
              "ENCRYPTED"
            ]
          }
        }
      ]
    }
  }
}

Benutzerdefinierte Zugriffsebene erstellen

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • POLICY_ID: die ID der Zugriffsrichtlinie Ihrer Organisation.
  • LEVEL_ID: ein Name für die Zugriffsebene. Der Name darf höchstens 50 Zeichen lang sein, mit einem Buchstaben beginnen und darf nur Ziffern, Buchstaben und Unterstriche enthalten.
  • ACCESS_LEVEL_NAME: Der eindeutige Name für die Zugriffsebene. Sie muss das folgende Format haben: accessPolicies/POLICY_ID/accessLevels/LEVEL_ID.
  • TITLE: ein für Menschen lesbarer Titel. Er muss für die Richtlinie eindeutig sein.
  • DESCRIPTION: Eine Beschreibung der Zugriffsebene und ihrer Verwendung.
  • CEL_EXPRESSION: Ein CEL-Ausdruck, der als boolescher Wert ausgewertet wird.

HTTP-Methode und URL:

POST https://accesscontextmanager.googleapis.com/v1/{parent=accessPolicies/POLICY_ID}/accessLevels

JSON-Text der Anfrage:


{
"name": ACCESS_LEVEL_NAME,
"title": TITLE,
  "description": DESCRIPTION,

  "custom": {
   "conditions": [
     {
      "expr": {
     CEL_EXPRESSION
     }
    }
   ]
  }
 },
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/{parent=accessPolicies/POLICY_ID}/accessLevels"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/{parent=accessPolicies/POLICY_ID}/accessLevels" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:



{
  "name": "operations/accessPolicies/84961948973/accessLevels/sampleCustomAccessLevelName/create/1666936427127701",
  "metadata": {
    "@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.AccessContextManagerOperationMetadata"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.AccessLevel",
    "name": "accessPolicies/84961948973/accessLevels/sampleCustomAccessLevelName",
    "title": "accessPolicies/84961948973/accessLevels/sampleCustomAccessLevelTitle",
    "custom": {
      "expr": {
        "expression": "device.encryption_status == DeviceEncryptionStatus.ENCRYPTED"
      }
    }
  }
}

Weitere Informationen zum Erstellen von Zugriffsebenen mit verschiedenen Bedingungen und Zugriffsebenenabhängigkeiten finden Sie unter Grundlegende Zugriffsebene erstellen.

Nächste Schritte