Google Cloud Console und Google Cloud APIs sichern

Der kontextsensitive Zugriff auf die Cloud Console und die Google Cloud APIs beschränkt den Zugriff auf die Cloud Console und die Google Cloud APIs mit kontextbasierten Regeln. 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] Endpunktprüfung auf Geräten in Ihrer Organisation bereitstellen
  2. Zugriffsebene in Access Context Manager erstellen
  3. Erstellen Sie eine Nutzergruppe, die an BeyondCorp Enterprise-Einschränkungen gebunden sein soll.
  4. Rufen Sie die erforderlichen Berechtigungen für Identitäts- und Zugriffsverwaltung ab.
  5. Erstellen Sie eine Zugriffsbindung, die kontextsensitive Regeln für die Cloud Console und die Google Cloud APIs durchsetzt.

[Optional] Endpunktprüfung 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.

Die Endpunktprüfung wird für Nutzer von Mac, Windows und Linux als Chrome-Erweiterung auf Computern und Laptops ausgeführt. Ein Administrator kann sie bereitstellen zu den unternehmenseigenen Geräten der Organisation über die Admin-Konsole von Google Arbeitsbereich oder Mitglieder der Organisationselbst installieren auf.

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.

Nutzergruppe erstellen

Erstellen Sie eine Gruppe von Nutzern, die kontextsensitive Einschränkungen einhalten sollten. 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

Gewähren 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. Sorgen Sie dafür, dass 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 für Ihre Organisation. Wenn Sie Ihre Organisations-ID noch nicht haben, können Sie sie mit dem folgenden Befehl finden:

       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 noch nicht an eine Zugriffsebene gebunden sind.
    • Zugriffsebenen wählen: Wählen Sie die auf die Gruppe anzuwendende Zugriffsebene aus.
  5. Klicken Sie auf Speichern.

gcloud

Informationen zu diesem und anderen gcloud access-context-manager cloud-bindings-Befehlen, einschließlich weiterer 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 ab der Erstellung 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 die beim Erstellen der Rolle GcpAccessAdmin verwendet werden.

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 ab der Erstellung der Zugriffsebene.

  2. Erstellen Sie die Zugriffsbindung, indem Sie den Endpunkt gcpUserAccessBindings aufrufen. Ersetzen Sie dabei ORG_ID durch die ID der Organisation, 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 die beim Erstellen der Rolle GcpAccessAdmin verwendet werden.

  • 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 das Format haben, als die Bindung für die Ressource erstellt wurde.

  • 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 im selben Abschnitt wie unter "Änderung der Zugriffsbindung" beschrieben.

API

  • So rufen Sie alle Zugriffsbindungen in einer Organisation auf:

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

    Dies gibt eine Liste von GcpUserAccessBinding-Ressourcen zurück.

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

  • Wenn Sie eine bestimmte GcpUserAccessBinding-Ressource löschen möchten, rufen Sie 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 ein Nutzer in mehreren Gruppen mit Zugriffsbindungen vorhanden ist?

    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?

    Alle Nutzer, die nicht zu Ihrer Organisation gehören, unterliegen nicht der Zugriffsbindung, auch wenn Sie sie der Gruppe von Nutzern hinzugefügt haben, die kontextsensitive Einschränkungen haben sollen.

Nächste Schritte

  • Weitere Informationen zum Audit-Log für BeyondCorp Enterprise finden Sie unter Audit-Logging.
  • Weitere Informationen zum Audit-Logging in Access Context Manager, einschließlich einer Zusammenfassung darüber, welche API-Vorgänge für Administratoraktionen protokolliert werden, finden Sie unter Audit-Logging-Informationen in Access Context Manager.