Zugriffssteuerung

Auf dieser Seite werden die Möglichkeiten der Zugriffssteuerung beschrieben, die Ihnen in Cloud Bigtable zur Verfügung stehen.

Überblick

Cloud Bigtable nutzt Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) für die Zugriffssteuerung.

Für Cloud Bigtable können Sie die Zugriffssteuerung auf Projekt-, Instanz- und Tabellenebene konfigurieren. Im Folgenden finden Sie einige Beispiele für die Verwendung der Zugriffssteuerung auf Projektebene:

  • Einem Nutzer erlauben, aus jeder Tabelle innerhalb des Projekts zu lesen, aber nicht, in ihr zu schreiben
  • Einem Nutzer erlauben, aus jeder Tabelle innerhalb des Projekts zu lesen und in diese zu schreiben, aber nicht, Instanzen zu verwalten
  • Einem Nutzer erlauben, aus jeder Tabelle innerhalb des Projekts zu lesen und in diese zu schreiben sowie Instanzen zu verwalten

Im Folgenden finden Sie einige Beispiele für die Verwendung der Zugriffssteuerung auf Instanzebene:

  • Einem Nutzer erlauben, aus einer beliebigen Tabelle in nur einer Instanz innerhalb eines Projekts mit mehreren Instanzen zu lesen.
  • Einem Nutzer erlauben, nur eine Instanz in einem Projekt mit mehreren Instanzen zu verwalten.

Beispiele für die Verwendung der Zugriffssteuerung auf Tabellenebene:

  • Einem Nutzer erlauben, in eine Tabelle zu schreiben, aber nicht aus der Tabelle zu lesen.
  • Einem Nutzer erlauben, aus einer Tabelle zu lesen, aber nicht in die Tabelle zu schreiben.

Eine ausführliche Beschreibung von IAM und seinen Features finden Sie im IAM-Entwicklerhandbuch. Insbesondere wird auf Zugriff für Projektmitglieder erlauben, ändern und widerrufen verwiesen.

Listen mit Berechtigungen und Rollen, die Cloud Bigtable unterstützt, finden Sie in den folgenden Abschnitten.

Cloud Bigtable API aktivieren

Sie müssen die Cloud Bigtable API für Ihr Projekt aktivieren, um Cloud Bigtable IAM-Rollen anzeigen und zuweisen zu können. Sie können die Cloud Bigtable-Rollen erst dann in der Cloud Console sehen, wenn Sie die API aktivieren.

Aktivieren Sie die API

Berechtigungen

In diesem Abschnitt werden die Berechtigungen beschrieben, die Cloud Bigtable unterstützt.

Berechtigungen erlauben es Nutzern, bestimmte Aktionen mit Cloud Bigtable-Ressourcen durchzuführen. Mit den Berechtigungen bigtable.instances.list können Nutzer beispielsweise alle Cloud Bigtable-Instanzen innerhalb eines Projekts auflisten. Sie erteilen Nutzern die Berechtigungen nicht direkt, sondern weisen jedem Nutzer eine vordefinierte Rolle oder benutzerdefinierte Rolle zu, die eine oder mehrere Berechtigungen beinhaltet.

Die folgende Tabelle listet IAM-Berechtigungen auf, die mit Cloud Bigtable in Verbindung stehen:

Name der Standortberechtigung Beschreibung
bigtable.locations.list Cloud Bigtable-Standorte auflisten
Name der Instanzberechtigung Beschreibung
bigtable.instances.create Cloud Bigtable-Instanz erstellen
bigtable.instances.delete Cloud Bigtable-Instanz löschen
bigtable.instances.get Informationen über eine Cloud Bigtable-Instanz erhalten
bigtable.instances.getIamPolicy Access Control Lists (ACLs) zu Instanzen lesen Als IAM-Richtlinien zurückgegeben
bigtable.instances.list Die Instanzen eines Cloud Bigtable-Projekts auflisten
bigtable.instances.setIamPolicy ACLs aktualisieren
bigtable.instances.update Die Einstellungen für eine Cloud Bigtable-Instanz aktualisieren
Name der Anwendungsprofil-Berechtigung Beschreibung
bigtable.appProfiles.create Cloud Bigtable-Anwendungsprofil erstellen
bigtable.appProfiles.delete Cloud Bigtable-Anwendungsprofil löschen
bigtable.appProfiles.get Informationen über ein Cloud Bigtable-Anwendungsprofil erhalten
bigtable.appProfiles.list Cloud Bigtable-Anwendungsprofil einer Instanz auflisten
bigtable.appProfiles.update Die Einstellungen für ein Cloud Bigtable-Anwendungsprofil aktualisieren
Name der Sicherungsberechtigung Beschreibung
bigtable.backups.create Cloud Bigtable-Sicherung erstellen.
bigtable.backups.get Cloud Bigtable-Sicherung abrufen.
bigtable.backups.list Cloud Bigtable-Sicherungen auflisten.
bigtable.backups.delete Cloud Bigtable-Sicherung löschen.
bigtable.backups.update Ablauf einer Cloud Bigtable-Sicherung ändern.
bigtable.backups.restore Cloud Bigtable-Sicherung wiederherstellen.
Name der Clusterberechtigung Beschreibung
bigtable.clusters.create Cloud Bigtable-Cluster erstellen
bigtable.clusters.delete Cloud Bigtable-Cluster löschen
bigtable.clusters.get Informationen über einen Cloud Bigtable-Cluster erhalten
bigtable.clusters.list Die Instanzen eines Cloud Bigtable-Clusters auflisten
bigtable.clusters.update Die Einstellungen für einen Cloud Bigtable-Cluster aktualisieren
Name der Tabellen-Berechtigung Beschreibung
bigtable.tables.checkConsistency Aktualität einer replizierten Tabelle prüfen
bigtable.tables.create Tabelle erstellen
bigtable.tables.delete Tabelle löschen
bigtable.tables.generateConsistencyToken Token generieren, um zu prüfen, ob eine replizierte Tabelle aktuell ist
bigtable.tables.get Informationen über eine Tabelle einschließlich Spaltenfamilien und ihrer individuellen Einstellungen erhalten
bigtable.tables.getIamPolicy Tabellen-ACLs lesen, die als IAM-Richtlinien zurückgegeben werden
bigtable.tables.list Tabellen in einer Instanz auflisten
bigtable.tables.mutateRows Zeilen innerhalb einer Tabelle bearbeiten oder die Tabelle kürzen
bigtable.tables.readRows Zeilen in einer Tabelle lesen
bigtable.tables.sampleRowKeys Beispiel der Zeilenschlüssel erhalten, die in einer Tabelle verwendet werden
bigtable.tables.setIamPolicy Tabellen-ACLs aktualisieren
bigtable.tables.update Die Einstellungen für eine Tabelle einschließlich der Spaltenfamilien und ihrer individuellen Einstellungen aktualisieren

In der folgenden Tabelle sind die IAM-Berechtigungen im Zusammenhang mit Key Visualizer aufgeführt:

Name der Berechtigung in Key Visualizer Beschreibung
bigtable.keyvisualizer.get Ruft Key Visualizer-Informationen zu einer Tabelle ab, darunter Metadaten zu Zugriffsmustern und Zeilenschlüsselverteilungen.
bigtable.keyvisualizer.list Listet die verfügbaren Key Visualizer-Informationen für eine Tabelle auf.

Vordefinierte Rollen

Jede vordefinierte Rolle besteht aus einem Bundle mit einer oder mehreren Berechtigungen. Beispielsweise bietet roles/bigtable.reader Lesezugriff auf Informationen zu Cloud Bigtable-Instanzen, -Clustern, -Tabellen und -Spaltenfamilien sowie auf die in den Tabellen enthaltenen Daten. Sie weisen den Nutzern oder Gruppen Rollen zu, die es ihnen erlauben, Aktionen mit den Ressourcen in Ihrem Projekt durchzuführen.

In der folgenden Tabelle werden die vordefinierten Rollen für Cloud Bigtable aufgeführt, einschließlich einer Liste der Berechtigungen, die mit jeder Rolle verknüpft sind:

Rolle Berechtigungen Beschreibung
roles/bigtable.admin

Zugang zu allen Cloud Bigtable-Funktionen:

bigtable.*.*

Anzeigeberechtigung für Monitoring-Grafiken in der Cloud Console:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

Zugriff auf Metadaten auf Projektebene:

resourcemanager.projects.get

Verwaltet alle Instanzen in einem Projekt, darunter auch die Daten, die in den Tabellen gespeichert sind. Kann neue Instanzen erstellen. Vorgesehen für Projektadministratoren. Dazu gehört auch der Zugriff auf Key Visualizer.
roles/bigtable.user

Lesezugriff auf Metadaten für Instanzen, Cluster, Tabellen und Spaltenfamilien:

  • bigtable.*.get
  • bigtable.*.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.generateConsistencyToken

Lese- und Schreibzugriff auf Tabellen:

  • bigtable.tables.mutateRows
  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys

Anzeigeberechtigung für Monitoring-Grafiken in der Cloud Console:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

Zugriff auf Metadaten auf Projektebene:

resourcemanager.projects.get

Erlaubt Lese- und Schreibzugriff auf die in den Tabellen gespeicherten Daten. Vorgesehen für Anwendungsentwickler oder Dienstkonten. Dazu gehört auch der Zugriff auf Key Visualizer.
roles/bigtable.reader

Lesezugriff auf Metadaten für Instanzen, Cluster, Tabellen und Spaltenfamilien:

  • bigtable.*.get
  • bigtable.*.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.generateConsistencyToken

Lesezugriff auf Tabellen:

  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys

Anzeigeberechtigung für Monitoring-Grafiken in der Cloud Console:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

Zugriff auf Metadaten auf Projektebene:

resourcemanager.projects.get

Erlaubt nur Lesezugriff auf die in den Tabellen gespeicherten Daten. Vorgesehen für Data Scientists, Dashboard-Generatoren und andere Datenanalyse-Szenarien. Dazu gehört auch der Zugriff auf Key Visualizer.
roles/bigtable.viewer

Lesezugriff auf Metadaten für Instanzen, Cluster, Tabellen und Spaltenfamilien:

  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.instances.get
  • bigtable.instances.list
  • bigtable.locations.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.generateConsistencyToken
  • bigtable.tables.get
  • bigtable.tables.list

Anzeigeberechtigung für Monitoring-Grafiken in der Cloud Console:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

Zugriff auf Metadaten auf Projektebene:

resourcemanager.projects.get

Bietet keinen Datenzugriff. Diese Rolle beinhaltet einen Satz von Mindestberechtigungen für den Zugriff auf die Cloud Console für Cloud Bigtable. Der Zugriff auf Key Visualizer ist nicht enthalten.

Benutzerdefinierte Rollen

Wenn die vordefinierten Rollen für Cloud Bigtable für Ihre geschäftlichen Anforderungen nicht ausreichen, können Sie eigene benutzerdefinierte Rollen mit selbst definierten Berechtigungen festlegen.

Wenn Ihre benutzerdefinierte Rolle den Zugriff auf die Cloud Console unterstützen muss, müssen Sie die Aufgaben identifizieren, die die Nutzer ausführen sollen. Danach müssen Sie darauf achten, dass die benutzerdefinierte Rolle die erforderlichen Berechtigungen für jede Aufgabe hat, wie in der Tabelle unten dargestellt. Wenn eine benutzerdefinierte Rolle nicht alle erforderlichen Berechtigungen für eine Aufgabe hat und ein Nutzer versucht, diese Aufgabe auszuführen, funktioniert die Cloud Console nicht korrekt.

Cloud Console-Aufgabe Erforderliche Berechtigung
Standardzugriff auf die Cloud Console
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.instances.get
  • bigtable.instances.list
  • bigtable.locations.list
  • resourcemanager.projects.get
Instanz oder Cluster erstellen

Standardzugriffsberechtigungen, plus:

  • bigtable.clusters.create
  • bigtable.instances.create
Instanz oder Cluster ändern

Standardzugriffsberechtigungen, plus:

  • bigtable.clusters.update
  • bigtable.instances.update
Replikationskonfiguration verwalten

Standardzugriffsberechtigungen, plus:

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.update
Instanz oder Cluster löschen

Standardzugriffsberechtigungen, plus:

  • bigtable.clusters.delete
  • bigtable.instances.delete
Instanz durch Anzeige von Grafiken überwachen

Standardzugriffsberechtigungen, plus:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

IAM-Verwaltung auf Projektebene

Auf Projektebene können Sie IAM-Rollen mithilfe der Google Cloud Console, der IAM API oder des gcloud-Befehlszeilentools erteilen, ändern und widerrufen. Eine genaue Anleitung finden Sie in Zugriff für Projektmitglieder erlauben, ändern und widerrufen.

IAM-Verwaltung auf Instanzebene

In diesem Abschnitt wird erläutert, wie Sie Cloud Bigtable-IAM-Rollen auf Instanzebene verwalten.

Vorbereitung

Bevor Sie IAM-Rollen auf Instanzebene für einen Nutzer festlegen, muss dieser mindestens eine der folgenden IAM-Rollen auf Projektebene haben:

  • Bigtable-Betrachter (empfohlen)
  • Bigtable-Leser
  • Bigtable-Nutzer
  • Bigtable-Administrator

Wählen Sie eine Rolle auf Projektebene aus, die nicht über mehr Berechtigungen verfügt, als der Nutzer tatsächlich für alle Instanzen im Projekt benötigt. Aus diesem Grund sollten Sie in fast allen Fällen die Rolle "Bigtable-Betrachter" zuweisen.

Wenn der Nutzer nicht mindestens eine dieser Rollen auf Projektebene besitzt, hat er über die Cloud Console keinen Zugriff auf Cloud Bigtable. Die Cloud Console setzt eine dieser Rollen auf Projektebene voraus, damit der Nutzer über die Cloud Console Informationen über Instanzen und Cluster abrufen kann.

IAM-Rollen auf Instanzebene zuweisen

Auf Instanzebene können Sie einem Nutzer oder Dienstkonto eine der vordefinierten Rollen von Cloud Bigtable gewähren. Sie können auch benutzerdefinierte Rollen zuweisen, die Sie definiert haben.

So gewähren Sie einem Nutzer oder Dienstkonto eine vordefinierte oder benutzerdefinierte Rolle auf Instanzebene:

Console

  1. Rufen Sie in der Cloud Console die Seite "Cloud Bigtable-Instanzen" auf.

    Zur Seite "Instanzen"

  2. Klicken Sie auf die Kästchen neben den Instanzen, deren Rollen Sie verwalten möchten. Ein Informationsfenster wird angezeigt.

  3. Klicken Sie im Informationsfenster auf Berechtigungen.

  4. Beginnen Sie unter Mitglieder hinzufügen mit der Eingabe der E-Mail-Adresse des hinzuzufügenden Nutzers oder Dienstkontos und klicken Sie dann auf die E-Mail-Adresse des Nutzers oder Dienstkontos.

  5. Klicken Sie auf die Drop-down-Liste Rolle auswählen und dann auf Cloud Bigtable, um eine vordefinierte Rolle auszuwählen, oder auf Benutzerdefiniert, um eine benutzerdefinierte Rolle auszuwählen.

  6. Klicken Sie auf den Namen jeder Rolle, die Sie zuweisen möchten.

  7. Klicken Sie auf Hinzufügen. Dem Nutzer oder Dienstkonto werden die Rollen zugewiesen, die Sie auf Instanzebene angegeben haben.

gcloud

  1. Wenn Sie die Instanz-ID nicht kennen, verwenden Sie den Befehl bigtable instances list, um eine Liste der Instanzen des Projekts aufzurufen:

    gcloud bigtable instances list
    
  2. Führen Sie folgenden bigtable instances set-iam-policy-Befehl aus:

    gcloud bigtable instances set-iam-policy INSTANCE_ID POLICY_FILE
    

    Geben Sie folgende Werte an:

    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
    • POLICY_FILE: Pfad zu einer lokalen JSON- oder YAML-Datei, die eine gültige IAM-Richtlinie enthält.

IAM-Verwaltung auf Tabellenebene

In diesem Abschnitt wird erläutert, wie Sie Cloud Bigtable-IAM-Rollen auf Tabellenebene verwalten.

Vorbereitung

Bevor Sie IAM-Rollen für einen Nutzer auf Tabellenebene festlegen, sorgen Sie dafür, dass der Nutzer mindestens eine der folgenden IAM-Rollen auf Projektebene hat:

  • Bigtable-Betrachter (empfohlen)
  • Bigtable-Leser
  • Bigtable-Nutzer
  • Bigtable-Administrator

Wählen Sie eine Rolle auf Projektebene aus, die nicht über mehr Berechtigungen verfügt, als der Nutzer tatsächlich benötigt. Aus diesem Grund sollten Sie in fast allen Fällen die Rolle "Bigtable-Betrachter" zuweisen.

Wenn der Nutzer nicht mindestens eine dieser Rollen auf Projektebene besitzt, hat er über die Cloud Console keinen Zugriff auf Cloud Bigtable. Die Cloud Console setzt eine dieser Rollen auf Projektebene voraus, damit Informationen zu Instanzen, Clustern und Tabellen abgerufen werden können.

IAM-Rollen auf Tabellenebene zuweisen

Auf Tabellenebene können Sie einem Nutzer oder Dienstkonto eine der vordefinierten Rollen von Cloud Bigtable gewähren. Sie können auch benutzerdefinierte Rollen zuweisen, die Sie definiert haben.

So gewähren Sie einem Nutzer oder Dienstkonto eine vordefinierte oder benutzerdefinierte Rolle auf Tabellenebene:

Console

  1. Rufen Sie in der Cloud Console die Seite "Cloud Bigtable-Instanzen" auf.

    Zur Seite "Instanzen"

  2. Klicken Sie auf den Namen der Instanz, die die Tabelle enthält, für deren IAM Sie Einstellungen vornehmen.

  3. Wählen Sie im linken Navigationsbereich Tabellen aus.

  4. Klicken Sie die Kästchen neben den Tabellen an, deren Rollen Sie verwalten möchten. Ein Informationsfenster wird angezeigt.

  5. Klicken Sie im Informationsfenster auf Berechtigungen.

  6. Beginnen Sie unter Mitglieder hinzufügen mit der Eingabe der E-Mail-Adresse des hinzuzufügenden Nutzers oder Dienstkontos und klicken Sie dann auf die E-Mail-Adresse des Nutzers oder Dienstkontos.

  7. Klicken Sie auf die Drop-down-Liste Rolle auswählen und dann auf Cloud Bigtable, um eine vordefinierte Rolle auszuwählen, oder auf Benutzerdefiniert, um eine benutzerdefinierte Rolle auszuwählen.

  8. Klicken Sie auf den Namen jeder Rolle, die Sie zuweisen möchten.

  9. Klicken Sie auf Hinzufügen. Dem Nutzer oder Dienstkonto werden die Rollen zugewiesen, die Sie auf Tabellenebene angegeben haben.

gcloud

  1. Wenn Sie die Instanz-ID nicht kennen, verwenden Sie den Befehl bigtable instances list, um eine Liste der Instanzen des Projekts aufzurufen:

    gcloud bigtable instances list
    
  2. Wenn Sie die Cluster-IDs der Instanz nicht kennen, verwenden Sie den Befehl bigtable clusters list, um eine Liste der Cluster in der Instanz aufzurufen:

    gcloud bigtable clusters list --instances=INSTANCE_ID
    
  3. Führen Sie folgenden bigtable instances tables set-iam-policy-Befehl aus:

    gcloud beta bigtable instances tables set-iam-policy TABLE_ID \
        --instance=INSTANCE_ID POLICY_FILE
    

    Geben Sie folgende Werte an:

    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
    • POLICY_FILE: Pfad zu einer lokalen JSON- oder YAML-Datei, die eine gültige IAM-Richtlinie enthält.

Weitere Informationen

Mehr über IAM erfahren