Gerätebasierte Zugriffsebenen erstellen

In diesem Dokument wird gezeigt, 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 gewährt wird, die auf Kontextinformationen zur Anfrage basieren. Als Administrator können Sie mit den bei der Endpunktprüfung erhobenen Geräteattributen 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 benutzerdefinierte Zugriffsebene. Maximieren Sie den erforderlichen Bereich, um eine Anleitung zu erhalten.

    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 Einfacher Modus 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 unter Geräteattribute, die von der Endpunktprüfung erfasst werden.

      Der folgende CEL-Ausdruck lässt nur den Zugriff über die verschlüsselten Geräte zu:

      device.encryption_status == DeviceEncryptionStatus.ENCRYPTED

      Beispiele und weitere Informationen zur Unterstützung der Common Expression Language (CEL) und zu benutzerdefinierten Zugriffsebenen finden Sie in der Spezifikation für benutzerdefinierte Zugriffsebenen.

    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.

    • Bei einer einfachen Zugriffsebene geben Sie 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üsselten Gerätespeichern und mit dem Status „Genehmigt“ des Geräts beschränken möchten, geben Sie in der Datei .yaml Folgendes 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 aller möglichen Attribute finden Sie in diesem Beispiel für eine YAML-Datei für die Zugriffsebene.

    Informationen zu den verfügbaren Geräteattributen für benutzerdefinierte Spezifikationen finden Sie unter Von der Endpunktprüfung erfasste Geräteattribute.

  2. Erstellen Sie die Zugriffsebene.

    • Führen Sie für eine einfache Zugriffsebene den folgenden Befehl aus:

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

      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. Er 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 .yaml-Datei. Für eine einfache Zugriffsebene enthält sie Geräterichtlinienattribute. Für eine benutzerdefinierte Zugriffsebene enthält sie einen CEL-Ausdruck, der als einzelnes Schlüssel/Wert-Paar formatiert ist: Ausdruck: "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. Er muss das folgende Format haben: accessPolicies/POLICY_ID/accessLevels/LEVEL_ID.
  • TITLE: ein visuell lesbarer Titel Sie muss für die Richtlinie eindeutig sein.
  • DESCRIPTION: eine Beschreibung der Zugriffsebene und ihrer Verwendung
  • CONDITION: eine Liste der Anforderungen für die Zugriffsebene, die gewährt werden soll.

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. Er muss das folgende Format haben: accessPolicies/POLICY_ID/accessLevels/LEVEL_ID.
  • TITLE: ein visuell lesbarer Titel Sie 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