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 der zugehörigen Metadaten in einer Cloud Data Fusion-Instanz. Sie können sich Namespaces als Partitionierung der Instanz. Alle Anwendungen oder Daten, die hier entity kann unabhängig in mehreren Namespaces vorhanden sein. In einem einzigen Fall in einem Namespace die Daten und Metadaten einer Entität unabhängig von einen anderen Namespace.
Zugriffssteuerung mit einem Namespace-Dienstkonto
Für die Zugriffssteuerung auf Google Cloud-Ressourcen wird in Cloud Data Fusion standardmäßig der Cloud Data Fusion API-Dienst-Agent verwendet.
Für eine bessere Datenisolierung können Sie jedem Namespace ein benutzerdefiniertes IAM-Dienstkonto zuordnen (Dienstkonto pro Namespace). 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.
Bevor Sie beginnen
- Dienstkonten pro Namespace werden in RBAC-fähigen Instanzen unterstützt in Cloud Data Fusion Version 6.10.0 und höher.
- Dienstkonten pro Namespace werden zur Steuerung und Verwaltung Zugriff auf Google Cloud-Ressourcen.
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 Namespace-Dienstkonten und zum Gewähren von Nutzerberechtigungen innerhalb eines Namespaces 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
Gewähren Sie vordefinierte, um Nutzern die Berechtigungen zu erteilen, die sie in einem Namespace benötigen. Cloud Data Fusion-Rollen zugewiesen sind. Weitere Informationen finden Sie in der vordefinierte Cloud Data Fusion-Rollen für Nutzer in RBAC-fähigen Instanzen verfügbar.
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 Dienstkonto für Pipelinedesign den Dienst
Konto-E-Mail-Adresse, z. B.
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
- Folgen Sie der Anleitung im angezeigten Dialogfeld.
- Geben Sie im Feld Dienstkonto für Pipelinedesign den Dienst
Konto-E-Mail-Adresse, 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 für jeden Namespace ein Dienstkonto zu konfigurieren.
REST API
Rolle „Workload Identity-Nutzer“ gewähren (
roles/iam.workloadIdentityUser
).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. Bis rufen Sie die Seite Instanzen auf und klicken Sie auf die Namen. Die ID wird auf der Seite Instanzdetails angezeigt.SERVICE_ACCOUNT_PROJECT
: die ID des Google Cloud-Projekts, in dem das IAM befindet.
Gewähren Sie die Rolle „Workload Identity-Nutzer“:
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 auf sie zugegriffen werden. Weitere Informationen finden Sie unter Details zu einem Namespace.SERVICE_ACCOUNT_EMAIL
: die E-Mail-Adresse von das Dienstkonto, z. B.SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
.
Bestätigen Sie die E-Mail-Adresse des Namespace-Dienstkontos aus dem vorherigen Schritt. Festlegen den
environment variables
, dann führen Sie 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: Befehl: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 der Cloud Data Fusion-Instanz auf Systemadministrator > Konfiguration > Namespaces.
- Klicken Sie auf den Namensbereich mit dem Dienstkonto, das Sie bearbeiten möchten.
- Rufen Sie zum Bearbeiten des Dienstkontos den Tab Dienstkonten auf. Klicken Sie neben dem Namen des Dienstkontos auf > Bearbeiten. Dreistrich-Menü
- Führen Sie die Schritte zum Konfigurieren eines Namespace-Dienstkontos aus.
REST API
So bearbeiten Sie ein Namespace-Dienstkonto:
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"}'
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 der Cloud Data Fusion-Instanz auf Systemadministrator > Konfiguration > Namespaces.
- Klicken Sie auf den Namensbereich mit dem Dienstkonto, das Sie löschen möchten.
- Rufen Sie den Tab Dienstkonten auf, um das Dienstkonto zu entfernen. Weiter neben dem Namen des Dienstkontos auf das > Löschen. Menü
REST API
So löschen Sie ein Namespace-Dienstkonto aus einem Namespace:
Legen Sie
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.
Namespace-Dienstkonto abrufen
Console
Gehen Sie folgendermaßen vor, um Dienstkontoinformationen für den Namespace abzurufen: Schritte:
Rufen Sie in der Google Cloud Console die Cloud Data Fusion-Instanzen auf. Seite und öffnen Sie eine Instanz im Cloud Data Fusion-Web. .
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.
Wenn der Vorgang erfolgreich war, erhalten Sie die E-Mail-Adresse des Dienstkontos 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