Zugriffsbindungen verwalten

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

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

Zugriffsb Bindungen ansehen

Nachdem die Zugriffsbindungen für eine Gruppe von Nutzern erstellt wurden, wird der Zugriff auf dieGoogle Cloud Console 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 wird auf der Seite „Access Context Manager“ aufgeführt.

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 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
    

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

API

  • Alle Zugriffsbindungen ansehen:

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

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

  • Details einer Zugriffsbindung ansehen:

    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 Richtlinien für Anwendungen hinzufügen, entfernen oder ändern.
  • Ändern Sie die Zugriffsebenen für eine Anwendung in einer Nutzergruppe.
  • Fügen Sie eine neue Probelauf-Zugriffsebene hinzu oder stufen Sie eine vorhandene auf eine Live-Zugriffsebene 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.

Sie können Zugriffsbindungen mit Zugriffsebenen für den Probelauf oder Sitzungssteuerungen in der Google Cloud -Konsole nicht 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. In der Bindungsdatei wird nur scopedAccessSettings unterstützt.
    • 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: Ein 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 Probelauf standardmäßig auf alle Anwendungen anzuwenden, sofern sie nicht in der YAML-Datei angegeben sind.
    • DEFAULT_SESSION_LENGTH: Die optionale Sitzungsdauer im ISO 8601-Format, z. B. 30m für 30 Minuten oder 2h für 2 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 wird angewendet, die die MFA oder andere von Workspace definierte Faktoren umfassen kann.
      • PASSWORD: Es ist 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 neu authentifiziert. Wenn der IdP nicht aktiv ist, müssen sich Nutzer über den IdP anmelden.
      • SECURITY_KEY: Hardware-Sicherheitsschlüssel erforderlich.

    Zusammenwirken 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, werden die Regeln kombiniert. Der Wert --level gilt für alle Anwendungen, während die Richtlinien in der YAML-Datei, die durch --binding-file angegeben wird, nur für die in der Datei definierten Anwendungen gelten.

    Mit Sitzungssteuerelementen arbeiten

    • Wenn Sie Standardeinstellungen für die Sitzungssteuerung für alle Anwendungen festlegen möchten, verwenden Sie --session-length und --session-reauth-method.
    • Wenn Sie auch Sitzungssteuerungen in der YAML-Datei definieren, überschreiben diese die Standardeinstellungen für die jeweiligen Anwendungen.
    • Sie müssen --session-length und --session-reauth-method zusammen verwenden.

    Wenn Sie eine Standardzugriffsebene oder eine Standardzugriffsebene für den Probebetrieb entfernen möchten, geben Sie einen leeren String an, z. B. --level= oder --dry-run-level=. Wenn diese Argumente nicht angegeben werden, nimmt der Befehl update keine Änderungen vor.

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

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 der Zugriffsebene im Format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME.
    • SESSION_LENGTH: Die Sitzungsdauer im ISO 8601-Format, z. B. 30m für 30 Minuten oder 2h für 2 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 wird angewendet, die die MFA oder andere von Workspace definierte Faktoren umfassen kann.
      • PASSWORD: Nur ein Passwort ist 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 neu authentifiziert. Wenn der IdP nicht aktiv ist, müssen sich Nutzer über den IdP anmelden.
      • SECURITY_KEY: Hardware-Sicherheitsschlüssel erforderlich.
    • CLIENT_NAME: Der Clientname. 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 der 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. Damit 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. Diese können accessLevels, dryRunAccessLevels und scopedAccessSettings enthalten.

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

Zugriffsberechtigungen 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 Kennzeichnung 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 Kennzeichnung name beim Erstellen der Zugriffsbindung 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 erhalten.