Autorisierte Ansichten

In diesem Dokument wird beschrieben, wie Sie autorisierte Ansichten und autorisierte materialisierte Ansichten in BigQuery erstellen.

Übersicht

Als Datenadministrator können Sie eine autorisierte Ansicht erstellen, um eine Teilmenge der Daten in einem Datensatz für bestimmte Nutzer und Gruppen (Principals) freizugeben. Prinzipale können sich die von Ihnen freigegebenen Daten ansehen und Abfragen darauf ausführen, aber nicht direkt auf den Quelldatensatz zugreifen.

Ansichtstypen

Eine logische Ansicht ist der Standardansichtstyp für BigQuery. Eine materialisierte Ansicht ist eine vorab berechnete Ansicht, die die Ergebnisse einer Abfrage regelmäßig im Cache speichert, um die Leistung und Effizienz zu steigern.

Eine autorisierte Ansicht für eine logische Ansicht wird als autorisierte Ansicht bezeichnet. Eine autorisierte Ansicht für eine materialisierte Ansicht wird als autorisierte materialisierte Ansicht bezeichnet.

Wenn eine logische Ansicht auf einer großen oder rechenintensiven Abfrage basiert, können Sie stattdessen eine materialisierte Ansicht erstellen. Wenn Sie jedoch nur eine Teilmenge Ihrer Daten abfragen oder andere Techniken verwenden, lässt sich die Leistung oft verbessern, ohne dass Sie eine materialisierte Ansicht erstellen müssen.

Weitere Informationen finden Sie in den folgenden Ressourcen:

Allgemeine Schritte zum Erstellen autorisierter Ansichten

Die folgenden allgemeinen Schritte gelten sowohl für autorisierte logische als auch für autorisierte materialisierte Ansichten.

  • Erstellen Sie ein Dataset, das Ihre Quelldaten enthält.
  • Führen Sie eine Abfrage aus, um Daten in eine Zieltabelle im Quell-Dataset zu laden.
  • Erstellen Sie ein Dataset, das die autorisierte Ansicht enthält.
  • Erstellen Sie eine autorisierte Ansicht aus einer SQL-Abfrage, die die Spalten einschränkt, die Ihre Datenanalysten in den Abfrageergebnissen sehen können.
  • Erteilen Sie Ihren Datenanalysten die Berechtigung zum Ausführen von Abfragejobs.
  • Gewähren Sie Ihren Datenanalysten Zugriff auf das Dataset, das die autorisierte Ansicht enthält.
  • Gewähren Sie der autorisierten Ansicht Zugriff auf das Quell-Dataset.

Alternativen

Autorisierte Ansichten sind zwar flexibel und skalierbar, aber eine der folgenden Methoden ist möglicherweise besser für Ihren Anwendungsfall geeignet:

  • Richtlinien auf Zeilenebene für eine Tabelle festlegen
  • Richtlinien auf Spaltenebene für eine Tabelle festlegen
  • Speichern Sie Daten in einer separaten Tabelle.
  • Alle Ansichten in einem Dataset freigeben (autorisierte Datasets)

Sicherheit auf Zeilen- oder Spaltenebene oder separate Tabellen verwenden

Durch das Festlegen von Zugriffsrichtlinien auf Zeilenebene für eine Tabelle oder durch das Erstellen einer separaten Tabelle für vertrauliche Daten kann ein Datenadministrator die Möglichkeit eines Nutzers einschränken, diese Daten aufzurufen. Wenn Sie Daten in einer separaten Tabelle speichern, werden sie isoliert und Sie können nicht mehr sehen, wie viele Zeilen in der Tabelle vorhanden sind.

Außerdem kann ein Datenadministrator durch Erstellen und Anwenden von Richtlinien-Tags die Möglichkeit des Nutzers einschränken, sich Spalten in einer Tabelle anzusehen.

Das Speichern von Daten in einer separaten Tabelle ist die sicherste, aber am wenigsten flexible Methode. Die Festlegung von Richtlinien auf Zeilenebene ist flexibel und sicher. Die Freigabe autorisierter Ansichten ist flexibel und bietet die beste Leistung.

Einen detaillierten Vergleich dieser Methoden finden Sie in den folgenden Ressourcen:

Alle Ansichten in einem Datensatz freigeben

Wenn Sie einer Sammlung von Ansichten Zugriff auf ein Dataset gewähren möchten, ohne jede einzelne Ansicht autorisieren zu müssen, können Sie die Ansichten in einem Dataset gruppieren und dann das Dataset gewähren, das den Zugriff auf die Ansichten des Dataset enthält, das die Daten enthält.

Sie können Hauptkonten dann Zugriff auf das Dataset mit der Gruppe von Ansichten oder auf einzelne Ansichten im Dataset nach Bedarf gewähren. Ein Dataset, das Zugriff auf ein anderes Dataset hat, wird als autorisiertes Dataset bezeichnet. Das Dataset, das ein anderes Dataset zum Zugriff auf seine Daten autorisiert, wird als freigegebenes Dataset bezeichnet.

Weitere Informationen finden Sie unter Autorisierte Datasets und Dataset autorisieren.

Beschränkungen

  • Wenn Sie eine autorisierte Ansicht oder eine autorisierte materialisierte Ansicht in einem anderen Dataset erstellen, müssen sich das Quelldaten- und das autorisierte Ansichts-Dataset am selben regionalen Standort befinden.
  • Wenn Sie eine autorisierte Ansicht löschen, kann es bis zu 24 Stunden dauern, bis die autorisierte Ansicht aus der Liste entfernt ist. In diesem Zeitraum können Sie nicht auf die autorisierte Ansicht zugreifen, aber die gelöschte autorisierte Ansicht kann in der Liste der Ansichten angezeigt werden und wird auf das Limit der autorisierten Ansicht angerechnet. Dieses Limit kann das Erstellen zusätzlicher autorisierter Ansichten verhindern, wenn die neue autorisierte Ansicht dieses Limit überschreitet.

Hinweise

Weisen Sie IAM-Rollen (Identity and Access Management) zu, die Nutzern die erforderlichen Berechtigungen zum Abfragen der autorisierten Ansichten oder autorisierten materialisierten Ansichten gewähren, die Sie freigeben.

Erforderliche Rollen

Zum Erstellen oder Aktualisieren einer autorisierten Ansicht benötigen Sie Berechtigungen für das Dataset, das die Ansicht enthält, und für das Dataset, das Zugriff auf die Ansicht gewährt.

Außerdem müssen Sie Nutzern oder Gruppen Zugriff auf das Projekt und das Dataset gewähren, das die Ansicht enthält.

Administratorberechtigungen für das Dataset, das die Ansicht enthält

Ansichten werden in BigQuery als Tabellenressourcen behandelt. Daher sind für das Erstellen einer Ansicht dieselben Berechtigungen erforderlich wie für das Erstellen einer Tabelle. Sie benötigen außerdem Berechtigungen zum Abfragen aller Tabellen, auf die die SQL-Abfrage der Ansicht verweist.

Sie benötigen die IAM-Berechtigung bigquery.tables.create, um eine Ansicht zu erstellen. Die vordefinierte IAM-Rolle roles/bigquery.dataEditor enthält die Berechtigungen, die Sie zum Erstellen einer Konfiguration benötigen.

Wenn Sie die Berechtigung bigquery.datasets.create haben, können Sie außerdem Ansichten in den von Ihnen erstellten Datasets erstellen. Wenn Sie eine Ansicht für Daten erstellen möchten, deren Inhaber Sie nicht sind, benötigen Sie die Berechtigung bigquery.tables.getData für diese Tabelle.

Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.

Administratorberechtigungen für das zweite Dataset, das Zugriff auf die Ansicht gewährt

Zum Aktualisieren von Dataset-Attributen benötigen Sie die folgenden IAM-Berechtigungen:

  • bigquery.datasets.update
  • bigquery.datasets.setIamPolicy (nur erforderlich, wenn Dataset-Zugriffssteuerungen in der Google Cloud Console aktualisiert werden)

Die vordefinierte IAM-Rolle roles/bigquery.dataOwner enthält die Berechtigungen, die Sie zum Aktualisieren von Dataset-Attributen benötigen.

Wenn Sie die Berechtigung bigquery.datasets.create haben, können Sie außerdem Attribute der von Ihnen erstellten Datasets aktualisieren.

Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.

Nutzerberechtigungen für das Projekt und den Datensatz der Ansicht

Wenn Sie eine autorisierte Ansicht für Nutzer oder Gruppen freigeben möchten, müssen Sie ihnen die folgenden IAM-Berechtigungen erteilen:

  • Die IAM-Rolle roles/bigquery.user für das Projekt, das die autorisierte Ansicht enthält.
  • Die IAM-Rolle roles/bigquery-data-viewer für das Dataset, das die autorisierte Ansicht enthält.

Mit autorisierten Ansichten arbeiten

In den folgenden Abschnitten wird beschrieben, wie Sie mit autorisierten Ansichten und autorisierten materialisierten Ansichten arbeiten.

Autorisierte Ansichten erstellen, freigeben und löschen

Eine vollständige Anleitung zum Autorisieren, Freigeben und Löschen einer autorisierten Ansicht finden Sie in der Anleitung Autorisierte Ansicht erstellen.

Nutzer oder Gruppen für autorisierte Datenansichten verwalten

Nachdem Sie eine Ansicht autorisiert haben, können Sie den Zugriff darauf aufrechterhalten, indem Sie die folgenden Aufgaben für ein Dataset, eine Tabelle oder eine Ansicht ausführen:

  • Rufen Sie die Zugriffsrichtlinie auf.
  • Gewähren Sie den Zugriff.
  • Widerrufen Sie den Zugriff.
  • Lehnen Sie den Zugriff ab.

Weitere Informationen finden Sie unter Zugriff auf Ressourcen mit IAM steuern.

Autorisierung für eine Ansicht entfernen

So entfernen Sie die Autorisierung für eine Ansicht:

Console

  1. Rufen Sie in der Google Cloud Console die Seite "BigQuery" auf.

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.

  3. Klicken Sie auf Freigabe > Ansichten autorisieren.

  4. Klicken Sie auf  und dann auf Autorisierung entfernen.

  5. Klicken Sie auf Schließen.

bq

Verwenden Sie den Befehl bq rm, um die Autorisierung für eine Ansicht zu entfernen. Geben Sie die table_id für die Ansicht ein, für die Sie die Autorisierung entfernen möchten.

    bq rm \
    project_id:dataset:table_id
    

API

Rufen Sie die Methode tables.delete auf und verwenden Sie die Eigenschaften projectID,datasetID und tableID, um die autorisierte Ansicht für Ihr Dataset zu entfernen. Weitere Informationen finden Sie unter Tabellen.

Kontingente und Limits

  • Autorisierte Ansichten unterliegen den Dataset-Limits. Weitere Informationen finden Sie unter Dataset-Limits.
  • Wenn Sie eine autorisierte Ansicht entfernen, kann es bis zu 24 Stunden dauern, bis alle Verweise auf die Ansicht aus dem System entfernt sind. Um Fehler zu vermeiden, warten Sie entweder 24 Stunden, bevor Sie den Namen einer entfernten Ansicht wiederverwenden, oder erstellen Sie einen eindeutigen Namen für Ihre Ansicht.

Themen für Fortgeschrittene

In den folgenden Abschnitten werden erweiterte Methoden zur Verwendung autorisierter Ansichten beschrieben.

Sicherheit auf Zeilenebene mit autorisierten Ansichten kombinieren

Die in einer logischen Ansicht oder einer materialisierten Ansicht angezeigten Daten werden gemäß den Zugriffsrichtlinien der zugrunde liegenden Quelltabelle auf Zeilenebene gefiltert.

Weitere Informationen dazu, wie die Sicherheit auf Zeilenebene mit materialisierten Ansichten interagiert, finden Sie unter Sicherheit auf Zeilenebene mit anderen BigQuery-Features verwenden.

Sicherheit auf Spaltenebene mit autorisierten Ansichten kombinieren

Die Auswirkung der Sicherheit auf Spaltenebene im Hinblick auf eine Datenansicht ist unabhängig davon, ob es sich dabei um eine autorisierte Datenansicht handelt.

Eine detaillierte Beschreibung dazu, wie Berechtigungen angewendet werden, finden Sie unter Abfrageansichten für die Sicherheit auf Spaltenebene.

Analytics Hub mit autorisierten Datenansichten verwenden

Analytics Hub ist eine Datenpoolplattform mit den folgenden Funktionen:

  • Sie können Daten und Statistiken in großem Umfang über Organisationsgrenzen hinweg teilen.
  • Es wird ein solides Sicherheits- und Datenschutzkonzept verwendet.
  • Unterstützt das Veröffentlichen eines BigQuery-Datasets, das als freigegebenes Dataset bezeichnet wird, und der zugehörigen autorisierten Ansichten und autorisierten Datasets für eine Gruppe von Abonnenten.

Ein verknüpftes Dataset ist ein schreibgeschütztes BigQuery-Dataset, das als Verweis auf ein freigegebenes Dataset dient. Wenn Sie einen Analytics Hub-Eintrag abonnieren, wird ein verknüpftes Dataset in Ihrem Projekt und keine Kopie des Datasets erstellt. Abonnenten können die Daten lesen, aber keine Objekte darin hinzufügen oder aktualisieren.

Materialisierte Ansichten, die auf Tabellen im verknüpften Dataset verweisen, werden nicht unterstützt.

Weitere Informationen finden Sie unter Einführung in Analytics Hub.

Nächste Schritte