Auf dieser Seite wird die differenzierte Autorisierung mit der rollenbasierten Zugriffssteuerung (Role-Based Access Control, RBAC) beschrieben, die in Cloud Data Fusion ab Version 6.5 verfügbar ist.
RBAC schränkt den Zugriff innerhalb der Umgebungen ein, in denen Sie Pipelines in Cloud Data Fusion entwickeln. Mit RBAC können Sie festlegen, wer Zugriff auf Cloud Data Fusion-Ressourcen hat, was diese Nutzer mit diesen Ressourcen tun können und auf welche Bereiche (z. B. Instanzen oder Namespaces) sie zugreifen können. Cloud Data Fusion RBAC ist ein Autorisierungssystem, das eine differenzierte Zugriffsverwaltung auf Basis von Identity and Access Management (IAM) bietet.
Einsatzmöglichkeiten für RBAC
Die rollenbasierte Zugriffssteuerung bietet eine Isolation auf Namespace-Ebene innerhalb einer einzelnen Cloud Data Fusion-Instanz. Sie wird für die folgenden Anwendungsfälle empfohlen:
- Minimieren der Anzahl der von Ihrer Organisation verwendeten Instanzen.
- Mehrere Entwickler, Teams oder Geschäftseinheiten verwenden eine einzige Cloud Data Fusion-Instanz.
Mit Cloud Data Fusion RBAC können Organisationen:
- Erlauben Sie einem Nutzer, eine Pipeline nur innerhalb eines Namespace auszuführen, aber keine Artefakte oder Compute-Profile für die Laufzeit zu ändern.
- Einem Nutzer erlauben, die Pipeline nur anzusehen, aber keine Pipeline zu ändern oder ausführen
- Einem Nutzer erlauben, eine Pipeline zu erstellen, bereitzustellen und auszuführen.
Empfohlen:Auch bei Verwendung von RBAC sollten Sie zur Aufrechterhaltung der Isolation, Sicherheit und Leistungsstabilität separate Projekte und Instanzen für Entwicklungs- und Produktionsumgebungen verwenden.
Beschränkungen
- Einem Nutzer können auf Instanz- oder Namespace-Ebene eine oder mehrere Rollen zugewiesen werden.
- RBAC ist nur in der Enterprise-Version von Cloud Data Fusion verfügbar.
- Anzahl der Namespaces: Kein festes Limit für die Anzahl von Namespaces pro Instanz.
- Nutzer: Pro Instanz werden maximal 50 Nutzer unterstützt.
- Benutzerdefinierte Rollen: Das Erstellen benutzerdefinierter RBAC-Rollen wird nicht unterstützt.
- Cloud Data Fusion RBAC unterstützt keine Autorisierung in der Verbindungsverwaltung.
- Wenn Sie für den Zugriff auf RBAC-fähige Instanzen der Version 6.5 OAuth-Zugriffstokens für Dienstkonten verwenden, müssen die folgenden Bereiche angegeben werden, insbesondere der Bereich
userinfo.email
. Andernfalls treten Fehler aufgrund von abgelehnten Berechtigungen auf.https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/cloud-platform
oderhttps://www.googleapis.com/auth/servicecontrol
Role assignments (Rollenzuweisungen)
Eine Rollenzuweisung besteht aus drei Elementen: Hauptkonto, Rollendefinition und Umfang.
Hauptkonto
Ein Hauptkonto (früher als Mitglied bezeichnet) kann ein Google-Konto (für Endnutzer), ein Dienstkonto (für Anwendungen und virtuelle Maschinen) oder eine Google-Gruppe sein, die Zugriff auf Cloud Data Fusion-Ressourcen anfordert. Sie können jedem dieser Hauptkonten eine Rolle zuweisen.
Rollendefinition
Eine Rolle enthält eine Reihe von Berechtigungen, mit denen Sie bestimmte Aktionen für Google Cloud-Ressourcen vornehmen können.
Cloud Data Fusion bietet mehrere vordefinierte Rollen, die Sie verwenden können.
Beispiele:
- Mit der Instanzadministratorrolle (
datafusion.admin
) können Hauptkonten Namespaces erstellen und löschen und Berechtigungen gewähren. - Mit der Entwicklerrolle (
datafusion.developer
) können Hauptkonten Pipelines erstellen und löschen, Pipelines bereitstellen und Vorschauen ausführen.
Geltungsbereich
Der Bereich ist die Gruppe von Ressourcen, für die der Zugriff gilt. Wenn Sie eine Rolle zuweisen, können Sie die zulässigen Aktionen weiter einschränken, indem Sie einen Bereich definieren (z. B. eine Instanz oder einen Namespace). Dies ist hilfreich, wenn Sie jemandem die Rolle „Developer“ zuweisen möchten, jedoch nur für einen Namespace.
Vordefinierte Cloud Data Fusion-Rollen
Cloud Data Fusion RBAC umfasst mehrere vordefinierte Rollen, die Sie verwenden können:
- Rolle „Instanzzugriff” (
datafusion.accessor
) - Gewährt dem Hauptkonto Zugriff auf eine Cloud Data Fusion-Instanz, jedoch nicht auf Ressourcen in der Instanz. Verwenden Sie diese Rolle in Kombination mit anderen Namespace-spezifischen Rollen, um detaillierten Zugriff auf den Namespace zu ermöglichen.
- Rolle „Betrachter“ (
datafusion.viewer
) - Gewährt einem Hauptkonto in einem Namespace Zugriff zum Ansehen von Pipelines, aber nicht zum Erstellen oder Ausführen von Pipelines.
- Operatorrolle (
datafusion.operator
) - Gewährt einem Hauptkonto in einem Namespace Zugriff, um auf Pipelines zuzugreifen und diese auszuführen, das Compute-Profil zu ändern, Compute-Profile zu erstellen oder Artefakte hochzuladen. Kann dieselben Aktionen wie ein Entwickler ausführen, mit Ausnahme der Vorschau von Pipelines.
- Entwicklerrolle (
datafusion.developer
) - Gewährt einem Hauptkonto in einem Namespace Zugriff zum Erstellen und Ändern von eingeschränkten Ressourcen im Namespace, z. B. Pipelines.
- Bearbeiterrolle
datafusion.editor
- Gewährt dem Hauptkonto vollständigen Zugriff auf alle Cloud Data Fusion-Ressourcen in einem Namespace in einer Cloud Data Fusion-Instanz. Diese Rolle muss dem Hauptkonto zusätzlich zur Rolle „Instanzzugriffsfunktion“ gewährt werden. Mit dieser Rolle kann das Hauptkonto Ressourcen im Namespace erstellen, löschen und ändern.
- Rolle „Instanzadministrator” (
datafusion.admin
) - Gewährt Zugriff auf alle Ressourcen in einer Cloud Data Fusion-Instanz. Über IAM zugewiesen. Nicht auf Namespace-Ebene über RBAC zugewiesen.
Vorgang | datafusion.accessor | datafusion.viewer | datafusion.operator | datafusion.developer | datafusion.editor | datafusion.admin |
---|---|---|---|---|---|---|
Instanzen | ||||||
Auf Instanz zugreifen | ||||||
Namespaces | ||||||
Namespace erstellt | * | |||||
Zugriffs-Namespace mit explizitem Zugriff gewährt | ||||||
Zugriffs-Namespace ohne expliziten Zugriff gewährt | * | |||||
Namespace bearbeiten | ||||||
Namespace gelöscht | ||||||
Namespace-Dienstkonto | ||||||
Dienstkonto hinzufügen | ||||||
Dienstkonto bearbeiten | ||||||
Dienstkonto entfernen | ||||||
Dienstkonto verwenden | ||||||
RBAC | ||||||
Berechtigungen für andere Hauptkonten im Namespace gewähren oder aufheben | * | |||||
Zeitpläne | ||||||
Zeitplan erstellen | ||||||
Zeitplan ansehen | ||||||
Zeitplan ändern | ||||||
Compute-Profile | ||||||
Compute-Profile erstellen | ||||||
Compute-Profile ansehen | ||||||
Compute-Profile bearbeiten | ||||||
Compute-Profile löschen | ||||||
Verbindungen | ||||||
Verbindungen erstellen | ||||||
Verbindungen ansehen | ||||||
Verbindungen bearbeiten | ||||||
Verbindungen löschen | ||||||
Verbindungen verwenden | ||||||
Pipelines | ||||||
Pipelines erstellen | ||||||
Pipelines ansehen | ||||||
Pipelines bearbeiten | ||||||
Pipelines löschen | ||||||
Pipelines als Vorschau ansehen | ||||||
Pipelines implementieren | ||||||
Pipelines ausführen | ||||||
Sichere Schlüssel | ||||||
Sichere Schlüssel erstellen | ||||||
Sichere Schlüssel ansehen | ||||||
Sicherheitsschlüssel löschen | ||||||
Tags | ||||||
Tags erstellen | ||||||
Tags aufrufen | ||||||
Tags löschen | ||||||
Cloud Data Fusion Hub | ||||||
Plug-ins bereitstellen | ||||||
Versionsverwaltung | ||||||
Repository für Versionsverwaltung konfigurieren | ||||||
Pipelines aus einem Namespace synchronisieren | ||||||
Abstammung | ||||||
Herkunft ansehen | ||||||
Mehr über Logs erfahren | ||||||
Logs ansehen |
Sicherheitsempfehlungen
Die Einführung eines Sicherheitsmodells und die Anpassung an die Anforderungen Ihres Unternehmens kann eine Herausforderung sein. Die folgenden Empfehlungen sollen Ihnen den Umstieg auf das RBAC-Modell von Cloud Data Fusion erleichtern:
- Die Rolle „Instanzadministrator“ sollte mit Bedacht gewährt werden. Diese Rolle ermöglicht vollständigen Zugriff auf eine Instanz und alle zugrunde liegenden Cloud Data Fusion-Ressourcen. Ein Hauptkonto mit dieser Rolle kann anderen mithilfe der REST API Berechtigungen gewähren.
- Die Rolle „Instanzadministrator“ sollte nicht gewährt werden, wenn Hauptkonten Zugriff auf einzelne Namespaces in einer Cloud Data Fusion-Instanz benötigen. Weisen Sie stattdessen die Rolle „Instanzzugriff“ mit der Rolle „Betrachter“, „Entwickler“, „Operator“ oder „Bearbeiter“ zu, die für eine Teilmenge der Namespaces gewährt wurden.
- Instanzzugriffsfunktion kann zuerst sicher zugewiesen werden, da sie Hauptkonten den Zugriff auf die Instanz ermöglicht, aber keinen Zugriff auf Ressourcen innerhalb der Instanz gewährt. Diese Rolle wird in der Regel zusammen mit der Rolle Betrachter/Entwickler/Operator/Bearbeiter verwendet, um Zugriff auf einen oder eine Teilmenge der Namespaces innerhalb einer Instanz zu gewähren.
- Die Betrachterrolle sollte Nutzern oder Google-Gruppen zugewiesen werden, die sich selbst um den Status ausgeführter Jobs kümmern bzw. Pipelines oder Logs mit Cloud Data Fusion-Instanzen aufrufen möchten. Beispielsweise Nutzer von täglichen Berichten, die wissen möchten, ob die Verarbeitung abgeschlossen wurde.
- Die Entwicklerrolle wird für ETL-Entwickler empfohlen, die für das Erstellen, Testen und Verwalten von Pipelines verantwortlich sind.
- Die Operator-Rolle für einen Namespace wird für Nutzer empfohlen, die Operations-Administrator- oder DevOps-Dienste bereitstellen. Sie können alle Aktionen ausführen, die Entwickler ausführen können (außer Vorschau von Pipelines), sowie Artefakte bereitstellen und Compute-Profile verwalten.
- Die Bearbeiterrolle für einen Namespace ist eine privilegierte Rolle, die dem Nutzer oder der Google-Gruppe vollen Zugriff auf alle Ressourcen im Namespace gewährt. Die Bearbeiterrolle vereinigt Entwickler- und Operatorrollen.
- Operatoren und Administratoren sollten bei der Installation nicht vertrauenswürdiger Plug-ins oder Artefakte vorsichtig sein, da diese ein Sicherheitsrisiko darstellen können.
Fehlerbehebung
In diesem Seitenabschnitt erfahren Sie, wie Sie Probleme im Zusammenhang mit RBAC in Cloud Data Fusion beheben.
Ein Hauptkonto mit der Rolle „Cloud Data Fusion Viewer“ für einen Namespace in RBAC kann Pipelines bearbeiten
Der Zugriff basiert auf einer Kombination aus IAM- und RBAC-Rollen. IAM-Rollen haben Vorrang vor RBAC-Rollen. Prüfen Sie, ob das Hauptkonto die IAM-Rolle Projektbearbeiter oder Cloud Data Fusion-Administrator hat.
Ein Hauptkonto mit der Rolle „Instanzadministrator“ in RBAC kann sich keine Cloud Data Fusion-Instanzen in der Google Cloud Console ansehen
Es gibt ein bekanntes Problem in Cloud Data Fusion, bei dem Hauptkonten mit der Rolle „Instanzadministrator“ keine Instanzen in der Google Cloud Console ansehen können. Um das Problem zu beheben, weisen Sie dem Hauptkonto entweder die Projektbetrachter oder eine der Cloud Data Fusion-IAM-Rollen zu. Dadurch wird für alle Instanzen im Projekt Lesezugriff auf das Hauptkonto gewährt.
Verhindern, dass ein Hauptkonto Namespaces ansehen kann, in denen es keine Rolle hat
Um zu verhindern, dass ein Hauptkonto Namespaces ansehen kann, in denen es keine Rolle hat, darf es nicht die Projektbetrachter-Rolle oder eine der Cloud Data Fusion-IAM-Rollen haben. Weisen Sie dem Hauptkonto stattdessen RBAC-Rollen nur in dem Namespace zu, in dem es ausgeführt werden muss.
Das Hauptkonto mit dieser Art von Zugriff kann die Liste der Cloud Data Fusion-Instanzen in der Google Cloud Console nicht sehen. Stellen Sie stattdessen einen direkten Link zur Instanz bereit, etwa so: https://INSTANCE_NAME-PROJECT_ID.REGION_NAME.datafusion.googleusercontent.com/
Wenn das Hauptkonto die Instanz öffnet, zeigt Cloud Data Fusion eine Liste der Namespaces an, in denen dem Hauptkonto eine RBAC-Rolle gewährt wurde.
Einem Hauptkonto die Rolle „Cloud Data Fusion-Zugriffer“ gewähren
Die Rolle „Accessor“ wird implizit einem Hauptkonto zugewiesen, wenn ihm für eine Cloud Data Fusion-Instanz eine andere RBAC-Rolle zugewiesen wird. Informationen dazu, ob ein Hauptkonto diese Rolle auf einer bestimmten Instanz hat, finden Sie in IAM Policy Analyzer.