Zugriffsbindungen verwalten

Auf dieser Seite wird beschrieben, wie Sie vorhandene Zugriffsbindungen verwalten, mit denen festgelegt wird, wie Zugriffsrichtlinien auf Ihre Nutzergruppen angewendet werden. Sie können diese Bindungen nach Bedarf aufrufen, ändern und löschen. Mit Zugriffsbindungen wird festgelegt, wie Zugriffsebenen und Sitzungssteuerungen auf eine Nutzergruppe angewendet werden.

Informationen zum Erstellen von Zugriffsbindungen sowie weitere Details zu Zugriffsebenen und Sitzungssteuerungen finden Sie unter Richtlinien auf Nutzergruppen mit Zugriffsbindungen anwenden.

Zugriffsbindungen ansehen

Nachdem die Zugriffsbindungen für eine Gruppe von Nutzern erstellt wurden, wird der Zugriff auf dieGoogle Cloud -Konsole und die Google Cloud -APIs gemäß der Erfüllung der gebundenen Zugriffsebene gesteuert.

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

Console

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

    Zu Access Context Manager

  2. Wählen Sie ein Projekt aus, wenn Sie dazu aufgefordert werden. Die Liste der Zugriffsbindungen finden Sie auf der Seite „Access Context Manager“.

gcloud

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

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

    ORG_ID: Ihre Organisations-ID. Wenn die Property 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
    

    BINDING_ID ist die ID der Zugriffsbindung oder die voll qualifizierte Kennzeichnung für die Zugriffsbindung.

API

  • So rufen Sie alle Zugriffsbindungen auf:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • ORG_ID ist die ID der Organisation, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben. Wenn die Property 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 eine JSON-Antwort ähnlich wie diese erhalten:

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

  • So rufen Sie die Details einer Zugriffsbindung auf:

    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 eine JSON-Antwort ähnlich wie diese erhalten:

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

Zugriffsbindung aktualisieren

Sie können eine Zugriffsbindung aktualisieren, um Folgendes zu tun:

  • Sie können Anwendungen hinzufügen, entfernen oder ändern, für die eine Richtlinie gilt.
  • Zugriffsebenen für eine Anwendung innerhalb einer Nutzergruppe ändern
  • Fügen Sie eine neue Zugriffsebene für den Testzeitraum hinzu oder stufen Sie eine vorhandene Zugriffsebene in eine Live-Ebene hoch.

Console

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

    Zu Access Context Manager

  2. Wählen Sie ein Projekt aus, wenn Sie dazu aufgefordert werden.

  3. Wählen Sie auf der Seite „Access Context Manager“ eine Zugriffsbindung aus und klicken Sie dann auf Bearbeiten, um sie zu aktualisieren.

In der Google Cloud -Console können Sie keine Zugriffsbindungen mit Zugriffsebenen für den Trockenlauf oder Sitzungssteuerungen aktualisieren.

gcloud

  1. Erstellen Sie eine YAML-Bindungsdatei.

    gcloud access-context-manager cloud-bindings update
      --binding ACCESS_BINDING
      --binding-file BINDING_FILE_PATH
    [  --level DEFAULT_ACCESS_LEVEL ]
    [  --dry-run-level DEFAULT_DRY_RUN_ACCESS_LEVEL           ]
    [  --session-length=DEFAULT_SESSION_LENGTH                ]
    [  --session-reauth-method=DEFAULT_SESSION_REAUTH_METHOD  ]
    

    Ersetzen Sie Folgendes:

    • ACCESS_BINDING hat das Format organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
    • BINDING_FILE_PATH: Der Pfad zur YAML-Datei, die das Zugriffsbindungsschema enthält. Die Bindungsdatei unterstützt nur scopedAccessSettings.
    • DEFAULT_ACCESS_LEVEL: Der optionale Name der Zugriffsebene im Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Ersetzen Sie POLICY_ID durch die ID der Zugriffsrichtlinie und ACCESS_LEVEL_NAME durch den Namen der Zugriffsebene.
    • DEFAULT_DRY_RUN_ACCESS_LEVEL_2: Optionaler Name der Zugriffsebene im Format „accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME“. Fügen Sie dieses Flag hinzu, um die angegebene Zugriffsebene für den Trockenlauf standardmäßig auf alle Anwendungen anzuwenden, sofern sie nicht in der YAML-Datei angegeben sind.
    • DEFAULT_SESSION_LENGTH: Die optionale Sitzungsdauer im ISO 8601-Dauerformat, z. B. 30m für 30 Minuten oder 2h für zwei Stunden.
    • DEFAULT_SESSION_REAUTH_METHOD: Die optionale Methode, mit der Nutzer aufgefordert werden, ihre Identität noch einmal zu bestätigen. Sie muss eine der folgenden sein:
      • LOGIN: Die Standardanmeldung anwenden, die MFA oder andere von Workspace definierte Faktoren umfassen kann.
      • PASSWORD: Nur ein Passwort erforderlich, auch wenn andere Faktoren definiert sind. Wenn Passwörter über einen externen IdP verwaltet werden, werden Nutzer an den IdP weitergeleitet. Wenn die IdP-Sitzung aktiv ist, werden Nutzer implizit noch einmal authentifiziert. Wenn der IdP nicht aktiv ist, müssen sich Nutzer über den IdP anmelden.
      • SECURITY_KEY: Hardware-Sicherheitsschlüssel erforderlich machen.

    Zusammenspiel der Argumente --level und --binding-file

    • Wenn Sie nur --binding-file verwenden, werden die Richtlinien nur auf die Anwendungen in der Datei angewendet.
    • Wenn Sie nur --level verwenden, gilt die Zugriffsebene für alle Anwendungen.
    • Wenn Sie beide verwenden, haben die Regeln in der YAML-Datei Vorrang. Der Wert --level gilt für alle Anwendungen, die nicht in der Datei aufgeführt sind.

    Sitzungssteuerung verwenden

    • Verwenden Sie --session-length und --session-reauth-method, um Standardeinstellungen für die Sitzungssteuerung für alle Anwendungen festzulegen.
    • Wenn Sie auch Sitzungssteuerungen in der YAML-Datei definieren, werden die Standardeinstellungen für diese bestimmten Anwendungen durch diese Sitzungssteuerungen überschrieben.
    • Sie müssen --session-length und --session-reauth-method zusammen verwenden.

    Wenn Sie eine Standardzugriffsebene oder eine Standardzugriffsebene für den Trockenlauf entfernen möchten, geben Sie einen leeren String wie --level= oder --dry-run-level= an. Wenn diese Argumente nicht angegeben werden, werden durch den Befehl update keine Änderungen vorgenommen.

    Wenn Sie eine Sitzungssteuerung entfernen möchten, setzen Sie --session-length=0.

API

  1. Erstellen Sie einen JSON-Text.

    {
      "accessLevels": [
        "DEFAULT_ACCESS_LEVEL"
      ],
      "scopedAccessSettings": [
        {
          "scope": {
            "clientScope": {
              "restrictedClientApplication": {
                "clientId": "CLIENT_ID"
              }
            }
          },
          "activeSettings": {
            "accessLevels": [
              "ACCESS_LEVEL_A"
            ],
            "sessionSettings": [
              {
                "sessionLength": "SESSION_LENGTH",
                "sessionReauthMethod": "SESSION_REAUTH_METHOD",
                "sessionLengthEnabled": true
              }
            ]
        }
        },
        {
          "scope": {
            "clientScope": {
              "restrictedClientApplication": {
                "name": "CLIENT_NAME"
              }
            },
            "activeSettings": {
              "accessLevels": [
                "ACCESS_LEVEL_C"
              ]
            }
          }
        }
      ]
    }
    

    Ersetzen Sie Folgendes:

    • DEFAULT_ACCESS_LEVEL: Der optionale Name der Zugriffsebene im Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Ersetzen Sie POLICY_ID durch die ID der Zugriffsrichtlinie und ACCESS_LEVEL_NAME durch den Namen der Zugriffsebene.
    • CLIENT_ID: Die OAuth-Client-ID. Sie müssen clientId verwenden, wenn eine Anwendung sessionSettings enthält.
    • ACCESS_LEVEL_A: Ein Name für die Zugriffsebene im Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME.
    • SESSION_LENGTH: Die Sitzungsdauer im ISO 8601-Dauerformat, z. B. 30m für 30 Minuten oder 2h für zwei Stunden.
    • SESSION_REAUTH_METHOD: Die optionale Methode, mit der Nutzer aufgefordert werden, ihre Identität noch einmal zu bestätigen. Sie muss eine der folgenden sein:

      • LOGIN: Die Standardanmeldung anwenden, die MFA oder andere von Workspace definierte Faktoren umfassen kann.
      • PASSWORD: Es wird nur ein Passwort benötigt, auch wenn andere Faktoren definiert sind. Wenn Passwörter über einen externen IdP verwaltet werden, werden Nutzer an den IdP weitergeleitet. Wenn die IdP-Sitzung aktiv ist, werden Nutzer implizit noch einmal authentifiziert. Wenn der IdP nicht aktiv ist, müssen sich Nutzer über den IdP anmelden.
      • SECURITY_KEY: Hardware-Sicherheitsschlüssel erforderlich machen.
    • CLIENT_NAME: Der Name des Kunden. Wenn die Anwendung sessionSettings enthält, können Sie den Clientnamen nicht verwenden. Verwenden Sie stattdessen die OAuth-Client-ID.

    • ACCESS_LEVEL_C: Ein Name für die Zugriffsebene im Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME.

  2. Senden Sie die PATCH-Anfrage.

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING?fieldMask=FIELDMASK
    

    Ersetzen Sie Folgendes:

    • ACCESS_BINDING hat das Format organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
    • FIELD_MASK: Eine erforderliche, durch Kommas getrennte Liste der Felder, die Sie aktualisieren möchten. So wird der API mitgeteilt, welche Teile der Zugriffsbindung geändert werden sollen.

    fieldMask sollte die JSON-Schlüssel der obersten Ebene im Anfragetext enthalten, die Sie aktualisieren möchten. Dazu gehören accessLevels, dryRunAccessLevels und scopedAccessSettings.

    Bei Erfolg sollten Sie eine Darstellung des JSON-Objekts erhalten. Falls ein Problem auftritt, erhalten Sie eine Fehlermeldung.

Zugriffsbindungen löschen

Console

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

    Zu Access Context Manager

  2. Wählen Sie ein Projekt aus, wenn Sie dazu aufgefordert werden.

  3. Wählen Sie auf der Seite „Access Context Manager“ eine Zugriffsbindung aus und klicken Sie dann auf Löschen.

gcloud

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

Ersetzen Sie Folgendes:

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

API

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • ACCESS_BINDING_NAME ist der eindeutige String, der für die Kennung name zurückgegeben wurde, 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 erhalten.