Auf dieser Seite wird der Anwendungsfall beschrieben, in dem Sie den Zugriff auf Google Cloud-Ressourcen auf Namespace-Ebene steuern, wenn Sie Daten aus Cloud Storage nach BigQuery migrieren.
Um den Zugriff auf Google Cloud Ressourcen zu steuern, verwenden Namespaces in Cloud Data Fusion standardmäßig den Cloud Data Fusion API-Dienst-Agent.
Zur besseren Datenisolation können Sie jedem Namespace ein benutzerdefiniertes IAM-Dienstkonto (Dienstkonto pro Namespace) zuordnen. Mit dem benutzerdefinierten IAM-Dienstkonto, das für verschiedene Namespaces unterschiedlich sein kann, können Sie den Zugriff aufGoogle Cloud -Ressourcen zwischen Namespaces für Pipeline-Designzeitvorgänge in Cloud Data Fusion steuern, z. B. Pipeline-Vorschau, Wrangler und Pipeline-Validierung.
Weitere Informationen finden Sie unter Zugriffssteuerung mit Namespace-Dienstkonten.
Szenario
In diesem Anwendungsfall migriert Ihre Marketingabteilung Daten aus Cloud Storage mit Cloud Data Fusion in BigQuery.
Die Marketingabteilung hat drei Teams: A, B und C. Ihr Ziel ist es, einen strukturierten Ansatz zu entwickeln, um den Datenzugriff in Cloud Storage über Cloud Data Fusion-Namespaces zu steuern, die den Teams A, B und C entsprechen.
Lösung
In den folgenden Schritten wird beschrieben, wie Sie den Zugriff auf Google Cloud Ressourcen mit Namespace-Dienstkonten steuern und so unbefugten Zugriff zwischen den Datenspeichern verschiedener Teams verhindern.
Jedem Namespace ein Identity and Access Management-Dienstkonto zuordnen
Konfigurieren Sie für jedes Team ein IAM-Dienstkonto im Namespace (siehe Namespace-Dienstkonto konfigurieren):
Richten Sie die Zugriffssteuerung ein, indem Sie ein benutzerdefiniertes Dienstkonto für Team A hinzufügen, z. B.
team-a@pipeline-design-time-project.iam.gserviceaccount.com
.Abbildung 1: Benutzerdefiniertes Dienstkonto für Team A hinzufügen. Wiederholen Sie die Konfigurationsschritte für Team B und Team C, um die Zugriffssteuerung mit ähnlichen benutzerdefinierten Dienstkonten einzurichten.
Zugriff auf die Cloud Storage-Buckets einschränken
Beschränken Sie den Zugriff auf Cloud Storage-Buckets, indem Sie die entsprechenden Berechtigungen erteilen:
- Erteilen Sie dem IAM-Dienstkonto die Berechtigung
storage.buckets.list
, die zum Auflisten von Cloud Storage-Buckets im Projekt erforderlich ist. Weitere Informationen finden Sie unter Buckets auflisten. Gewähren Sie dem IAM-Dienstkonto die Berechtigung für den Zugriff auf die Objekte in bestimmten Buckets.
Weisen Sie dem IAM-Dienstkonto, das dem Namespace
team_A
zugeordnet ist, beispielsweise die Rolle Storage-Objekt-Betrachter für den Bucketteam_a1
zu. Mit dieser Berechtigung kann Team A Objekte und verwaltete Ordner sowie deren Metadaten in diesem Bucket in einer isolierten Designumgebung ansehen und auflisten.Abbildung 2: Fügen Sie auf der Seite Buckets von Cloud Storage das Team als Prinzipal hinzu und weisen Sie ihm die Rolle „Storage-Objekt-Nutzer“ zu.
Cloud Storage-Verbindung in den entsprechenden Namespaces erstellen
Cloud Storage-Verbindung im Namespace jedes Teams erstellen:
Rufen Sie in der Google Cloud Console die Seite Cloud Data Fusion-Instanzen auf und öffnen Sie eine Instanz in der Cloud Data Fusion-Weboberfläche.
Klicken Sie auf Systemadministrator > Konfiguration > Namespaces.
Klicken Sie auf den Namespace, den Sie verwenden möchten, z. B. den Namespace für Team A.
Klicken Sie auf den Tab Verbindungen und dann auf Verbindung hinzufügen.
Wählen Sie GCS aus und konfigurieren Sie die Verbindung.
Abbildung 3: Cloud Storage-Verbindung für den Namespace konfigurieren. Erstellen Sie für jeden Namespace eine Cloud Storage-Verbindung, indem Sie die vorherigen Schritte wiederholen. Jedes Team kann dann für seine Designzeitvorgänge mit einer isolierten Kopie dieser Ressource interagieren.
Designzeit-Isolation für jeden Namespace validieren
Team A kann die Isolation beim Design validieren, indem es auf Cloud Storage-Buckets in den jeweiligen Namespaces zugreift:
Rufen Sie in der Google Cloud Console die Seite Cloud Data Fusion-Instanzen auf und öffnen Sie eine Instanz in der Cloud Data Fusion-Weboberfläche.
Klicken Sie auf Systemadministrator > Konfiguration > Namespaces.
Wählen Sie einen Namespace aus, z. B. den Namespace von Team A,
team_A
.Klicken Sie auf > Wrangler.
MenüKlicken Sie auf GCS.
Klicken Sie in der Bucket-Liste auf den Bucket
team_a1
.Sie können die Liste der Buckets aufrufen, da der Namespace von Team A die Berechtigung
storage.buckets.list
hat.Wenn Sie auf den Bucket klicken, können Sie seinen Inhalt aufrufen, da der Namespace „Team A“ die Rolle „Storage-Objekt-Betrachter“ hat.
Abbildung 4 und 5: Prüfen Sie, ob Team A auf den entsprechenden Storage-Bucket zugreifen kann. Kehren Sie zur Bucket-Liste zurück und klicken Sie auf den Bucket
team_b1
oderteam_c1
. Der Zugriff ist eingeschränkt, da Sie diese Designzeitressource für Team A mithilfe des Namespace-Dienstkontos isoliert haben.Abbildung 6: Prüfen, ob Team A nicht auf die Speicher-Buckets von Team B und C zugreifen kann.