Auf dieser Seite wird beschrieben, wie Sie ein IAM-Dienstkonto (Identity and Access Management) für einen Namensraum in einer Cloud Data Fusion-Instanz konfigurieren.
Namespaces in Cloud Data Fusion
Ein Namespace ist eine logische Gruppierung von Anwendungen, Daten und den zugehörigen Metadaten in einer Cloud Data Fusion-Instanz. Sie können sich Namespaces als Partitionierung der Instanz vorstellen. Alle Anwendungen oder Daten, die hier als Entität bezeichnet werden, können unabhängig voneinander in mehreren Namespaces vorhanden sein. In einer einzelnen Instanz werden die Daten und Metadaten einer Entität in einem Namespace unabhängig von einem anderen Namespace gespeichert.
Zugriffssteuerung mit einem Namespace-Dienstkonto
Für die Zugriffssteuerung auf Google Cloud -Ressourcen verwenden Namespaces in Cloud Data Fusion standardmäßig den Cloud Data Fusion API-Dienst-Agent.
Für eine bessere Datenisolierung können Sie jedem Namespace ein benutzerdefiniertes IAM-Dienstkonto zuordnen (Dienstkonto pro Namespace). 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-Designvorgänge in Cloud Data Fusion steuern, z. B. Pipeline-Vorschau, Wrangler und Pipeline-Validierung.
Vorbereitung
- Dienstkonten pro Namespace werden in RBAC-fähigen Instanzen in Cloud Data Fusion Version 6.10.0 und höher unterstützt.
- Mithilfe von Dienstkonten pro Namespace wird der Zugriff auf Google Cloud -Ressourcen gesteuert und verwaltet.
Erforderliche Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud Data Fusion Admin (roles/datafusion.admin
) für die Cloud Data Fusion-Instanz im Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Anpassen von Dienstkonten für einen Namensbereich und zum Gewähren von Nutzerberechtigungen innerhalb eines Namensbereichs benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Berechtigungen für Nutzer in einem Namespace verwalten
Wenn Sie Nutzern die erforderlichen Berechtigungen in einem Namespace zuweisen möchten, weisen Sie ihnen vordefinierte Cloud Data Fusion-Rollen zu. Weitere Informationen finden Sie unter Vordefinierte Cloud Data Fusion-Rollen, die Nutzern in RBAC-fähigen Instanzen zur Verfügung stehen.
Namespace-Dienstkonto konfigurieren
Console
So konfigurieren Sie ein Dienstkonto für den Namespace:
- Wenn Sie noch kein Dienstkonto für den Namensraum haben, erstellen Sie eines.
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 konfigurieren möchten.
Klicken Sie auf den Tab Dienstkonten und dann auf Dienstkonto hinzufügen.
Weisen Sie die Rolle „Workload Identity-Nutzer“ (
roles/iam.workloadIdentityUser
) zu.So weisen Sie die Rolle zu:
- Geben Sie im Feld Pipeline-Design-Dienstkonto die E-Mail-Adresse des Dienstkontos ein, z. B.
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
. - Folgen Sie der Anleitung im angezeigten Dialogfeld.
- Geben Sie im Feld Pipeline-Design-Dienstkonto die E-Mail-Adresse des Dienstkontos ein, z. B.
Kehren Sie zum Namespace Ihrer Cloud Data Fusion-Instanz zurück und klicken Sie auf Speichern, um die Konfiguration des Dienstkontos abzuschließen.
Wiederholen Sie die Schritte, um ein Dienstkonto für jeden Namespace zu konfigurieren.
REST API
Weisen Sie die Rolle „Workload Identity-Nutzer“ (
roles/iam.workloadIdentityUser
) zu.So weisen Sie die Rolle zu:
Legen Sie die folgenden Umgebungsvariablen fest:
export TENANT_PROJECT_ID=TENANT_PROJECT export GSA_PROJECT_ID=SERVICE_ACCOUNT_PROJECT
Ersetzen Sie Folgendes:
TENANT_PROJECT
: die Projekt-ID des Mandanten. Rufen Sie dazu die Seite Instanzen auf und klicken Sie auf den Instanznamen. Die ID wird auf der Seite Instanzdetails angezeigt.SERVICE_ACCOUNT_PROJECT
: dieGoogle Cloud Projekt-ID, in der sich das IAM-Dienstkonto befindet.
Weisen Sie die Rolle „Workload Identity-Nutzer“ zu:
gcloud iam service-accounts add-iam-policy-binding \ --role roles/iam.workloadIdentityUser --member "serviceAccount:${TENANT_PROJECT_ID}.svc.id.goog[default/NAMESPACE_IDENTITY]" SERVICE_ACCOUNT_EMAIL \ --project ${GSA_PROJECT_ID}
Ersetzen Sie Folgendes:
NAMESPACE_IDENTITY
: die Identität des Namespace. Weitere Informationen finden Sie unter Details eines Namespaces.SERVICE_ACCOUNT_EMAIL
: die E-Mail-Adresse des Dienstkontos, z. B.SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
.
Bestätigen Sie die E-Mail-Adresse des Namespace-Dienstkontos aus dem vorherigen Schritt. Legen Sie die
environment variables
fest und führen Sie dann den folgenden Befehl aus:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity/validate -X POST -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'
Ersetzen Sie Folgendes:
NAMESPACE_NAME
: die ID des Namespace.SERVICE_ACCOUNT_EMAIL
: die E-Mail-Adresse des IAM-Dienstkontos, die Sie im Namespace festlegen möchten.
Legen Sie das Namespace-Dienstkonto fest. Legen Sie
environment variables
fest und führen Sie dann den folgenden Befehl aus:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X PUT -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'
Namespace-Dienstkonto bearbeiten
Console
So bearbeiten Sie ein Namespace-Dienstkonto:
- Klicken Sie in Ihrer Cloud Data Fusion-Instanz auf Systemadministrator > Konfiguration > Namespaces.
- Klicken Sie auf den Namensbereich mit dem Dienstkonto, das Sie bearbeiten möchten.
- Wenn Sie das Dienstkonto bearbeiten möchten, rufen Sie den Tab Dienstkonten auf. Klicken Sie neben dem Namen des Dienstkontos auf > Bearbeiten. Dreistrich-Menü
- Folgen Sie der Anleitung zum Konfigurieren eines Namespace-Dienstkontos.
REST API
So bearbeiten Sie ein Namespace-Dienstkonto:
Legen Sie die
environment variables
fest und führen Sie dann den folgenden Befehl aus:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X PUT -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'
Ersetzen Sie Folgendes:
NAMESPACE_NAME
: die ID des Namespace.SERVICE_ACCOUNT_EMAIL
: die E-Mail-Adresse des IAM-Dienstkontos, die Sie im Namespace festlegen möchten.
Namespace-Dienstkonto löschen
Console
So löschen Sie ein Namespace-Dienstkonto aus einem Namespace:
- Klicken Sie in Ihrer Cloud Data Fusion-Instanz auf Systemadministrator > Konfiguration > Namespaces.
- Klicken Sie auf den Namensbereich mit dem Dienstkonto, das Sie löschen möchten.
- Wenn Sie das Dienstkonto entfernen möchten, rufen Sie den Tab Dienstkonten auf. Klicken Sie neben dem Namen des Dienstkontos auf > Löschen. Menü
REST API
So löschen Sie ein Namespace-Dienstkonto aus einem Namespace:
Legen Sie die
environment variables
fest und führen Sie dann den folgenden Befehl aus:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X DELETE
Ersetzen Sie Folgendes:
NAMESPACE_NAME
: die ID des Namespace.
Dienstkonto für den Namespace abrufen
Console
So rufen Sie Informationen zum Dienstkonto für den Namespace ab:
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 einen Namespacenamen, um die Details des Dienstkontos aufzurufen.
REST API
So rufen Sie den Namen des Namespace-Dienstkontos ab:
Legen Sie die
environment variables
fest und führen Sie dann den folgenden Befehl aus:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X GET
Ersetzen Sie Folgendes:
NAMESPACE_NAME
: die ID des Namespace.
Bei Erfolg erhalten Sie die E-Mail-Adresse des Dienstkontos in der folgenden Antwort:
Response: {"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}
Nächste Schritte
- Weitere Informationen zum Anwendungsfall für die Zugriffssteuerung mit Namespace-Dienstkonten
- Weitere Informationen zur rollenbasierten Zugriffssteuerung in Cloud Data Fusion