Eine grundlegende Zugriffsebene erstellen

Auf dieser Seite wird allgemein beschrieben, wie Sie einfache Zugriffsebenen erstellen. Informationen zum Erstellen benutzerdefinierter Zugriffsebenen und zum Verwenden des erweiterten Modus in der Google Cloud Console finden Sie unter Benutzerdefinierte Zugriffsebene erstellen.

Auf dieser Seite finden Sie gezieltere Implementierungen von Zugriffsebenen. Betrachten Sie die folgenden Beispiele:

Hinweise

Einfache Zugriffsebene erstellen

Console

So erstellen Sie eine einfache Zugriffsebene:

  1. Öffnen Sie in der Google Cloud Console die Seite Access Context Manager.

    Zur Seite "Access Context Manager"

  2. Wählen Sie Ihre Organisation aus, wenn Sie dazu aufgefordert werden.

  3. Klicken Sie oben auf der Seite Access Context Manager auf Neu.

  4. Im Bereich Neue Zugriffsebene:

    1. Geben Sie in das Feld Titel der Zugriffsebene einen Titel ein für Zugriffsebene ein. Der Titel darf maximal 50 Zeichen lang sein und muss mit einem Buchstaben beginnen. Er darf nur Zahlen, Buchstaben, Unterstriche und Leerzeichen enthalten.

    2. Klicken Sie im Abschnitt Bedingungen auf die Schaltfläche Hinzufügen für den Attributtyp, den Sie hinzufügen möchten, und geben Sie dann die Werte an, die auf dieses Attribut angewendet werden sollen.

      Eine vollständige Liste der Attribute, die Sie einfügen können, finden Sie unter Attribute für Zugriffsebenen.

      Wenn auf der Zugriffsebene zum Beispiel berücksichtigt werden soll, woher aus Ihrem Netzwerk eine Anfrage kommt, wählen Sie das Attribut IP-Subnetzwerke aus.

      Wiederholen Sie diesen Schritt, um der gleichen Bedingung mehrere Attribute hinzuzufügen. Wenn eine Bedingung mehrere Attribute hat, müssen alle Attribute von der Zugriffsanfrage erfüllt werden.

      Eine Bedingung für die Zugriffsebene kann jeweils einen Attributtyp enthalten. Einige Attribute, beispielsweise das Attribut Geräterichtlinie, enthalten zusätzliche Optionen.

      Zugriffsebenen unterstützen Bedingungen, die auf der Nutzeridentität basieren. Wenn Sie einer Bedingung jedoch Identitäten hinzufügen möchten, müssen Sie die Zugriffsebene über die gcloud CLI oder API erstellen oder aktualisieren.

    3. Verwenden Sie die Option Wenn Bedingung erfüllt ist, Rückgabe, um anzugeben, ob die Bedingung erfordern soll, dass eine Anfrage alle angegebenen Attribute (TRUE) oder ob die Anfrage alles außer diesen Attributen erfüllen muss (FALSE).

      Wenn Sie beispielsweise Anfragen aus einem bestimmten IP-Adressbereich Ihres Netzwerks ablehnen möchten, geben Sie den IP-Adressbereich mit dem Attribut IP Subnetworks an und setzen Sie die Bedingung auf FALSE.

    4. Klicken Sie, falls gewünscht, auf Weitere Bedingung hinzufügen, um der Zugriffsebene eine zusätzliche Bedingung hinzuzufügen. Wiederholen Sie dann die beiden vorherigen Schritte.

      Wenn Sie beispielsweise den Zugriff auf eine Teilmenge von IP-Adressen innerhalb eines breiteren IP-Adressbereichs verweigern möchten, erstellen Sie eine neue Bedingung, geben Sie den Teilmengen-IP-Adressbereich für das Attribut IP Subnetworks an und legen Sie die Bedingung so fest, dass sie FALSE zurückgibt.

      Wiederholen Sie diesen Schritt, um einer Zugriffsebene mehrere Bedingungen hinzuzufügen.

    5. Wenn Sie mehr als eine Bedingung erstellt haben, können Sie mit Bedingung kombinieren mit angeben, ob die Zugriffsebene eine Anfrage mindestens eine der Bedingungen (OR) oder alle Bedingungen (AND) erfordern soll.

    6. Klicken Sie auf Speichern.

gcloud

Hinweise

Verwenden Sie den Befehl gcloud access-context-manager levels create, um eine Zugriffsebene mit dem gcloud-Befehlszeilentool zu erstellen.

gcloud access-context-manager levels create LEVEL_NAME OPTIONS \
    --policy=POLICY

Wobei:

  • LEVEL_NAME ist der eindeutige Name für die Zugriffsebene. Dieser Name muss mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen und Unterstriche enthalten. Der Name darf maximal 50 Zeichen lang sein.

  • OPTIONS sind die erforderlichen Optionen aus der folgenden Tabelle.

    Optionen
    basic-level-spec

    Eine YAML-Datei, in der eine oder mehrere Bedingungen für die Zugriffsebene angegeben sind.

    title

    Kurzer Titel für die Zugriffsebene; Der Titel der Zugriffsebene wird in der Google Cloud Console angezeigt.

    combine-function

    (Optional) Legt fest, wie Bedingungen kombiniert werden.

    Gültige Werte: AND, OR

    description

    (Optional) Ausführliche Beschreibung der Zugriffsebene

  • POLICY ist die ID der Zugriffsrichtlinie Ihrer Organisation. Wenn Sie eine Standardrichtlinie festgelegt haben, ist dieser Parameter optional.

Optional können Sie beliebige allgemeine gcloud-Flags angeben.

YAML-Datei mit Basic-Level-Spezifikation

Wenn Sie eine Zugriffsebene mit dem gcloud-Befehlszeilentool erstellen, müssen Sie eine YAML-Datei für die Option basic-level-spec bereitstellen. Die YAML-Datei definiert eine oder mehrere Bedingungen für die Zugriffsebene. Bedingungen müssen mindestens ein Attribut enthalten. Wenn eine Bedingung mehr als ein Attribut enthält, werden sie entweder als AND-Vorgang (alle müssen wahr) oder als NAND-Vorgang (kein wahrer Wert) kombiniert, je nachdem, ob das Attribut negate in der Bedingung enthalten ist.

Eine vollständige Liste der Attribute, die Sie in Ihre YAML-Datei aufnehmen können, finden Sie unter Attribute für Zugriffsebenen.

Weitere Informationen über Zugriffsebenen und .yaml-Dateien finden Sie unter YAML-Beispieldatei für eine Zugriffsebene.

Beispielbefehl

gcloud access-context-manager levels create Device_Trust \
    --basic-level-spec=corpdevspec.yaml \
    --combine-function=AND \
    --description='Access level that conforms to corporate spec.' \
    --title='Device_Trust Extended' \
    --policy=1521580097614100

API

Hinweise

Rufen Sie zum Erstellen einer Zugriffsebene accessLevels.create auf.

POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels

Wobei:

  • POLICY ist die ID der Zugriffsrichtlinie Ihrer Organisation.

Anfragetext

Der Anfragetext muss eine AccessLevel-Ressource enthalten, die die gewünschten Bedingungen für die neue Zugriffsebene angibt. Jedes Condition hat ein oder mehrere Attribute, die als AND-Vorgang (alle müssen wahr sein) oder als NAND-Vorgang (kein kann wahr sein) ausgewertet wird, je nachdem, ob das Feld negate auf true gesetzt ist. Die resultierende Bewertung bestimmt, ob die Bedingung erfüllt ist oder nicht.

Antworttext

Bei erfolgreichem Ausführen enthält der Antworttext für den Aufruf eine Ressource Operation mit Informationen zum Vorgang POST.

Beispielimplementierungen

In den folgenden Beispielen werden einige praktische Möglichkeiten beschrieben, mit denen Sie Zugriffsebenen für eine Organisation implementieren können. In diesen Beispielen wird davon ausgegangen, dass die Organisation bereits eine Zugriffsrichtlinie hat.

Zugriff auf ein Unternehmensnetzwerk beschränken

In diesem Beispiel wird beschrieben, wie Sie eine Bedingung für eine Zugriffsebene erstellen können, die den Zugriff nur aus einem angegebenen Bereich von IP-Adressen zulässt (z. B. innerhalb eines Unternehmensnetzwerks).

Durch das Einschränken des Bereichs von IP-Adressen, denen Zugriff gewährt wird, können Sie die Datenexfiltration für einen Angreifer innerhalb oder außerhalb der Organisation erschweren.

Angenommen, Sie möchten eine Zugriffsebene erstellen, mit der eine Gruppe interner Prüfer auf den Cloud-Logging-Dienst für ein Projekt mit dem Namen sensible Daten zugreifen kann. Hierfür können Sie den Geräten der Prüfer IP-Adressen zwischen 203.0.113.0 und 203.0.113.127 in einem Subnetz zuweisen. Sie wissen, dass diesem Subnetz keine anderen Geräte als die der Prüfer zugewiesen sind.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Access Context Manager.

    Zur Seite "Access Context Manager"

  2. Wählen Sie Ihre Organisation aus, wenn Sie dazu aufgefordert werden.

  3. Klicken Sie oben auf der Seite Access Context Manager auf Neu.

  4. Klicken Sie im Bereich Neue Zugriffsebene im Abschnitt Bedingungen auf Attribut hinzufügen und dort auf IP-Subnetzwerke.

  5. Geben Sie in das Feld IP-Subnetzwerke einen oder mehrere Bereiche von IPv4- oder IPv6-Adressen als CIDR-Blöcke ein.

    In diesem Beispiel geben Sie in das Feld IP-Subnetzwerke den IP-Adressenbereich 203.0.113.0/25 ein, um den Zugriff auf die Prüfer zu beschränken.

  6. Klicken Sie auf Speichern.

gcloud

  1. Erstellen Sie eine YAML-Datei für eine Zugriffsebene, die einen oder mehrere IPv4- oder IPv6-Bereiche enthält, die als CIDR-Blöcke formatiert sind.

    In diesem Beispiel geben Sie Folgendes in die YAML-Datei ein, um den Zugriff auf die Prüfer zu beschränken:

    - ipSubnetworks:
      - 203.0.113.0/25
    
  2. Speichern Sie die Datei. In diesem Beispiel heißt die Datei CONDITIONS.yaml.

  3. Erstellen Sie die Zugriffsebene.

    gcloud access-context-manager levels create NAME \
       --title TITLE \
       --basic-level-spec CONDITIONS.yaml \
       --policy=POLICY
    

    Wobei:

    • NAME ist der eindeutige Name für die Zugriffsebene. Dieser Name muss mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen und Unterstriche enthalten.

    • TITLE ist ein für Menschen lesbarer Titel. Er muss für die Richtlinie eindeutig sein.

    • POLICY ist die ID der Zugriffsrichtlinie Ihrer Organisation. Wenn Sie eine Standardrichtlinie festgelegt haben, ist dieser Parameter optional.

    Die Ausgabe sollte etwa so aussehen:

    Create request issued for: NAME
    Waiting for operation [accessPolicies/POLICY/accessLevels/NAME/create/1521594488380943] to complete...done.
    Created level NAME.
    

API

  1. Verfassen Sie einen Anfragetext für das Erstellen einer AccessLevel-Ressource und legen Sie dort einen oder mehrere Bereiche von IPv4- oder IPv6-Adressen fest, die als CIDR-Blöcke formatiert sind.

    In diesem Beispiel geben Sie Folgendes in den Anfragetext ein, um den Zugriff nur auf die Prüfer zu beschränken:

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "ipSubnetworks": [
             "203.0.113.0/25"
           ]
         }
       ]
     }
    }
    

    Wobei:

    • NAME ist der eindeutige Name für die Zugriffsebene. Dieser Name muss mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen und Unterstriche enthalten.

    • TITLE ist ein für Menschen lesbarer Titel. Er muss für die Richtlinie eindeutig sein.

  2. Rufen Sie zum Erstellen der Zugriffsebene Folgendes auf: accessLevels.create.

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
    

    Wobei:

    • POLICY ist die ID der Zugriffsrichtlinie Ihrer Organisation.

Zugriff nach Geräteattributen beschränken

In diesem Beispiel wird beschrieben, wie Sie eine Zugriffsebene erstellen, die nur Geräten Zugriff gewährt, die bestimmte Anforderungen erfüllen, z. B. eine bestimmte Betriebssystemversion haben.

Gerätedaten werden für Access Context Manager mithilfe der Endpunktprüfung bereitgestellt. Sie können den Zugriff von folgenden Kriterien abhängig machen:

  • Bildschirmsperre ist aktiviert
  • Speicherverschlüsselung ist aktiviert
  • Typ und Version des Betriebssystems, das auf dem Gerät ausgeführt wird

Nehmen Sie für dieses Beispiel an, dass in Ihrer Organisation nur Computer verwendet werden, auf denen Chrome OS oder Windows installiert ist. Sie möchten eine Sicherheitsebene einfügen und dafür eine Zugriffsebene erstellen, die den Zugriff von Personen verhindert, die andere Betriebssysteme verwenden. Für das Risikomanagement möchten Sie außerdem, dass nur Geräte mit bestimmten Versionen der Betriebssysteme Zugriff erhalten.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Access Context Manager.

    Zur Seite "Access Context Manager"

  2. Wählen Sie Ihre Organisation aus, wenn Sie dazu aufgefordert werden.

  3. Klicken Sie oben auf der Seite Access Context Manager auf Neu.

  4. Klicken Sie im Bereich Neue Zugriffsebene im Abschnitt Bedingungen auf Attribut hinzufügen und dort auf Geräterichtlinie.

  5. Legen Sie die Attribute für die Geräterichtlinie fest:

    1. Klicken Sie auf Richtlinie für Betriebssystem hinzufügen und dann auf Richtlinie für Chrome OS.

    2. Geben Sie in das Feld Mindestversion die Mindestversion von Chrome OS ein, die Sie zulassen möchten.

    3. Wiederholen Sie die Schritte 1 und 2 für die Richtlinie für Windows Betriebssystem.

  6. Klicken Sie auf Speichern.

gcloud

  1. Erstellen Sie eine YAML-Datei für eine Zugriffsebene, die eine Geräterichtlinie mit Betriebssystemeinschränkungen enthält.

    In diesem Beispiel geben Sie Folgendes in die YAML-Datei ein, um nur Geräte mit einer zulässigen Mindestversion von Chrome OS und Windows zuzulassen:

    - devicePolicy:
        osConstraints:
          - osType: DESKTOP_CHROME_OS
            minimumVersion: 11316.165.0
          - osType: DESKTOP_WINDOWS
            minimumVersion: 10.0.1809
    
  2. Speichern Sie die Datei. In diesem Beispiel heißt die Datei CONDITIONS.yaml.

  3. Erstellen Sie die Zugriffsebene.

    gcloud access-context-manager levels create NAME \
       --title TITLE \
       --basic-level-spec CONDITIONS.yaml \
       --policy=POLICY
    

    Wobei:

    • NAME ist der eindeutige Name für die Zugriffsebene. Dieser Name muss mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen und Unterstriche enthalten.

    • TITLE ist ein für Menschen lesbarer Titel. Er muss für die Richtlinie eindeutig sein.

    • POLICY ist die ID der Zugriffsrichtlinie Ihrer Organisation. Wenn Sie eine Standardrichtlinie festgelegt haben, ist dieser Parameter optional.

    Die Ausgabe sollte etwa so aussehen:

    Create request issued for: NAME
    Waiting for operation [accessPolicies/POLICY/accessLevels/NAME/create/1521594488380943] to complete...done.
    Created level NAME.
    

API

  1. Verfassen Sie einen Anfragetext für das Erstellen einer AccessLevel-Ressource, die eine Geräterichtlinie mit Betriebssystemeinschränkungen enthält.

    In diesem Beispiel geben Sie Folgendes in den Anfragetext ein, um nur Geräte mit der festgelegten Mindestversion von Chrome OS und Windows zuzulassen:

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "devicePolicy": {
             "osConstraints": [
               {
                 "osType": "DESKTOP_CHROME_OS",
                 "minimumVersion": "11316.165.0"
               },
               {
                 "osType": "DESKTOP_WINDOWS",
                 "minimumVersion": "10.0.1809"
               }
             ]
           {
         }
       ]
     }
    }
    

    Wobei:

    • NAME ist der eindeutige Name für die Zugriffsebene. Dieser Name muss mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen und Unterstriche enthalten.

    • TITLE ist ein für Menschen lesbarer Titel. Er muss für die Richtlinie eindeutig sein.

  2. Rufen Sie zum Erstellen der Zugriffsebene Folgendes auf: accessLevels.create.

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
    

    Wobei:

    • POLICY ist die ID der Zugriffsrichtlinie Ihrer Organisation.

Zugriff nach Nutzer oder Dienstkonto gewähren

Identitätsbasierte Zugriffsgewährungen sind häufig in Verbindung mit Dienstkonten nützlich, z. B. um einer Cloud Functions-Funktion den Zugriff auf Daten zu ermöglichen.

In diesem Beispiel wird beschrieben, wie Sie bestimmten Nutzern und Dienstkonten Zugriff gewähren. Dabei werden vorhandene Zugriffsebenen berücksichtigt, um ein Beispiel für verschachtelte Zugriffsebenen zu zeigen. In diesem Fall werden die angegebenen Nutzer in diese Zugriffsebene aufgenommen, unabhängig davon, ob sie die in den vorhandenen Zugriffsebenen festgelegten Bedingungen erfüllen. Die neue Zugriffsebene kann als weniger restriktive Stufe betrachtet werden als die bestehenden Zugriffsebenen.

Console

Das Hinzufügen von Hauptkonten zu Zugriffsebenen wird in der Google Cloud Console derzeit nicht unterstützt. Wenn Sie Hauptkonten zu Zugriffsebenen hinzufügen möchten, müssen Sie das gcloud-Befehlszeilentool oder die API verwenden.

gcloud

  1. Erstellen Sie eine YAML-Datei mit einer Bedingung, in der die Hauptkonten aufgeführt sind, auf die Sie Zugriff gewähren möchten.

    In diesem Beispiel möchten Sie Ihren Systemadministrator (sysadmin@example.com) und ein Dienstkonto (service@project.iam.gserviceaccount.com) hinzufügen.

    - members:
        - user:sysadmin@example.com
        - serviceAccount:service@project.iam.gserviceaccount.com
    
  2. Fügen Sie eine Bedingung hinzu, mit der die vorhandenen Zugriffsebenen aufgelistet werden, die in dieser Zugriffsebene enthalten sein sollen.

    In diesem Beispiel wird angenommen, dass die Zugriffsebenen Device_Trust und IP_Trust heißen und 247332951433 der Name Ihrer Zugriffsrichtlinie ist.

    - members:
        - user:sysadmin@example.com
        - serviceAccount:service@project.iam.gserviceaccount.com
    
    - requiredAccessLevels:
        - accessPolicies/247332951433/accessLevels/Device_Trust
        - accessPolicies/247332951433/accessLevels/IP_Trust
    
  3. Speichern Sie die Datei. In diesem Beispiel heißt die Datei CONDITIONS.yaml.

  4. Erstellen Sie die Zugriffsebene mit dem Befehl create.

    gcloud access-context-manager levels create NAME \
       --title TITLE \
       --basic-level-spec CONDITIONS.yaml \
       --combine-function=OR \
       --policy=POLICY
    

    Wobei:

    • NAME ist der eindeutige Name für die Zugriffsebene. Dieser Name muss mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen und Unterstriche enthalten.

    • TITLE ist ein für Menschen lesbarer Titel. Er muss für die Richtlinie eindeutig sein.

    • POLICY ist die ID der Zugriffsrichtlinie Ihrer Organisation. Wenn Sie eine Standardrichtlinie festgelegt haben, ist dieser Parameter optional.

    • combine-function ist auf OR gesetzt. Der Standardwert AND erfordert, dass alle Bedingungen erfüllt sind, bevor eine Zugriffsebene gewährt wird. Der Wert OR gewährt den Hauptkonten Zugriff, auch wenn andere Bedingungen nicht erfüllt sind.

    Die Ausgabe sollte etwa so aussehen:

    Create request issued for: NAME
    Waiting for operation [accessPolicies/POLICY/accessLevels/NAME/create/1521594488380943] to complete...done.
    Created level NAME.
    

API

  1. Verfassen Sie einen Anfragetext zum Erstellen einer AccessLevel-Ressource mit einer Bedingung, in der die Hauptkonten aufgelistet sind, auf die Sie Zugriff gewähren möchten.

    In diesem Beispiel möchten Sie Ihren Systemadministrator (sysadmin@example.com) und ein Dienstkonto (service@project.iam.gserviceaccount.com) hinzufügen.

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "members": [
             "user:sysadmin@example.com",
             "serviceAccount:service@project.iam.gserviceaccount.com"
           ]
         }
       ]
     }
    }
    

    Wobei:

    • NAME ist der eindeutige Name für die Zugriffsebene. Dieser Name muss mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen und Unterstriche enthalten.

    • TITLE ist ein für Menschen lesbarer Titel. Er muss für die Richtlinie eindeutig sein.

  2. Fügen Sie eine Bedingung hinzu, mit der die vorhandenen Zugriffsebenen aufgelistet werden, die in dieser Zugriffsebene enthalten sein sollen.

    In diesem Beispiel wird angenommen, dass die Zugriffsebenen Device_Trust und IP_Trust heißen und 247332951433 der Name Ihrer Zugriffsrichtlinie ist.

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "members": [
             "user:sysadmin@example.com",
             "serviceAccount:service@project.iam.gserviceaccount.com"
           ]
         },
         {
           "requiredAccessLevels": [
             "accessPolicies/247332951433/accessLevels/Device_Trust",
             "accessPolicies/247332951433/accessLevels/IP_Trust"
           ]
         }
       ]
     }
    }
    
  3. Setzen Sie combiningFunction auf OR.

    Der Standardwert für combiningFunction, AND, legt fest, dass alle Bedingungen erfüllt sein müssen, bevor eine Zugriffsebene gewährt wird. Bei Einstellung des Wertes OR erhalten die Mitglieder Zugriff, auch wenn andere Bedingungen nicht erfüllt sind, wie z. B. in Bezug auf eine IP-Adresse oder Bedingungen, die von anderen erforderlichen Zugriffsebenen übernommen werden.

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "members": [
             "user:sysadmin@example.com",
             "serviceAccount:service@project.iam.gserviceaccount.com"
           ]
         },
         {
           "requiredAccessLevels": [
             "accessPolicies/247332951433/accessLevels/Device_Trust",
             "accessPolicies/247332951433/accessLevels/IP_Trust"
           ]
         }
       ],
       "combiningFunction": "OR"
     }
    }
    
  4. Rufen Sie zum Erstellen der Zugriffsebene Folgendes auf: accessLevels.create.

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
    

    Wobei:

    • POLICY ist die ID der Zugriffsrichtlinie Ihrer Organisation.