Anwendungsfall: Zugriffssteuerung mit Namespace-Dienstkonten

Auf dieser Seite wird der Anwendungsfall beschrieben, bei dem Sie den Zugriff auf Google Cloud-Ressourcen auf Namespaceebene steuern, wenn Sie Daten von Cloud Storage zu BigQuery migrieren.

Um den Zugriff auf Google Cloud-Ressourcen zu steuern, Cloud Data Fusion verwendet den Cloud Data Fusion API-Dienst-Agent ist standardmäßig aktiviert.

Zur besseren Datenisolierung können Sie eine benutzerdefinierte IAM- (als Dienstkonto pro Namespace bezeichnet) mit jedem -Namespace auf sie zugegriffen werden. Das benutzerdefinierte IAM-Dienstkonto, das unterschiedlich für unterschiedliche Namespaces, ermöglicht es Ihnen, den Zugriff auf Google Cloud-Ressourcen zwischen Namespaces für die Pipelineentwicklungszeit Cloud Data Fusion-Vorgängen wie Pipeline-Vorschau, Wrangler und Pipeline-Validierung.

Weitere Informationen finden Sie unter Zugriffssteuerung mit Namespace-Dienstkonten.

Szenario

In diesem Anwendungsfall migriert Ihre Marketingabteilung Daten von Cloud Storage mit Cloud Data Fusion zu BigQuery migrieren

Datenpipeline mit Cloud Storage-Quelle, Wrangler-Transformation und BigQuery-Senke

Die Marketingabteilung hat drei Teams: A, B und C. Ihr Ziel ist es, einen strukturierten Ansatz zur Steuerung des Datenzugriffs in Cloud Storage über Cloud Data Fusion-Namespaces, die den entsprechenden für jedes Team – A, B und C.

Lösung

Die folgenden Schritte zeigen, wie Sie den Zugriff auf Google Cloud-Ressourcen steuern mit Namespace-Dienstkonten. Dadurch wird der unbefugte Zugriff zwischen den Datenspeicher verschiedener Teams.

Jedem Namespace ein IAM-Dienstkonto zuordnen

IAM-Dienstkonto im Namespace für jedes Team konfigurieren (siehe Namespace-Dienstkonto konfigurieren):

  1. 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.

    Konfigurieren Sie ein Dienstkonto für Team A.
    Abbildung 1: Benutzerdefiniertes Dienstkonto für Team A hinzufügen
  2. Wiederholen Sie die Konfigurationsschritte für die Teams B und C, um den Zugriff einzurichten. mit ähnlichen benutzerdefinierten Dienstkonten zu steuern.

Zugriff auf Cloud Storage-Buckets beschränken

Beschränken Sie den Zugriff auf Cloud Storage-Buckets, indem Sie entsprechende Berechtigungen:

  1. Weisen Sie dem IAM-Dienstkonto die Berechtigung storage.buckets.list zu Berechtigung, die zum Auflisten von Cloud Storage-Buckets im Projekt erforderlich ist. Weitere Informationen finden Sie unter Buckets auflisten
  2. Gewähren Sie dem IAM-Dienstkonto Zugriff auf die in bestimmten Buckets.

    Gewähren Sie beispielsweise Storage-Objekt-Betrachter Rolle für das IAM-Dienstkonto fest, das mit dem Namespace team_A im Bucket team_a1. Mit dieser Berechtigung kann Team A Objekte und verwaltete Ordner zusammen mit ihren Metadaten aufgelistet, in einer isolierten Designzeit-Umgebung.

    Weisen Sie die Rolle auf der Seite „Bucket-Details“ zu.
    Abbildung 2: In den Cloud Storage-Buckets fügen Sie das Team als Hauptkonto hinzu und weisen Sie die Rolle „Storage Object User“ zu.

Erstellen Sie die Cloud Storage-Verbindung in den entsprechenden Namespaces

Erstellen Sie eine Cloud Storage-Verbindung im Namespace jedes Teams:

  1. Rufen Sie in der Google Cloud Console Cloud Data Fusion auf. Seite Instanzen und öffnen Sie eine Instanz im Cloud Data Fusion-Web .

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf Systemadministrator > Konfiguration > Namespaces.

  3. Klicken Sie auf den Namespace, den Sie verwenden möchten, z. B. den Namespace für Team A.

  4. Klicken Sie auf den Tab Verbindungen und dann auf Verbindung hinzufügen.

  5. Wählen Sie GCS aus und konfigurieren Sie die Verbindung.

    Cloud Storage-Verbindung in Cloud Data Fusion erstellen
    Abbildung 3: Cloud Storage konfigurieren Verbindung für den Namespace.
  6. Erstellen Sie eine Cloud Storage-Verbindung für jeden Namespace, indem Sie die vorherigen Schritte wiederholen. Jedes Team kann dann mit einem isolierten für ihre Vorgänge in der Designzeit benötigen.

Isolierung zur Laufzeit für jeden Namespace prüfen

Team A kann die Isolation bei der Entwicklung prüfen, indem es auf Cloud Storage-Buckets in den jeweiligen Namespaces zugreift:

  1. Rufen Sie in der Google Cloud Console Cloud Data Fusion auf. Seite Instanzen und öffnen Sie eine Instanz im Cloud Data Fusion-Web .

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf Systemadministrator > Konfiguration > Namespaces.

  3. Wählen Sie einen Namespace aus, z. B. team_A für Team A.

  4. Klicken Sie auf . Menü > Wrangler.

  5. Klicken Sie auf GCS.

  6. Klicken Sie in der Bucket-Liste auf den Bucket team_a1.

    • Sie können die Liste der Bucket ansehen, da der Namespace „Team A“ die Berechtigung storage.buckets.list hat.

    • Wenn Sie auf den Bucket klicken, können Sie dessen Inhalt sehen, da Team A Namespace hat die Rolle „Storage Object Viewer“.

    Validieren Sie die Cloud Storage-Verbindung für Team A. Validieren, dass Team A auf die Buckets zugreifen kann.
    Abbildung 4 und 5: Überprüfen Sie, ob Team A auf die entsprechenden Storage-Bucket.
  7. Gehen Sie zurück zur Bucket-Liste und klicken Sie auf den Bucket team_b1 oder team_c1. Der Zugriff ist eingeschränkt, da Sie diese Ressource für die Entwicklungszeit für Team A unter Verwendung seines Namespace-Dienstkontos

    Bestätigen Sie, dass Team A nicht auf eingeschränkte Ressourcen zugreifen kann.
    Abbildung 6: Überprüfen, ob Team A nicht auf Team B und C zugreifen kann Storage-Buckets.

Nächste Schritte

  • Weitere Informationen über Sicherheit Funktionen in Cloud Data Fusion.