BigQuery ist ein Data Warehouse für Analysen im Petabytebereich, mit dem SQL-Abfragen für riesige Datenmengen nahezu in Echtzeit ausgeführt werden können.
Eine Ansicht mit Zugriff auf ein Dataset wird in BigQuery auch autorisierte Ansicht genannt. Mit einer autorisierten Ansicht können Sie Abfrageergebnisse mit bestimmten Nutzern und Gruppen teilen, ohne diesen Zugriff auf die zugrunde liegenden Tabellen zu erteilen. Sie können auch die SQL-Abfrage der Ansicht verwenden, um die Spalten (Felder) einzuschränken, die die Nutzer abfragen können. In dieser Anleitung erstellen Sie eine autorisierte Ansicht.
Lernziele
In diesem Anleitung werden die folgenden Aufgaben erläutert:
- Datasets erstellen und Zugriffssteuerungen auf diese anwenden
- Ihrem Projekt Zugriffssteuerungen zuweisen
- Eine autorisierte Ansicht erstellen, die die Daten einschränkt, die Nutzer abfragen können
Kosten
BigQuery ist ein kostenpflichtiges Produkt und für die Nutzung von BigQuery in dieser Anleitung entstehen Kosten. Für einige Ressourcen ist BigQuery kostenlos bis zu einem bestimmten Limit kostenlos. Weitere Informationen finden Sie unter Kostenlose BigQuery-Vorgänge und kostenlose Stufe.
Vorbereitung
Bevor Sie mit dieser Anleitung beginnen, erstellen Sie in der Google Cloud Console ein Projekt oder wählen eines aus.
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
- BigQuery ist in neuen Projekten automatisch aktiviert.
Zum Aktivieren von BigQuery in einem vorhandenen Projekt wechseln Sie zu
BigQuery API aktivieren.
. - Optional: Aktivieren Sie die Abrechnung für das Projekt. Die Abrechnung funktioniert auch dann, wenn Sie die Abrechnung nicht aktivieren oder keine Kreditkarte angeben möchten. BigQuery bietet Ihnen eine Sandbox zum Ausführen dieser Schritte. Weitere Informationen finden Sie unter BigQuery-Sandbox aktivieren.
Quell-Dataset erstellen
Als Erstes erstellen Sie ein Dataset zur Speicherung der Quelldaten. In dieser Anleitung füllen Sie eine Tabelle in dem Quell-Dataset durch Abfrage des öffentlichen GitHub-Datasets aus. Die Daten in Ihrem Quell-Dataset enthalten Informationen, die die Datenanalytiker nicht sehen sollen. Sie begrenzen den Zugriff auf die Daten mit einer autorisierten Ansicht.
So erstellen Sie Ihr Quell-Dataset:
Console
Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.
Wählen Sie im Bereich Explorer das Projekt aus, in dem Sie das Dataset erstellen möchten.
Maximieren Sie die Option
Aktionen und klicken Sie auf Dataset erstellen.Geben Sie unter Dataset-ID
github_source_data
ein.Übernehmen Sie die anderen Standardeinstellungen und klicken Sie auf Dataset erstellen.
SQL
Verwenden Sie die DDL-Anweisung CREATE SCHEMA
:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
CREATE SCHEMA github_source_data;
Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Nachdem Sie das Quell-Dataset erstellt haben, füllen Sie eine Tabelle in dem Dataset mit einer SQL-Abfrage aus. Diese Abfrage ruft Daten aus dem öffentlichen GitHub-Dataset ab.
Console
Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.
Kopieren Sie die folgende Abfrage und fügen Sie sie in den Bereich Bearbeiter ein.
SELECT commit, author, committer, repo_name FROM `bigquery-public-data.github_repos.commits` LIMIT 1000;
Klicken Sie auf Mehr und wählen Sie Abfrageeinstellungen.
Wählen Sie unter Ziel die Option Zieltabelle für Abfrageergebnisse festlegen aus.
Geben Sie unter Dataset den Wert
PROJECT_ID.github_source_data
ein. Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.Geben Sie unter Tabellen-ID
github_contributors
ein.Klicken Sie auf Speichern.
Klicken Sie auf Ausführen.
Wenn die Abfrage abgeschlossen ist, klicken Sie auf github_contributors und dann auf Vorschau, um zu prüfen, ob die Daten in die Tabelle geschrieben wurden.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Dataset erstellen, in dem die Ansicht gespeichert werden kann
Nachdem Sie das Quell-Dataset erstellt haben, erstellen Sie ein neues, separates Dataset zum Speichern der autorisierten Ansicht, die Sie an die Datenanalytiker weitergeben. In einem späteren Schritt gewähren Sie der autorisierten Ansicht Zugriff auf die Daten im Quell-Dataset. Ihre Datenanalysten haben dann Zugriff auf die autorisierte Ansicht, aber keinen direkten Zugriff auf die Quelldaten.
Autorisierte Ansichten sollten in einem anderen Dataset als die Quelldaten erstellt werden. Auf diese Weise können Dateninhaber Nutzern Zugriff auf die autorisierte Ansicht gewähren, ohne gleichzeitig Zugriff auf die zugrunde liegenden Daten bereitzustellen. Das Quell-Daten-Dataset und das Dataset der autorisierten Ansicht müssen sich am selben regionalen Standort befinden.
So erstellen Sie ein Dataset zum Speichern Ihrer Ansicht:
Console
Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.
Wählen Sie im Bereich Explorer das Projekt aus, in dem Sie das Dataset erstellen möchten.
Maximieren Sie die Option
Aktionen und klicken Sie auf Dataset erstellen.Geben Sie unter Dataset-ID
shared_views
ein.Übernehmen Sie die anderen Standardeinstellungen und klicken Sie auf Dataset erstellen.
SQL
Verwenden Sie die DDL-Anweisung CREATE SCHEMA
:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
CREATE SCHEMA shared_views;
Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Erstellen Sie die Ansicht in dem neuen Dataset
In dem neuen Dataset erstellen Sie die Ansicht, die autorisiert werden soll. Dies ist die Ansicht, die Sie mit den Datenanalytikern teilen. Diese Ansicht wird mit einer SQL-Abfrage erstellt, die die Spalten ausschließt, die die Datenanalytiker nicht sehen sollen.
Bei dieser Anleitung schließt die freigegebene Ansicht die Autoreninformationen mit Ausnahme des Autorennamens und die Committer-Informationen mit Ausnahme des Committer-Namens aus.
So erstellen Sie die Ansicht in dem neuen Dataset:
Console
Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.
Kopieren Sie die folgende Abfrage und fügen Sie sie in den Bereich Bearbeiter ein. Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID.SELECT commit, author.name AS author, committer.name AS committer, repo_name FROM `PROJECT_ID.github_source_data.github_contributors`;
Klicken Sie auf Speichern > Ansicht speichern.
Gehen Sie im Dialogfeld Ansicht speichern so vor:
- Prüfen Sie bei Projekt, ob Ihr Projekt ausgewählt ist.
- Geben Sie unter Dataset den Wert
shared_views
ein. - Geben Sie für Tabelle den Wert
github_analyst_view
ein. - Klicken Sie auf Speichern.
SQL
Verwenden Sie die DDL-Anweisung CREATE VIEW
:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
CREATE VIEW shared_views.github_analyst_view AS ( SELECT commit, author.name AS author, committer.name AS committer, repo_name FROM `PROJECT_ID.github_source_data.github_contributors` );
Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID.Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Datenanalytikern eine IAM-Rolle auf Projektebene zuweisen
Zum Abfragen der Ansicht benötigen Datenanalysten die Berechtigung zum Ausführen von Abfragejobs. Die Rolle bigquery.user
beinhaltet Berechtigungen zum Ausführen von Jobs, einschließlich Abfragejobs, innerhalb des Projekts. Wenn Sie Nutzern oder Gruppen auf Projektebene die Rolle bigquery.user
zuweisen, können diese Datasets erstellen und Abfragejobs für Tabellen dieser Datasets ausführen. Die Rolle bigquery.user
ermöglicht Nutzern nicht, Daten abzufragen, Tabellendaten anzeigen zu lassen oder Tabellenschemadetails für Datasets aufzurufen, die der Nutzer nicht erstellt hat.
Wenn Sie Ihren Datenanalysten die Rolle bigquery.user
auf Projektebene zuweisen, können diese damit keine Tabellendaten des Datasets aufrufen oder abfragen, das die von der Ansicht abgefragten Tabellen enthält. Die Rolle bigquery.user
gewährt Nutzern auch keine Möglichkeit, Ihre Ansichten zu aktualisieren.
Die Rolle bigquery.user
auf Projektebene sollte den meisten Personen (Data Scientists, Business-Intelligence-Analysten) in einem Unternehmen zugewiesen werden.
Wenn Sie einer IAM-Rolle eine Gruppe hinzufügen, müssen die E-Mail-Adresse und Domain mit einem aktiven Google-Konto oder Google Apps-Konto verknüpft sein.
So weisen Sie der Datenanalystengruppe die Rolle bigquery.user
auf Projektebene zu:
Console
Öffnen Sie in der Google Cloud Console die Seite "IAM".
Prüfen Sie, ob Ihr Projekt in der Projektauswahl in der oberen Leiste ausgewählt ist.
Klicken Sie auf
Zugriff gewähren.Im Dialogfeld Zugriff erlauben auf:
- Geben Sie im Feld Neue Hauptkonten die Gruppe ein, die Ihre Datenanalysten enthält. Beispiel:
data_analysts@example.com
. - Suchen Sie im Feld Rolle auswählen nach der Rolle BigQuery-Nutzer und wählen Sie sie aus.
- Klicken Sie auf Speichern.
- Geben Sie im Feld Neue Hauptkonten die Gruppe ein, die Ihre Datenanalysten enthält. Beispiel:
Zugriffssteuerungen dem Dataset zuweisen, das die Ansicht enthält
Damit die Datenanalysten die Ansicht abfragen können, muss ihnen die Rolle bigquery.dataViewer
für das Dataset erteilt werden, das die Ansicht enthält. Die Rolle bigquery.user
gewährt Ihren Datenanalysten die Berechtigungen, die zum Erstellen von Abfragejobs erforderlich sind. Sie können die Ansicht jedoch nur dann abfragen, wenn sie auch bigquery.dataViewer
-Zugriff auf das Dataset haben, das die Ansicht enthält.
So erteilen Sie Datenanalytikern bigquery.dataViewer
-Zugriff auf das Dataset:
Console
Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.
Wählen Sie im Bereich Explorer das Dataset
shared_views
aus.Klicken Sie auf > Berechtigungen.
FreigabeKlicken Sie im Bereich Dataset-Berechtigungen auf Hauptkonto hinzufügen.
Geben Sie im Feld Neue Hauptkonten die Gruppe ein, die Ihre Datenanalysten enthält (z. B.
data_analysts@example.com
).Klicken Sie auf Rolle auswählen und wählen Sie BigQuery > BigQuery-Datenbetrachter.
Klicken Sie auf Speichern.
Klicken Sie auf Schließen.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Zugriff der Ansicht auf das Quell-Dataset autorisieren
Nach dem Erstellen von Zugriffssteuerungen für das Dataset, das die Ansicht enthält, muss die Ansicht als autorisierte Ansicht zum Quell-Dataset hinzugefügt werden. Diese Autorisierung gibt der Ansicht, aber nicht der Datenanalystengruppe Zugriff auf die Quelldaten.
So autorisieren Sie die Ansicht für den Zugriff auf die Quelldaten:
Console
Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.
Wählen Sie im Bereich Explorer das Dataset
github_source_data
aus.Klicken Sie auf
Freigabe und wählen Sie dann Ansichten autorisieren aus.Geben Sie im angezeigten Bereich Autorisierte Ansichten die Ansicht
github_analyst_view
in das Feld Autorisierte Ansichten ein.Klicken Sie auf Autorisierung hinzufügen.
Die Ansicht github_analyst_view
ist jetzt berechtigt, auf Daten im Quell-Dataset zuzugreifen.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Konfiguration prüfen
Wenn die Konfiguration abgeschlossen ist, kann ein Mitglied der Datenanalystengruppe (z. B. data_analysts
) die Konfiguration durch Abfrage der Ansicht prüfen.
So prüfen Sie die Konfiguration:
SQL
Bitten Sie ein Mitglied der Datenanalystengruppe, Folgendes zu tun:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
SELECT * FROM `PROJECT_ID.shared_views.github_analyst_view`;
Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID.Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.
Kompletter Quellcode
Im Folgenden finden Sie den vollständigen Quellcode für die Anleitung.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
Nächste Schritte
- Zugriffssteuerungen in BigQuery unter Vordefinierte Rollen und Berechtigungen
- BigQuery-Ansichten unter Einführung in Ansichten
- Autorisierte Ansichten unter Autorisierte Ansicht erstellen.
- IAM-Standardkonzepte unter IAM-Überblick
- Verwaltung von Zugriffssteuerungen unter Richtlinien verwalten