Übersicht über die rollenbasierte Zugriffssteuerung (RBAC)

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 oder https://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

* Das Hauptkonto muss die IAM-Rolle „Data Fusion Admin“ haben, nicht die RBAC-Rolle „Instanzadministrator“.

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.

Nächste Schritte