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.

Kontextsensitiver 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 ein mit kontextbasierten Regeln. Sie ist Teil von Chrome Enterprise Premium um sicherzustellen, dass Personen und Gruppen in Ihrem Unternehmen die definierten Zugriffsanforderungen Zugriff auf die Google Cloud Console Google Cloud APIs (einschließlich des Zugriffs über die Google Cloud CLI)

Führen Sie zum Schutz der Google Cloud Console und der Google Cloud APIs die folgenden Schritten:

  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. Zugriffsbindung erstellen, die kontextsensitive Regeln erzwingt für die Google Cloud Console und die Google Cloud APIs.

[Optional] Endpunktprüfung bereitstellen

Wenn Sie den Zugriff auf die Google Cloud Console und Google Cloud APIs mithilfe der Geräteattribute, Endpunktprüfung für Geräte in Ihrem Unternehmen.

Die Endpunktprüfung wird als Chrome-Erweiterung auf Computern und Laptops für Nutzer ausgeführt MacOS, Windows und Linux. Eine kann vom Administrator bereitgestellt werden über die Admin-Konsole auf die unternehmenseigenen Geräte können Mitglieder der Organisation installieren Sie sie selbst.

Zugriffsebene erstellen

Sie müssen eine Zugriffsebene definieren, die zur Bestimmung des Zugriffs verwendet werden kann mit der Google Cloud Console und den Google Cloud APIs Erstellen einer grundlegenden Zugriffsebene in Access Context Manager.

Nutzergruppe erstellen

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

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 Gruppe von Nutzer, die Sie zuvor erstellt haben, und der Access Context Manager-Zugriffsebene, die Sie die für den Zugriff auf die Google Cloud Console und Google Cloud APIs definiert wurden.

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 Zugriffsebene für Gruppe und Probelauf oder zwischen einer Gruppe, einer Zugriffsebene und Zugriffsebene für einen Probelauf.

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

Weitere Informationen dazu und zu anderen Themen finden Sie in der Google Cloud CLI gcloud access-context-manager cloud-bindings einschließlich zusätzlicher 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 der Nutzergruppe, die zuvor erstellt.

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

  • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin. Wenn das Attribut access-context-manager/organization nicht festgelegt wurde, ORG_ID im optionalen --organization ersetzen mit der ID der Organisation, die Sie beim Erstellen des Rolle GcpAccessAdmin.
  • 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen

API

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin.
  • GROUP_ID ist die Gruppen-ID der Nutzergruppe, die zuvor erstellt.

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

  • 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen

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 wie sich die Zugriffsebenen in Ihrer Umgebung Szenarien:

  • So bewerten Sie die Auswirkungen einer Zugriffsebene, bevor Sie sie erzwingen: eine Zugriffsbindung mit Probelaufzugriffsebene erstellen.
  • Zugriffsebene erzwingen und Auswirkungen einer Probelauf-Zugriffsebene bewerten Erstellen Sie gleichzeitig eine Zugriffsbindung mit aktiver Zugriffsebene und mit Probelauf-Zugriffsebene.

Eine Zugriffsbindung mit einer Zugriffsebene für einen Probelauf verhindert zwar nicht den Zugriff, aber Logs die Verstöße gegen die Zugriffsebene für den Probelauf. Informationen zu den Logdetails finden Sie in der Denial-Logs

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 der Nutzergruppe, die zuvor erstellt.

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

  • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin. Wenn das Attribut access-context-manager/organization nicht festgelegt wurde, ORG_ID im optionalen --organization ersetzen mit der ID der Organisation, die Sie beim Erstellen des Rolle GcpAccessAdmin.
  • POLICY_ID ist die ID der Zugriffsrichtlinie Ihrer Organisation.
  • DRY_RUN_ACCESS_LEVEL ist der/die/das ACCESS_LEVEL, deren Details Sie verstehen möchten den Effekt. 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen

API

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin.
  • GROUP_ID ist die Gruppen-ID der Nutzergruppe, die zuvor erstellt.

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

  • POLICY_ID ist die ID der Zugriffsrichtlinie Ihrer Organisation.
  • DRY_RUN_ACCESS_LEVEL ist der/die/das ACCESS_LEVEL, deren Details Sie verstehen möchten den Effekt. 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen

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 der Nutzergruppe, die zuvor erstellt.

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

  • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin. Wenn das Attribut access-context-manager/organization nicht festgelegt wurde, ORG_ID im optionalen --organization ersetzen mit der ID der Organisation, die Sie beim Erstellen des Rolle GcpAccessAdmin.
  • 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen
  • DRY_RUN_ACCESS_LEVEL ist der/die/das ACCESS_LEVEL, deren Details Sie verstehen möchten den Effekt. 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen

API

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • ORG_ID ist die ID für die Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin.
  • GROUP_ID ist die Gruppen-ID der Nutzergruppe, die zuvor erstellt.

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

  • 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen
  • DRY_RUN_ACCESS_LEVEL ist der/die/das ACCESS_LEVEL, deren Details Sie verstehen möchten den Effekt. 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen

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 prüfen, um bei denen die Probelaufkonfiguration den Zugriff verweigert.

In der folgenden Tabelle sind die Logfelder aufgeführt, die Sie zum Erstellen und Ausführen des um die Logs abzurufen:

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 angibt, Aktion, 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 Klicken Sie auf Log-Explorer.

    Zum Log-Explorer

  2. Geben Sie in das Feld Query (Abfrage) einen Abfragefilter wie den folgenden ein: 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 Google Cloud APIs über die gebundene Zugriffsebene.

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

Zugriffsbindungen ansehen

Console

Sie können sich alle Zugriffsbindungen der Organisation und die Details einer Zugriffsbindung.

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. . Wenn das Attribut access-context-manager/organization nicht festgelegt wurde, ORG_ID im optionalen --organization ersetzen mit der ID der Organisation, die Sie beim Erstellen des Rolle GcpAccessAdmin.

  • 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 vollständig qualifizierten ID für die Zugriffsbindung.

API

  • Alle Zugriffsbindungen ansehen:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

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

    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 Befehl folgenden Befehl:

      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.
    • ACCESS_BINDING_NAME ist der eindeutige String, der zurückgegeben wird. für die ID name, als die Zugriffsbindung erstellt 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen
  • Führen Sie folgenden Befehl aus, um eine Zugriffsbindung mit einer Zugriffsebene für den Probelauf zu aktualisieren: Befehl:

     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 liegt in der Form accessPolicies/POLICY_ID/accessLevels/DRY_ACCESS_LEVEL_NAME

  • So aktualisieren Sie eine Zugriffsbindung und ändern sowohl die Zugriffsebene als auch den Probelaufzugriff führen Sie den folgenden Befehl aus:

     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. ACCESS_LEVEL und DRY_RUN_ACCESS_LEVEL haben das Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME und DRY_RUN_ACCESS_LEVEL ist mit ACCESS_LEVEL identisch.

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

      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:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • ACCESS_BINDING_NAME ist der eindeutige String, der zurückgegeben wird. für die ID name, als die Zugriffsbindung erstellt 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen

    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:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • ACCESS_BINDING_NAME ist der eindeutige String, der zurückgegeben wird. für die ID name, als die Zugriffsbindung erstellt wurde.
    • DRY_RUN_ACCESS_LEVEL ist der/die/das ACCESS_LEVEL, deren Details Sie verstehen möchten den Effekt. 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen

    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" ]
      }
    
    

  • Zugriffsbindung aktualisieren und sowohl Zugriffsebene als auch Probelaufzugriff ändern Level:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • ACCESS_BINDING_NAME ist der eindeutige String, der zurückgegeben wird. für die ID name, als die Zugriffsbindung erstellt 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen
    • DRY_RUN_ACCESS_LEVEL ist der/die/das ACCESS_LEVEL, deren Details Sie verstehen möchten den Effekt. 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 In Context Manager beim Erstellen der Zugriffsebene zugreifen

    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:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • ACCESS_BINDING_NAME ist der eindeutige String, der zurückgegeben wird. für die ID name, als die Zugriffsbindung erstellt 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 zurückgegeben wird. für die ID name, als die Zugriffsbindung erstellt wurde.

API

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • ACCESS_BINDING_NAME ist der eindeutige String, der zurückgegeben wird. für die ID name, als die Zugriffsbindung erstellt 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