Bigtable-Zugriffssteuerung mit IAM

Auf dieser Seite werden die Optionen für die Zugriffssteuerung in Bigtable beschrieben.

Überblick

Bigtable nutzt Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) für die Zugriffssteuerung. Sie legen IAM-Richtlinien für Ressourcen fest, um zu steuern, wer welchen Zugriff auf welche Ressourcen hat.

Bigtable-Ressourcen sind hierarchisch organisiert. Ein Google Cloud-Projekt ist einer Bigtable-Instanz übergeordnet, die wiederum das übergeordnete Element ihrer Cluster und Tabellen ist. Eine Tabelle ist das übergeordnete Element ihrer autorisierten Ansichten, während ein Cluster das übergeordnete Element seiner Sicherungen ist. Sie können die Zugriffssteuerung auf jeder Ebene konfigurieren.

Wenn Sie Berechtigungen auf einer Ebene haben, haben Sie automatisch auch Berechtigungen darunter. Wenn Sie beispielsweise Zugriff auf Projektebene haben, haben Sie Zugriff auf die Instanzen, Cluster, Tabellen und autorisierten Ansichten in diesem Projekt. Wenn Ihnen Zugriff auf eine autorisierte Ansicht gewährt wird, haben Sie nicht automatisch Zugriff auf Ressourcen auf höherer Ebene, die der autorisierten Ansicht übergeordnet sind, z. B. auf die Tabelle und die Instanz. Dieses Verhalten wird als Richtlinienübernahme bezeichnet.

Weitere Informationen zur IAM-Hierarchie finden Sie unter IAM-Richtlinienübernahme.

Hier 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

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.

Beispiele für die Zugriffssteuerung auf Sicherungsebene:

  • Verhindern Sie, dass ein Nutzer eine Sicherung löscht.
  • Verhindern, dass ein Nutzer Daten aus der Sicherung wiederherstellen kann.

Beispiele für die Verwendung der Zugriffssteuerung auf der Ebene der autorisierten Ansicht:

  • Einem Nutzer erlauben, eine autorisierte Ansicht zu lesen, aber nicht zu ändern.
  • Einem Nutzer dürfen nur Daten aus einer von mehreren autorisierten Ansichten einer Tabelle angezeigt werden.

Eine ausführliche Beschreibung von IAM und seinen Features finden Sie im IAM-Entwicklerhandbuch. Lesen Sie insbesondere das Kapitel Zugriff gewähren, ändern und widerrufen.

In Bigtable können Sie den folgenden Hauptkontotypen keinen Zugriff gewähren:

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

Bigtable API aktivieren

Zum Aufrufen und Zuweisen von Bigtable-IAM-Rollen müssen Sie die Bigtable API für Ihr Projekt aktivieren. Sie können die Bigtable-Rollen in der Google Cloud Console erst sehen, wenn Sie die API aktivieren.

Aktivieren Sie die API

Berechtigungen

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

Berechtigungen erlauben es Nutzern, bestimmte Aktionen mit Bigtable-Ressourcen durchzuführen. Mit den Berechtigungen bigtable.instances.list können Nutzer beispielsweise alle 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 Bigtable in Verbindung stehen:

Name der Anwendungsprofil-Berechtigung Beschreibung
bigtable.appProfiles.create Bigtable-App-Profil erstellen.
bigtable.appProfiles.delete Bigtable-App-Profil löschen.
bigtable.appProfiles.get Informationen über ein Bigtable-Anwendungsprofil erhalten.
bigtable.appProfiles.list Bigtable-Anwendungsprofil einer Instanz auflisten.
bigtable.appProfiles.update Die Einstellungen für ein Bigtable-Anwendungsprofil aktualisieren.
Name der Sicherungsberechtigung Beschreibung
bigtable.backups.create Bigtable-Sicherung erstellen.
bigtable.backups.delete Bigtable-Sicherung löschen.
bigtable.backups.get Informationen zu einer Bigtable-Sicherung abrufen.
bigtable.backups.getIamPolicy Access Control Lists (ACL) einer Sicherung lesen. Als IAM-Richtlinien zurückgegeben
bigtable.backups.list Bigtable-Sicherungen auflisten.
bigtable.backups.restore Wiederherstellung aus einer Bigtable-Sicherung.
bigtable.backups.testIamPermissions Berechtigungen des Aufrufers für eine bestimmte Sicherung abrufen.
bigtable.backups.read Aus einer Bigtable-Sicherung lesen.
bigtable.backups.setIamPolicy Sicherungs-ACLs aktualisieren
bigtable.backups.update Ablauf einer Bigtable-Sicherung ändern.
Name der Clusterberechtigung Beschreibung
bigtable.clusters.create Bigtable-Cluster erstellen.
bigtable.clusters.delete Bigtable-Cluster löschen.
bigtable.clusters.get Informationen zu einem Bigtable-Cluster abrufen.
bigtable.clusters.list Die Instanzen eines Bigtable-Clusters auflisten.
bigtable.clusters.update Die Einstellungen für einen Bigtable-Cluster aktualisieren
Name der Berechtigung für Hot Tablets Beschreibung
bigtable.hotTablets.list Liste der Hot-Tablets für einen Cluster auf.
Name der Instanzberechtigung Beschreibung
bigtable.instances.create Bigtable-Instanz erstellen.
bigtable.instances.createTagBinding Tag erstellen.
bigtable.instances.delete Bigtable-Instanz löschen.
bigtable.instances.deleteTagBinding Tag löschen.
bigtable.instances.get Informationen zu einer Bigtable-Instanz abrufen.
bigtable.instances.getIamPolicy Access Control Lists (ACLs) zu Instanzen lesen Als IAM-Richtlinien zurückgegeben
bigtable.instances.list Die Instanzen eines Bigtable-Projekts auflisten.
bigtable.instances.listEffectiveTagBindings Hiermit werden alle für eine Instanz gültigen Tags aufgelistet.
bigtable.instances.listTagBindings Die Tags einer Instanz auflisten.
bigtable.instances.ping Anfragen zur Kanalinitialisierung senden.
bigtable.instances.setIamPolicy ACLs aktualisieren
bigtable.instances.update Die Einstellungen für eine Bigtable-Instanz aktualisieren.
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.
Name der Standortberechtigung Beschreibung
bigtable.locations.list Bigtable-Standorte auflisten.
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 Als IAM-Richtlinien zurückgegeben
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 Dazu gehören Informationen zur Tabelle, z. B. Spaltenfamilien und ihre individuellen Einstellungen.
bigtable.tables.sampleRowKeys Beispiel der Zeilenschlüssel erhalten, die in einer Tabelle verwendet werden
bigtable.tables.setIamPolicy Tabellen-ACLs aktualisieren
bigtable.tables.undelete Gelöschte Tabelle wiederherstellen.
bigtable.tables.update Die Einstellungen für eine Tabelle einschließlich der Spaltenfamilien und ihrer individuellen Einstellungen aktualisieren
Name der Standortberechtigung Beschreibung
bigtable.locations.list Bigtable-Standorte auflisten.
Name der Berechtigung für autorisierte Ansicht Beschreibung
bigtable.authorizedViews.create Erstellen Sie eine autorisierte Ansicht.
bigtable.authorizedViews.delete Autorisierte Ansicht löschen
bigtable.authorizedViews.get Informationen zu einer autorisierten Ansicht abrufen.
bigtable.authorizedViews.getIamPolicy Aufrufen der Zugriffssteuerung für eine autorisierte Ansicht. Als IAM-Richtlinien zurückgegeben
bigtable.authorizedViews.list Autorisierte Ansichten in einer Tabelle auflisten.
bigtable.authorizedViews.mutateRows Zeilen in einer autorisierten Ansicht ändern
bigtable.authorizedViews.readRows Zeilen aus einer autorisierten Ansicht lesen.
bigtable.authorizedViews.sampleRowKeys Ein Beispiel der Zeilenschlüssel abrufen, die in einer autorisierten Ansicht verwendet werden
bigtable.authorizedViews.setIamPolicy Richtlinien zur Zugriffssteuerung für eine autorisierte Ansicht aktualisieren.
bigtable.authorizedViews.update Einstellungen für eine autorisierte Ansicht aktualisieren

Vordefinierte Rollen

Jede vordefinierte Rolle besteht aus einem Bundle mit einer oder mehreren Berechtigungen. Beispielsweise bietet roles/bigtable.reader Lesezugriff auf Informationen zu 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 Bigtable aufgeführt, einschließlich einer Liste der Berechtigungen, die mit jeder Rolle verknüpft sind:

Role Permissions

(roles/bigtable.admin)

Administers all Bigtable instances within a project, including the data stored within tables. Can create new instances. Intended for project administrators.

Lowest-level resources where you can grant this role:

  • Table

bigtable.*

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.appProfiles.update
  • bigtable.authorizedViews.create
  • bigtable.authorizedViews.createTagBinding
  • bigtable.authorizedViews.delete
  • bigtable.authorizedViews.deleteTagBinding
  • bigtable.authorizedViews.get
  • bigtable.authorizedViews.getIamPolicy
  • bigtable.authorizedViews.list
  • bigtable.authorizedViews.listEffectiveTags
  • bigtable.authorizedViews.listTagBindings
  • bigtable.authorizedViews.mutateRows
  • bigtable.authorizedViews.readRows
  • bigtable.authorizedViews.sampleRowKeys
  • bigtable.authorizedViews.setIamPolicy
  • bigtable.authorizedViews.update
  • bigtable.backups.create
  • bigtable.backups.delete
  • bigtable.backups.get
  • bigtable.backups.getIamPolicy
  • bigtable.backups.list
  • bigtable.backups.read
  • bigtable.backups.restore
  • bigtable.backups.setIamPolicy
  • bigtable.backups.update
  • bigtable.clusters.create
  • bigtable.clusters.delete
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.clusters.update
  • bigtable.hotTablets.list
  • bigtable.instances.create
  • bigtable.instances.createTagBinding
  • bigtable.instances.delete
  • bigtable.instances.deleteTagBinding
  • bigtable.instances.executeQuery
  • bigtable.instances.get
  • bigtable.instances.getIamPolicy
  • bigtable.instances.list
  • bigtable.instances.listEffectiveTags
  • bigtable.instances.listTagBindings
  • bigtable.instances.ping
  • bigtable.instances.setIamPolicy
  • bigtable.instances.update
  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list
  • bigtable.locations.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.create
  • bigtable.tables.delete
  • bigtable.tables.generateConsistencyToken
  • bigtable.tables.get
  • bigtable.tables.getIamPolicy
  • bigtable.tables.list
  • bigtable.tables.mutateRows
  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys
  • bigtable.tables.setIamPolicy
  • bigtable.tables.undelete
  • bigtable.tables.update

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.reader)

Provides read-only access to the data stored within Bigtable tables. Intended for data scientists, dashboard generators, and other data-analysis scenarios.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.user)

Provides read-write access to the data stored within Bigtable tables. Intended for application developers or service accounts.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.mutateRows

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.mutateRows

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.viewer)

Provides no data access. Intended as a minimal set of permissions to access the Google Cloud console for Bigtable.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.get

bigtable.instances.list

bigtable.instances.listEffectiveTags

bigtable.instances.listTagBindings

bigtable.locations.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.list

resourcemanager.projects.get

Benutzerdefinierte Rollen

Wenn die vordefinierten Rollen für Bigtable nicht Ihren Geschäftsanforderungen entsprechen, können Sie Ihre eigenen benutzerdefinierten Rollen mit von Ihnen festgelegten Berechtigungen definieren.

Wenn Ihre benutzerdefinierte Rolle den Zugriff auf die Google Cloud Console unterstützen muss, müssen Sie die Aufgaben identifizieren, die Nutzer ausführen sollen. Anschließend müssen Sie dafür sorgen, dass die benutzerdefinierte Rolle die erforderlichen Berechtigungen für jede Aufgabe hat, wie in der folgenden Tabelle dargestellt. Wenn eine benutzerdefinierte Rolle nicht alle erforderlichen Berechtigungen für eine Aufgabe hat und ein Nutzer versucht, diese Aufgabe auszuführen, funktioniert die Google Cloud Console nicht ordnungsgemäß.

Aufgabe der Google Cloud Console Erforderliche Berechtigungen
Standardzugriff auf die Google Cloud Console
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.instances.get
  • bigtable.instances.list
  • bigtable.locations.list
  • bigtable.tables.get
  • bigtable.tables.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
Tabellen erstellen und aktualisieren

Standardzugriffsberechtigungen, plus:

  • bigtable.tables.create
  • bigtable.tables.update
Sicherung wiederherstellen

Standardzugriffsberechtigungen, plus:

  • bigtable.backups.list
  • bigtable.tables.create
  • bigtable.backups.restore

IAM-Management

In diesem Abschnitt wird erläutert, wie Sie IAM-Rollen und die zugehörigen Berechtigungen auf Projekt-, Instanz-, Tabellen- und Sicherungsebene verwalten.

IAM-Verwaltung auf Projektebene

Auf Projektebene können Sie IAM-Rollen mithilfe der Google Cloud Console, der IAM API oder der Google Cloud CLI gewähren, ändern und widerrufen. Eine Anleitung finden Sie unter Zugriff gewähren, ändern und widerrufen.

Nachdem Sie ein Projekt erstellt haben, können Sie Nutzern basierend auf den jeweiligen Zugriffsebenen IAM-Rollen auf Projektebene zuweisen.

Erforderliche Rollen

Bevor Sie für einen Nutzer IAM-Rollen auf Instanzebene, Tabellenebene, Sicherungsebene oder autorisierte Ansichtsebene 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 mehr Berechtigungen hat, als der Nutzer tatsächlich für alle Instanzen, Tabellen, Sicherungen oder autorisierten Ansichten 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 hat, hat er über die Google Cloud Console keinen Zugriff auf Bigtable. Die Google Cloud Console erfordert eine dieser Rollen auf Projektebene, damit sie Informationen zu Instanzen, Clustern, Tabellen oder Sicherungen im Namen des Nutzers abrufen kann.

IAM-Rollen auf Instanzebene zuweisen

Auf Instanzebene können Sie einem Nutzer oder Dienstkonto eine der vordefinierten Rollen von 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 Google Cloud Console die Seite "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 Hauptkonten 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 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 den Befehl bigtable instances set-iam-policy aus:

    gcloud bigtable instances set-iam-policy \
    INSTANCE_ID \
    POLICY_FILE
    

    Machen Sie folgende Angaben:

    • 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-Rollen auf Tabellenebene zuweisen

Auf Tabellenebene können Sie einem Nutzer oder Dienstkonto eine der vordefinierten Rollen von 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 Google Cloud Console die Seite "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 Hauptkonten 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 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 Tabellen-IDs der Instanz nicht kennen, rufen Sie mit dem Befehl bigtable instances tables list eine Liste der Tabellen in der Instanz auf.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    

    Machen Sie folgende Angaben:

    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
  3. Führen Sie den Befehl bigtable instances tables set-iam-policy aus:

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

    Machen Sie folgende Angaben:

    • TABLE_ID: Die permanente Kennzeichnung der Tabelle.
    • 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-Rollen auf Sicherungsebene gewähren

Auf Sicherungsebene können Sie einem Nutzer oder Dienstkonto eine der vordefinierten Rollen von Bigtable zuweisen. Sie können auch benutzerdefinierte Rollen zuweisen, die Sie definiert haben.

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

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 Sicherungs-IDs in einer Instanz nicht kennen, rufen Sie mit dem Befehl bigtable instances backups list eine Liste der Sicherungen in der Instanz auf.

    gcloud bigtable backups list --instances=INSTANCE_ID
    

    Machen Sie folgende Angaben:

    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
  3. Führen Sie den Befehl gcloud bigtable backups set-iam-policy aus:

    gcloud bigtable backups set-iam-policy BACKUP_ID \
        --instance=INSTANCE_ID \
        --cluster=CLUSTER_ID \
        POLICY_FILE
    

    Machen Sie folgende Angaben:

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

Autorisierte IAM-Rollen auf Ansichtsebene gewähren

Auf der Ebene der autorisierten Ansicht können Sie einem Nutzer oder Dienstkonto eine der vordefinierten Rollen von Bigtable zuweisen. Sie können auch benutzerdefinierte Rollen zuweisen, die Sie definiert haben.

Führen Sie folgenden Befehl aus, um einem Nutzer oder Dienstkonto auf Ebene der autorisierten Ansicht eine vordefinierte oder benutzerdefinierte Rolle zuzuweisen:

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 Tabellen-IDs der Instanz nicht kennen, rufen Sie mit dem Befehl bigtable instances tables list eine Liste der Tabellen in der Instanz auf.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  3. Wenn Sie die Ansichts-ID nicht kennen, rufen Sie mit dem Befehl bigtable authorized-views list eine Liste aller autorisierten Ansichten der Tabelle auf.

    gcloud bigtable instances tables authorized-views list \
        --instance=INSTANCE_ID \
        --table=TABLE_ID
    
  4. Führen Sie den Befehl bigtable authorized-views set-iam-policy aus:

    gcloud bigtable authorized-views set-iam-policy TABLE_ID \
        AUTHORIZED_VIEW_ID --instance=INSTANCE_ID POLICY_FILE
    

    Machen Sie folgende Angaben:

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

IAM-Bedingungen

Mit IAM Conditions können Sie für einige Google Cloud-Ressourcen, einschließlich Bigtable-Ressourcen, die bedingte, attributbasierte Zugriffssteuerung festlegen und erzwingen.

In Bigtable können Sie den bedingten Zugriff anhand der folgenden Attribute erzwingen:

  • Attribut „Datum/Uhrzeit“: Verwenden Sie diese Option, um den temporären (ablaufenden), geplanten oder zeitlich begrenzten Zugriff auf Bigtable-Ressourcen festzulegen. Beispielsweise können Sie einem Nutzer bis zu einem bestimmten Datum Zugriff auf eine Tabelle gewähren.
  • Ressourcenattribute: Verwenden Sie diese Option, um den bedingten Zugriff basierend auf einem Ressourcennamen, einem Ressourcentyp oder Ressourcendienstattributen zu konfigurieren. In Bigtable können Sie Attribute von Instanzen, Clustern, Tabellen, Sicherungen und autorisierten Ansichten verwenden, um den bedingten Zugriff zu konfigurieren. Beispielsweise können Sie einem Nutzer erlauben, Tabellen nur für Tabellen zu verwalten, die mit einem bestimmten Präfix beginnen, oder Sie können ihm nur Zugriff auf eine bestimmte Tabelle gewähren.

Weitere Informationen zu IAM Conditions finden Sie in der Übersicht der Bedingungen.

Nächste Schritte

Mehr über IAM erfahren