Google Cloud Console und Google Cloud APIs schützen

In diesem Dokument erfahren Sie, wie Sie den Zugriff auf die Google Cloud Console und Google Cloud APIs mithilfe der kontextbasierten Regeln sichern.

Der kontextsensitive Zugriff für die Google Cloud Console und die Google Cloud APIs schränkt den Zugriff auf die Google Cloud Console und die Google Cloud APIs mit kontextbasierten Regeln ein. Sie ist Teil von Chrome Enterprise Premium. Damit wird sichergestellt, dass Personen und Gruppen innerhalb Ihrer Organisation, die die definierten Zugriffsanforderungen erfüllen, auf die Google Cloud Console und die Google Cloud APIs (einschließlich des Zugriffs über die Google Cloud CLI) zugreifen können.

Führen Sie die folgenden Schritte aus, um die Google Cloud Console und Google Cloud APIs zu sichern:

  1. [Optional] Stellen Sie Endpoint Verification auf Geräten in Ihrer Organisation bereit.
  2. Erstellen Sie eine Zugriffsebene in Access Context Manager.
  3. Erstellen Sie eine Gruppe von Nutzern, die an kontextsensitive Einschränkungen gebunden sind.
  4. Rufen Sie die erforderlichen Identity and Access Management-Berechtigungen ab.
  5. Erstellen Sie eine Zugriffsbindung, die kontextsensitive Regeln für die Google Cloud Console und die Google Cloud APIs erzwingt.

[Optional] Endpunktprüfung bereitstellen

Wenn Sie den Zugriff auf die Google Cloud Console und die Google Cloud APIs mithilfe der Geräteattribute absichern möchten, stellen Sie die Endpunktprüfung für Geräte in Ihrer Organisation bereit.

Die Endpunktprüfung wird als Chrome-Erweiterung auf Computern und Laptops für Nutzer von macOS, Windows und Linux ausgeführt. Ein Administrator kann den Dienst über die Admin-Konsole auf den unternehmenseigenen Geräten der Organisation bereitstellen. Mitglieder der Organisation können ihn aber auch selbst installieren.

Zugriffsebene erstellen

Sie müssen eine Zugriffsebene definieren, die beim Festlegen des Zugriffs auf die Google Cloud Console und die Google Cloud APIs verwendet werden kann. Dazu erstellen Sie in Access Context Manager eine einfache Zugriffsebene.

Nutzergruppe erstellen

Erstellen Sie eine Nutzergruppe, die an kontextsensitive Einschränkungen gebunden sein soll. Alle Nutzer in dieser Gruppe, die auch Mitglieder Ihrer Organisation sind, müssen die zuvor erstellte Zugriffsebene für den Zugriff auf die Google Cloud Console und die Google Cloud APIs erfüllen.

Erforderliche IAM-Berechtigungen gewähren

Erteilen Sie die IAM-Berechtigungen auf Organisationsebene, die zum Erstellen von Access Context Manager-Zugriffsbindungen erforderlich sind.

Console

  1. Rufen Sie in der Google Cloud Console die Seite IAM & Verwaltung auf.

    IAM & Verwaltung aufrufen

  2. Klicken Sie auf Hinzufügen und konfigurieren Sie Folgendes:

    • Neue Mitglieder: Geben Sie Nutzer oder Gruppe an, um die Berechtigungen zu erteilen.
    • Rolle auswählen: Wählen Sie Access Context Manager > Administrator für Cloud-Zugriffsbindungen aus.
  3. Klicken Sie auf Speichern.

gcloud

  1. Prüfen Sie, ob Sie über ausreichende Berechtigungen verfügen, um IAM-Berechtigungen auf Organisationsebene hinzuzufügen. Sie benötigen mindestens die Rolle Organisationsadministrator.

    Nachdem Sie überprüft haben, ob Sie die richtigen Berechtigungen haben, melden Sie sich mit folgendem an:

    gcloud auth login
    
  2. Weisen Sie die Rolle GcpAccessAdmin mit folgendem Befehl zu:

    gcloud organizations add-iam-policy-binding ORG_ID \
      --member=user:EMAIL \
      --role=roles/accesscontextmanager.gcpAccessAdmin
    
    • ORG_ID ist die ID Ihrer Organisation. Wenn Sie Ihre Organisations-ID noch nicht haben, können Sie sie mit dem folgenden Befehl ermitteln:

       gcloud organizations list
      
    • EMAIL ist die E-Mail-Adresse der Person oder Gruppe, der Sie die Rolle zuweisen möchten.

Zugriffsbindung erstellen

Eine Zugriffsbindung ist eine Zuordnung zwischen der zuvor erstellten Nutzergruppe und der Access Context Manager-Zugriffsebene, die Sie für den Zugriff auf die Google Cloud Console und die Google Cloud APIs definiert haben.

Sie haben folgende Möglichkeiten, eine Zugriffsbindung zu erstellen:

  • Zugriffsbindung zwischen einer Gruppe und einer Zugriffsebene.
  • Zugriffsbindung zwischen einer Gruppe und einer Zugriffsebene mit Probelaufkonfiguration. Mit der Probelaufkonfiguration können Sie eine Zugriffsbindung zwischen einer Gruppe und einer Probelauf-Zugriffsebene oder zwischen einer Gruppe, einer Zugriffsebene und einer Probelauf-Zugriffsebene erstellen.

Zugriffsbindung mit einer Zugriffsebene erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Chrome Enterprise Premium auf.

    Chrome Enterprise Premium aufrufen

  2. Wählen Sie eine Organisation aus und klicken Sie auf Auswählen.

  3. Klicken Sie auf Zugriff verwalten, um zu bestimmen, welche Nutzergruppen Zugriff haben sollen.

  4. Klicken Sie auf Hinzufügen und konfigurieren Sie Folgendes:

    • Mitgliedergruppen: Geben Sie die Gruppe an, der Sie Zugriff gewähren möchten. Es können nur Gruppen ausgewählt werden, die nicht bereits an eine Zugriffsebene gebunden sind.
    • Zugriffsebenen wählen: Wählen Sie die auf die Gruppe anzuwendende Zugriffsebene aus.
  5. Klicken Sie auf Speichern.

gcloud

In der Google Cloud CLI finden Sie weitere Informationen zu diesem und anderen gcloud access-context-manager cloud-bindings-Befehlen sowie zusätzlichen Flag-Optionen.

 gcloud access-context-manager cloud-bindings create \
    --group-key GROUP_ID \
    --level ACCESS_LEVEL \
    --organization ORG_ID

Wobei:

  • GROUP_ID ist die Gruppen-ID für die Gruppe von Nutzern, die Sie zuvor erstellt haben.

    Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die Methode get für die Ressource Groups aufrufen.

  • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben. Wenn das Attribut access-context-manager/organization nicht festgelegt wurde, ersetzen Sie ORG_ID im optionalen Flag --organization durch die ID der Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben.
  • POLICY_ID ist die ID der Zugriffsrichtlinie Ihrer Organisation.
  • ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.

API

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

  • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben.
  • GROUP_ID ist die Gruppen-ID für die Gruppe von Nutzern, die Sie zuvor erstellt haben.

    Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die Methode get für die Ressource Groups aufrufen.

  • POLICY_ID ist die ID der Zugriffsrichtlinie Ihrer Organisation.
  • ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.

HTTP-Methode und URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

JSON-Text der Anfrage:

{
  "groupKey": "GROUP_ID",
  "accessLevels": [ "ACCESS_LEVEL" ],
}

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/organizations/ORG_ID/gcpUserAccessBindings"

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/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",
  "accessLevels": [
    "accessPolicies/305009197125/accessLevels/device_lock"
  ]
}

Zugriffsbindung mit Probelaufkonfiguration erstellen

Sie können eine Zugriffsbindung mit Probelaufkonfiguration erstellen, um die Auswirkungen der Zugriffsebenen in Ihrer Umgebung in den folgenden Szenarien nachzuvollziehen:

  • Wenn Sie die Auswirkungen einer Zugriffsebene bewerten möchten, bevor Sie sie erzwingen, erstellen Sie eine Zugriffsbindung mit einer Zugriffsebene für einen Probelauf.
  • Wenn Sie eine Zugriffsebene erzwingen und gleichzeitig die Auswirkungen einer Probelauf-Zugriffsebene bewerten möchten, erstellen Sie eine Zugriffsbindung mit einer aktiven Zugriffsebene und einer Probelauf-Zugriffsebene.

Eine Zugriffsbindung mit einer Probelaufzugriffsebene verhindert den Zugriff nicht, sondern protokolliert die Verstöße gegen die Probelaufzugriffsebene. Die Logdetails finden Sie in den Ablehnungslogs.

Zugriffsbindung mit Probelaufzugriffsebene erstellen

gcloud

    gcloud access-context-manager cloud-bindings create \
    --group-key = GROUP_ID \
    --dry-run-level = DRY_RUN_ACCESS_LEVEL \
    --organization ORG_ID

Wobei:

  • GROUP_ID ist die Gruppen-ID für die Gruppe von Nutzern, die Sie zuvor erstellt haben.

    Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die Methode get für die Ressource Groups aufrufen.

  • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben. Wenn das Attribut access-context-manager/organization nicht festgelegt wurde, ersetzen Sie ORG_ID im optionalen Flag --organization durch die ID der Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben.
  • POLICY_ID ist die ID der Zugriffsrichtlinie Ihrer Organisation.
  • DRY_RUN_ACCESS_LEVEL ist die ACCESS_LEVEL, für die Sie die Auswirkungen ermitteln möchten. ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.

API

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

  • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben.
  • GROUP_ID ist die Gruppen-ID für die Gruppe von Nutzern, die Sie zuvor erstellt haben.

    Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die Methode get für die Ressource Groups aufrufen.

  • POLICY_ID ist die ID der Zugriffsrichtlinie Ihrer Organisation.
  • DRY_RUN_ACCESS_LEVEL ist die ACCESS_LEVEL, für die Sie die Auswirkungen ermitteln möchten. ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.

HTTP-Methode und URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

JSON-Text der Anfrage:

{
  "groupKey": "GROUP_ID",
  "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
}

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/organizations/ORG_ID/gcpUserAccessBindings"

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/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",

  "dryRunAccessLevels": [
    "accessPolicies/305009197125/accessLevels/another"
  ]
}

Zugriffsbindung mit Zugriffsebene und Probelaufebene erstellen

gcloud

    gcloud access-context-manager cloud-bindings create \
    --group-key = GROUP_ID \
    --level = ACCESS_LEVEL \
    --dry-run-level = DRY_RUN_ACCESS_LEVEL \
    --organization ORG_ID

Wobei:

  • GROUP_ID ist die Gruppen-ID für die Gruppe von Nutzern, die Sie zuvor erstellt haben.

    Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die Methode get für die Ressource Groups aufrufen.

  • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben. Wenn das Attribut access-context-manager/organization nicht festgelegt wurde, ersetzen Sie ORG_ID im optionalen Flag --organization durch die ID der Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben.
  • POLICY_ID ist die ID der Zugriffsrichtlinie Ihrer Organisation.
  • ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.
  • DRY_RUN_ACCESS_LEVEL ist die ACCESS_LEVEL, für die Sie die Auswirkungen ermitteln möchten. ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.

API

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

  • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben.
  • GROUP_ID ist die Gruppen-ID für die Gruppe von Nutzern, die Sie zuvor erstellt haben.

    Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die Methode get für die Ressource Groups aufrufen.

  • POLICY_ID ist die ID der Zugriffsrichtlinie Ihrer Organisation.
  • ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.
  • DRY_RUN_ACCESS_LEVEL ist die ACCESS_LEVEL, für die Sie die Auswirkungen ermitteln möchten. ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.

HTTP-Methode und URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

JSON-Text der Anfrage:

{
  "groupKey": "GROUP_ID",
  "accessLevels": [ "ACCESS_LEVEL" ],
  "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
}

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/organizations/ORG_ID/gcpUserAccessBindings"

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/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",
  "accessLevels": [
    "accessPolicies/305009197125/accessLevels/device_lock"
  ],
  "dryRunAccessLevels": [
    "accessPolicies/305009197125/accessLevels/another"
  ]
}

Ablehnungslogs ansehen

Nachdem Sie eine Probelaufkonfiguration erstellt haben, können Sie die Logs überprüfen, um herauszufinden, wo der Zugriff durch die Probelaufkonfiguration verweigert wird.

In der folgenden Tabelle sind die Logfelder aufgeführt, die Sie zum Erstellen und Ausführen der Abfrage zum Abrufen der Logs verwenden können:

Feldname Beschreibung
protoPayload > authenticationInfo > principalEmail E-Mail-ID des Hauptkontos, für das der Zugriff verweigert wird.
protoPayload > metadata > deniedApplications Name der Anwendung, auf die der Zugriff verweigert wird.
protoPayload > metadata > evaluationResult Das Bewertungsergebnis der Richtlinie für aktiven Zugriff. Mögliche Werte: GRANTED oder DENIED.
protoPayload > metadata > appliedAccessLevels Die angewendeten Zugriffsebenen, die für die aktive Zugriffsrichtlinie erforderlich sind.
protoPayload > metadata > appliedDryRunAccessLevels Die angewendeten Zugriffsebenen, die für die Zugriffsrichtlinie für den Probelauf erforderlich sind.
protoPayload > metadata > dryRunEvaluationResult Das Bewertungsergebnis der Probelauf-Zugriffsrichtlinie, das die beabsichtigte Aktion angibt, wenn die Zugriffsrichtlinie erzwungen wird. Mögliche Werte: GRANTED oder DENIED.

Weitere Informationen zum Erstellen einer Abfrage für Logs finden Sie unter Logging-Abfragesprache.

Console

  1. Klicken Sie im Navigationsmenü der Google Cloud Console auf Logging und dann auf Log-Explorer.

    Zum Log-Explorer

  2. Geben Sie im Feld Abfrage einen Abfragefilter wie den folgenden ein und klicken Sie dann auf Abfrage ausführen.

    severity="ERROR" AND
    (protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND
     protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND
     protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"
    
  3. Sehen Sie sich die Logs unter Abfrageergebnisse an.

gcloud

Führen Sie einen Befehl wie den folgenden aus, um Logs mithilfe der gcloud CLI aufzurufen:

gcloud logging read 'severity="ERROR" AND
  (protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND
   protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND
   protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"'

Zugriffsbindungen verwalten

Nachdem die Zugriffsbindungen für eine Gruppe von Nutzern erstellt wurden, wird der Zugriff auf die Google Cloud Console und die Google Cloud APIs basierend auf der gebundenen Zugriffsebene gesteuert.

Sie können die Details der von Ihnen erstellten Zugriffsbindung ansehen, sie bearbeiten oder löschen.

Zugriffsbindungen ansehen

Console

Sie können alle Zugriffsbindungen für die Organisation und die Details einer Zugriffsbindung ansehen.

gcloud

  • Führen Sie den folgenden Befehl aus, um alle Zugriffsbindungen anzusehen:

      gcloud access-context-manager cloud-bindings list \
       --organization ORG_ID
    

    Wobei:

    ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben. . Wenn das Attribut access-context-manager/organization nicht festgelegt wurde, ersetzen Sie ORG_ID im optionalen Flag --organization durch die ID der Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben.

  • Führen Sie den folgenden Befehl aus, um die Details einer Zugriffsbindung aufzurufen:

      gcloud access-context-manager cloud-bindings describe \
      --binding=BINDING_ID
    

    Wobei:

    BINDING_ID ist die ID der Zugriffsbindung oder der voll qualifizierten Kennung für die Zugriffsbindung.

API

  • Alle Zugriffsbindungen ansehen:

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

    • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben. Wenn das Attribut access-context-manager/organization nicht festgelegt wurde, ersetzen Sie ORG_ID im optionalen Flag --organization durch die ID der Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben.

    HTTP-Methode und URL:

    GET https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

    Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

    curl

    Führen Sie folgenden Befehl aus:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

    PowerShell

    Führen Sie folgenden Befehl aus:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    
    {
      "name": string,
      "groupKey": string,
      "accessLevels": [
        string
      ]
      "dryRunAccessLevels": [
      string
      ]
    }
    
    

  • Sehen Sie sich die Details einer Zugriffsbindung an:

    HTTP-Methode und URL:

    GET https://accesscontextmanager.googleapis.com/v1/BINDING_ID

    Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

    curl

    Führen Sie folgenden Befehl aus:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://accesscontextmanager.googleapis.com/v1/BINDING_ID"

    PowerShell

    Führen Sie folgenden Befehl aus:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://accesscontextmanager.googleapis.com/v1/BINDING_ID" | Select-Object -Expand Content

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    
    {
      "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
      "groupKey": "045jfvxd0ybeul8",
      "accessLevels": [
        "accessPolicies/305009197125/accessLevels/device_lock"
      ],
      "dryRunAccessLevels": [
        "accessPolicies/305009197125/accessLevels/another"
      ]
    }
    
    

Zugriffsbindungen aktualisieren

Console

Sie können eine Zugriffsbindung nach Bedarf aktualisieren.

gcloud

  • Führen Sie den folgenden Befehl aus, um eine Zugriffsbindung zu aktualisieren, z. B. um die Zugriffsebene zu ändern:

      gcloud access-context-manager cloud-bindings update \
         --binding ACCESS_BINDING \
         --level ACCESS_LEVEL
    

    Wobei:

    • ACCESS_BINDING hat das Format organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
    • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben.
    • ACCESS_BINDING_NAME ist der eindeutige String, der beim Erstellen der Zugriffsbindung für die ID name zurückgegeben wurde.
    • Ersetzen Sie den Wert für ACCESS_LEVEL nach Bedarf. ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.
  • Führen Sie den folgenden Befehl aus, um eine Zugriffsbindung mit einer Probelaufzugriffsebene zu aktualisieren:

     gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
      --dry-run-level=DRY_RUN_ACCESS_LEVEL
    

    Ersetzen Sie den Wert für DRY_RUN_ACCESS_LEVEL nach Bedarf. Sie hat das Format accessPolicies/POLICY_ID/accessLevels/DRY_ACCESS_LEVEL_NAME.

  • Führen Sie den folgenden Befehl aus, um eine Zugriffsbindung zu aktualisieren und sowohl die Zugriffsebene als auch die Zugriffsebene für den Probelauf zu ändern:

     gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
     --level=`ACCESS_LEVEL`
     --dry-run-level=DRY_RUN_ACCESS_LEVEL
    

    Ersetzen Sie den Wert für ACCESS_LEVEL und DRY_RUN_ACCESS_LEVEL nach Bedarf. ACCESS_LEVEL und DRY_RUN_ACCESS_LEVEL haben das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME und DRY_RUN_ACCESS_LEVEL ist dasselbe wie ACCESS_LEVEL.

  • Führen Sie den folgenden Befehl aus, um die Zugriffsebene für einen Probelauf aus einer Zugriffsbindung zu entfernen:

      gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
      --dry-run-level=
    

API

  • Aktualisieren Sie eine Zugriffsbindung, z. B. um die Zugriffsebene zu ändern:

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

    • ACCESS_BINDING_NAME ist der eindeutige String, der beim Erstellen der Zugriffsbindung für die ID name zurückgegeben wurde.
    • ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.

    HTTP-Methode und URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels

    JSON-Text der Anfrage:

    {
        "accessLevels": [ "ACCESS_LEVEL" ]
    }
    
    

    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 PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels"

    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 PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels" | Select-Object -Expand Content

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    
    {
        "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
        "groupKey": "045jfvxd0ybeul8",
        "accessLevels": [
          "accessPolicies/305009197125/accessLevels/device_lock"
        ]
    }
    
    

  • Aktualisieren Sie eine Zugriffsbindung mit der Probelaufzugriffsebene:

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

    • ACCESS_BINDING_NAME ist der eindeutige String, der beim Erstellen der Zugriffsbindung für die ID name zurückgegeben wurde.
    • DRY_RUN_ACCESS_LEVEL ist die ACCESS_LEVEL, für die Sie die Auswirkungen ermitteln möchten. ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.

    HTTP-Methode und URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels

    JSON-Text der Anfrage:

    {
      "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
    }
    
    

    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 PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"

    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 PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand Content

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    
    {
      name: "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
    
      group_key: "045jfvxd0ybeul8",
    
      dry_run_access_levels: [ "accessPolicies/305009197125/accessLevels/another" ]
      }
    
    

  • Aktualisieren Sie eine Zugriffsbindung und ändern Sie sowohl die Zugriffsebene als auch die Zugriffsebene für den Probelauf:

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

    • ACCESS_BINDING_NAME ist der eindeutige String, der beim Erstellen der Zugriffsbindung für die ID name zurückgegeben wurde.
    • ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.
    • DRY_RUN_ACCESS_LEVEL ist die ACCESS_LEVEL, für die Sie die Auswirkungen ermitteln möchten. ACCESS_LEVEL hat das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Die Werte für POLICY_ID und ACCESS_LEVEL_NAME finden Sie in Access Context Manager beim Erstellen der Zugriffsebene.

    HTTP-Methode und URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels

    JSON-Text der Anfrage:

    {
      "accessLevels": [ "ACCESS_LEVEL" ],
      "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
     }
    
    

    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 PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels"

    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 PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels" | Select-Object -Expand Content

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    
    {
      "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
      "groupKey": "045jfvxd0ybeul8",
      "accessLevels": [
        "accessPolicies/305009197125/accessLevels/device_lock"
      ],
      "dryRunAccessLevels": [
        "accessPolicies/305009197125/accessLevels/another"
      ]
    }
    
    

  • Entfernen Sie eine Probelauf-Zugriffsebene aus einer Zugriffsbindung:

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

    • ACCESS_BINDING_NAME ist der eindeutige String, der beim Erstellen der Zugriffsbindung für die ID name zurückgegeben wurde.

    HTTP-Methode und URL:

    PATCH PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels

    JSON-Text der Anfrage:

    {
      "dryRunAccessLevels": [ ]
    }
    
    

    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 PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"

    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 PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand Content

    Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.

Zugriffsbindungen löschen

Console

Sie können eine Zugriffsbindung bei Bedarf löschen.

gcloud

   gcloud access-context-manager cloud-bindings delete \
       --binding ACCESS_BINDING

Wobei:

  • ACCESS_BINDING hat das Format organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
  • ACCESS_BINDING_NAME ist der eindeutige String, der beim Erstellen der Zugriffsbindung für die ID name zurückgegeben wurde.

API

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

  • ACCESS_BINDING_NAME ist der eindeutige String, der beim Erstellen der Zugriffsbindung für die ID name zurückgegeben wurde.

HTTP-Methode und URL:

DELETE https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME"

PowerShell

Führen Sie folgenden Befehl aus:

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

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME" | Select-Object -Expand Content

Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.

Häufig gestellte Fragen

  • Wie lange dauert es, bis eine neu erstellte Zugriffsbindung wirksam wird?

    Dies kann bis zu 24 Stunden dauern.

  • Was passiert, wenn ich eine Gruppe mit Zugriffsbindung lösche?

    Gruppe und Bindung werden gelöscht und alle Nutzer in der Gruppe erhalten Zugriff.

  • Was passiert, wenn ich die Zugriffsebene lösche, die in einer Zugriffsbindung verwendet wird?

    Die Zugriffsebene kann nie erfüllt werden und alle Nutzer der gebundenen Gruppe kriegen den Zugriff verweigert.

  • Was passiert, wenn sich ein Nutzer in mehreren Gruppen mit Zugriffsbindungen befindet?

    Der Nutzer muss nur der Zugriffsebene einer dieser Gruppen entsprechen, um Zugriff zu erhalten.

  • Was ist mit Nutzern, die nicht zu meiner Organisation gehören?

    Personen, die nicht Ihrer Organisation angehören, unterliegen nicht der Zugriffsbindung, auch wenn Sie sie der Nutzergruppe hinzugefügt haben, die an kontextsensitive Einschränkungen gebunden sein soll.

Nächste Schritte