Google Cloud Console und Google Cloud APIs sichern

Der kontextsensitive Zugriff für die Cloud Console und die Google Cloud APIs schränkt den Zugriff auf die Cloud Console und die Google Cloud APIs mit kontextbezogenen Regeln ein. Die Lösung baut auf der vorhandenen BeyondCorp Enterprise-Suite (Endpunktprüfung und Access Context Manager) auf und trägt dazu bei, dass nur Einzelpersonen und Gruppen innerhalb Ihrer Organisation, die die definierten Zugriffsanforderungen erfüllen, auf die Cloud Console und die Google Cloud APIs (einschließlich des gcloud-Befehlszeilentools) zugreifen können.

Die Funktion kann mit folgenden Schritten eingerichtet werden:

  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 Nutzergruppe, die an BeyondCorp Enterprise-Einschränkungen gebunden sein soll.
  4. Rufen Sie die erforderlichen Identity and Access Management-Berechtigungen ab.
  5. Erstellen Sie eine Zugriffsbindung, die kontextsensitive Regeln für die Cloud Console und die Google Cloud APIs durchsetzt.

[Optional] Endpoint Verification bereitstellen

Mit der Endpunktprüfung können Sie ein Inventar der Geräte erstellen, die auf die Daten Ihrer Organisation zugreifen. Als Teil einer BeyondCorp Enterprise-Lösung bedingt dies auch ein gesteigertes Gerätevertrauen und eine sicherheitsbasierte Zugriffssteuerung. Weiter befördert dies die Durchsetzung einer detaillierte Zugriffssteuerung für Ihre Google Cloud-Ressourcen.

Endpoint Verification wird als Chrome-Erweiterung auf Desktops und Laptops für Nutzer von Mac, Windows und Linux ausgeführt. Ein Administrator kann es auf den unternehmenseigenen Geräten der Organisation über die Google Workspace-Admin-Konsole bereitstellen oder Mitglieder der Organisation können es selbst installieren.

Zugriffsebene erstellen

Sie müssen eine Zugriffsebene definieren, die beim Steuern des Zugriffs auf die Cloud Console und die Google Cloud APIs verwendet wird. Dazu erstellen Sie eine grundlegende Zugriffsebene im Access Context Manager.

Gruppe von Nutzern 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 der zuvor erstellten Zugriffsebene entsprechen, um auf die Cloud Console und Google Cloud APIs zugreifen zu können.

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

Sie können jetzt eine Zugriffsbindung erstellen. Dies ist eine Zuordnung zwischen der zuvor erstellten Nutzergruppe und der Zugriffsebene des Access Context Manager, die Sie für den Zugriff auf die Cloud Console und Google Cloud APIs definiert haben.

Console

  1. Rufen Sie in der Cloud Console die Seite BeyondCorp Enterprise auf.

    Zu BeyondCorp Enterprise

  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 zu diesem und zu anderen gcloud access-context-manager cloud-bindings-Befehlen, einschließlich zusätzlicher Flag-Optionen, finden Sie im Cloud SDK.

gcloud access-context-manager cloud-bindings create \
    --group-key GROUP_ID \
    --level ACCESS_LEVEL \
    --organization ORG_ID
  • Ersetzen Sie GROUP_ID durch die Gruppen-ID der Gruppe von Nutzern, die Sie zuvor erstellt haben.

  • 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 vom Erstellen der Zugriffsebene.

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

API

  1. Verfassen Sie einen Anfragetext.

    {
      "groupKey": "GROUP_ID",
      "accessLevels": [ "ACCESS_LEVEL" ]
    }
    
    • Ersetzen Sie GROUP_ID durch die Gruppen-ID der Gruppe von Nutzern, die Sie zuvor erstellt haben.

    • 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 vom Erstellen der Zugriffsebene.

  2. Erstellen Sie die Zugriffsbindung, indem Sie den Endpunkt gcpUserAccessBindings aufrufen und ORG_ID durch die ID der Organisation ersetzen, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben:

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

    Dies gibt eine GcpUserAccessBinding-Ressource als Antwort zurück, die so formatiert ist:

    {
      // Unique name for the access binding, in the form
      // "organizations/ORG_ID/gcpUserAccessBindings/BINDING_ID"
      name: string,
    
      // Unique Group ID.
      group_key: string,
    
      // The access level that users of the group must satisfy, in the form
      // "accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME"
      access_levels: [ string ]
    }
    

Erfolg überprüfen

Nachdem die Zugriffsbindungen für eine Gruppe von Nutzern eingerichtet wurden, sollte der Zugriff auf die Cloud Console und die Google Cloud APIs gemäß der Erfüllung der gebundenen Zugriffsebene gesteuert werden.

Sie können prüfen, ob die Bindung erstellt wurde, sie bearbeiten oder löschen.

Console

Nachdem Sie eine Zugriffsbindung erstellt haben, werden alle Zugriffsbindungen für die Organisation angezeigt und können nach Bedarf bearbeitet oder gelöscht werden.

gcloud

  • So rufen Sie alle Zugriffsbindungen in einer Organisation auf:

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

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

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

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

    Ersetzen Sie ACCESS_BINDING durch organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME, wobei ORG_ID die ID für die Organisation ist, die Sie beim Erstellen der Rolle GcpAccessAdmin verwendet haben, und ACCESS_BINDING_NAME ist der eindeutige String, der für die Kennung name zurückgegeben wurde, als die Zugriffsbindung erstellt wurde.

    Der Wert für ACCESS_LEVEL sollte so formatiert sein wie beim Erstellen der Bindung für die Ressource.

  • So löschen Sie eine bestimmte Zugriffsbindung:

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

    Formatieren Sie den Wert für ACCESS_BINDING auf die gleiche Weise wie für das Ändern einer Zugriffsbindung beschrieben.

API

  • So rufen Sie alle Zugriffsbindungen in einer Organisation auf:

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

    Dadurch wird eine Liste von GcpUserAccessBinding-Ressourcen zurückgegeben.

  • Zum Ändern einer Zugriffsbindung, um beispielsweise die Zugriffsebene zu wechseln, erstellen Sie einen Anfragetext, der die Änderung definiert, und rufen dann den Endpunkt mit dem Namen der Ressource auf:

    {
      "accessLevels": [ "ACCESS_LEVEL" ]
    }
    

    Formatieren Sie den Wert für ACCESS_LEVEL so, wie zu dem Zeitpunkt, an dem die Bindung für die Ressource erstellt wurde.

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

    Ersetzen Sie ACCESS_BINDING_NAME durch den einmaligen String, der für die Kennzeichnung name beim Erstellen der Zugriffsbindung zurückgegeben wurde.

  • Rufen Sie zum Löschen einer bestimmten GcpUserAccessBinding-Ressource den Endpunkt mit dem Namen der Ressource auf:

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

    Ersetzen Sie ACCESS_BINDING_NAME durch den einmaligen String, der für die Kennzeichnung name beim Erstellen der Zugriffsbindung zurückgegeben wurde.

FAQ

  • 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 eine in einer Zugriffsbindung verwendete Zugriffsebene lösche?

    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