Bigtable-Zugriffssteuerung mit IAM

Auf dieser Seite werden die Optionen zur Zugriffssteuerung in Bigtable beschrieben.

Übersicht

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 das übergeordnete Element einer Bigtable-Instanz, die wiederum das übergeordnete Element ihrer Cluster und Tabellen ist. Eine Tabelle ist die übergeordnete Entität ihrer autorisierten Ansichten, während ein Cluster die übergeordnete Entität seiner Sicherungen ist. Sie können die Zugriffssteuerung auf jeder Ebene konfigurieren.

Wenn Sie Berechtigungen auf einer bestimmten Ebene haben, haben Sie automatisch auch Berechtigungen auf Ebenen unterhalb dieser. Wenn Sie beispielsweise Zugriff auf Projektebene haben, haben Sie Zugriff auf die Instanzen, Cluster, Tabellen und autorisierten Ansichten in diesem Projekt. Wenn Sie Zugriff auf eine autorisierte Ansicht erhalten, haben Sie nicht automatisch Zugriff auf Ressourcen auf höherer Ebene, die übergeordnete Elemente der autorisierten Ansicht sind, z. B. die Tabelle und die Instanz. Dieses Verhalten wird als Richtlinienübernahme bezeichnet.

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

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

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 Verwendung der Zugriffssteuerung auf Sicherungsebene:

  • Verhindern, dass ein Nutzer eine Sicherung löscht
  • Verhindern, dass ein Nutzer aus der Sicherung wiederherstellt.

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

  • Nutzer dürfen eine autorisierte Ansicht lesen, aber nicht ändern.
  • Nutzern erlauben, Daten nur aus einer der autorisierten Ansichten einer Tabelle aufzurufen.

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 aktiviert haben.

Enable the 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 (ACLs) eines Back-ups lesen Als IAM-Richtlinien zurückgegeben
bigtable.backups.list Bigtable-Sicherungen auflisten.
bigtable.backups.restore Aus einer Bigtable-Sicherung wiederherstellen.
bigtable.backups.testIamPermissions Die Berechtigungen des Aufrufers für eine bestimmte Sicherung abrufen.
bigtable.backups.read Aus einer Bigtable-Sicherung lesen
bigtable.backups.setIamPolicy Aktualisieren Sie die ACLs für die Sicherung.
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-Tabellenreihen Beschreibung
bigtable.hotTablets.list Liste der Hot-Tabellenreihen für einen Cluster auflisten
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 Listet alle Tags auf, die für eine Instanz gelten.
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, 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 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 Ansichten Beschreibung
bigtable.authorizedViews.create Erstellen Sie eine autorisierte Ansicht.
bigtable.authorizedViews.delete Löschen Sie eine autorisierte Ansicht.
bigtable.authorizedViews.get Informationen zu einer autorisierten Ansicht abrufen
bigtable.authorizedViews.getIamPolicy Zugriffssteuerung für eine autorisierte Ansicht aufrufen 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 Beispiel der Zeilenschlüssel erhalten, die in einer autorisierten Ansicht verwendet werden
bigtable.authorizedViews.setIamPolicy Aktualisieren Sie die Zugriffssteuerungsrichtlinien für eine autorisierte Ansicht.
bigtable.authorizedViews.update Aktualisieren Sie die Einstellungen für eine autorisierte Ansicht.

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 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 Google 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 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 korrekt.

Google Cloud Console-Aufgabe 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
Tabelle 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 zugehörige 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 zuweisen, ändern und widerrufen. Eine Anleitung finden Sie unter Zugriff gewähren, ändern und widerrufen.

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

Erforderliche Rollen

Bevor Sie IAM-Rollen auf Instanzebene, Tabellenebene, Sicherungsebene oder Autorisierte-Ansichtsebene 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, 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 besitzt, hat er über die Google Cloud Console keinen Zugriff auf Bigtable. Die Google Cloud Console setzt eine dieser Rollen auf Projektebene voraus, damit Informationen zu Instanzen, Clustern, Tabellen oder Sicherungen im Namen des Nutzers abgerufen werden können.

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. Geben Sie unter Hauptkonten hinzufügen die E-Mail-Adresse des Nutzers oder Dienstkontos ein, das Sie hinzufügen möchten, 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. Geben Sie unter Hauptkonten hinzufügen die E-Mail-Adresse des Nutzers oder Dienstkontos ein, das Sie hinzufügen möchten, 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, verwenden Sie den Befehl bigtable instances tables list, um eine Liste der Tabellen in der Instanz aufzurufen.

    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 zuweisen

Auf Sicherungsebene 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 Sicherungsebene:

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, verwenden Sie den Befehl bigtable instances backups list, um eine Liste der Sicherungen in der Instanz aufzurufen.

    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.

IAM-Rollen auf Ebene der autorisierten Ansicht zuweisen

Auf Ebene der autorisierten Ansicht 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 Ebene der autorisierten Ansicht:

Console

  1. Öffnen Sie in der Google Cloud Console die Liste der Bigtable-Instanzen.

    Liste der Instanzen öffnen

  2. Klicken Sie auf die Instanz, die die autorisierte Ansicht enthält.

  3. Klicken Sie im Navigationsbereich auf Bigtable Studio.

  4. Maximieren Sie im Explorer die Tabelle und Autorisierte Ansichten.

  5. Klicken Sie neben der autorisierten Ansicht, die Sie ändern möchten, auf das Dreipunkt-Menü more_vert und dann auf Zugriff gewähren.

  6. Fügen Sie mindestens ein Hauptkonto hinzu und wählen Sie die Rolle aus, die diesem Hauptkonto oder dieser Gruppe von Hauptkonten zugewiesen werden soll.

  7. Optional: Wenn Sie Zugriff für weitere Rollen gewähren möchten, klicken Sie auf Weitere Rolle hinzufügen und geben Sie dann für jede zusätzliche Rolle das Hauptkonto und die Rolle ein.

  8. Klicken Sie auf Speichern.

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, verwenden Sie den Befehl bigtable instances tables list, um eine Liste der Tabellen in der Instanz aufzurufen.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  3. Wenn Sie die Ansichts-ID nicht kennen, verwenden Sie den Befehl bigtable authorized-views list, um eine Liste aller autorisierten Ansichten der Tabelle aufzurufen.

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

  • Datum/Uhrzeit-Attribute: 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 für den bedingten Zugriff Attribute von Instanzen, Clustern, Tabellen, Sicherungen und autorisierten Ansichten verwenden. Sie können beispielsweise festlegen, dass ein Nutzer nur Tabellen verwalten kann, die mit einem bestimmten Präfix beginnen, oder dass er nur auf eine bestimmte Tabelle zugreifen kann.

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

Nächste Schritte

Mehr über IAM erfahren