Übersicht über die rollenbasierte Zugriffssteuerung (RBAC)

Auf dieser Seite wird die detaillierte Autorisierung mit rollenbasierter Zugriffssteuerung (Role-Based Access Control, RBAC) in Cloud Data Fusion beschrieben.

Wenn Sie RBAC in Ihren Cloud Data Fusion-Instanzen aktivieren, können Sie den Zugriff innerhalb von Instanzen und Namespaces steuern, z. B. wer auf Cloud Data Fusion-Ressourcen zugreifen kann und was mit ihnen getan werden darf.

Anwendungsfälle für RBAC

RBAC bietet eine Isolation auf Namespace-Ebene innerhalb einer einzelnen Cloud Data Fusion-Instanz. Es 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:

  • Einem Nutzer erlauben, nur eine Pipeline innerhalb eines Namespace auszuführen, aber keine Artefakte oder Laufzeit-Compute-Profile zu ändern.
  • Einem Nutzer erlauben, nur die Pipeline aufzurufen, aber nicht eine Pipeline zu ändern oder auszuführen.
  • Einem Nutzer erlauben, eine Pipeline zu erstellen, bereitzustellen und auszuführen.

Empfohlen:Auch wenn Sie RBAC verwenden, sollten Sie separate Projekte und Instanzen für Entwicklungs- und Produktionsumgebungen verwenden, um Isolation, Sicherheit und Leistungsstabilität zu gewährleisten.

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: Keine feste Beschränkung für die Anzahl der Namespaces pro Instanz.
  • Die maximale Anzahl gleichzeitiger Nutzer in einer RBAC-fähigen Instanz finden Sie unter Preise.
  • Wenn Sie OAuth-Zugriffstokens für den Zugriff auf Instanzen mit aktivierter Version 6.5 verwenden, müssen Sie die folgenden Bereiche angeben, insbesondere den Bereich userinfo.email. Andernfalls treten Fehler vom Typ „Berechtigung verweigert“ 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

Sie weisen Hauptkonten Rollen zu, um ihren Zugriff auf Cloud Data Fusion-Ressourcen zu ändern.

Rollendefinition

Eine Rolle enthält eine Reihe von Berechtigungen, mit denen Sie bestimmte Aktionen fürGoogle Cloud -Ressourcen ausführen 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.

Umfang

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 einer Person die Entwicklerrolle nur für einen Namespace zuweisen möchten.

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 Nutzern über die REST API Berechtigungen erteilen.
  • Die Instanzadministrator-Rolle sollte nicht zugewiesen 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.
  • Die Rolle Instanzzugriff kann zuerst zugewiesen werden, da sie den Zugriff von Hauptkonten 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. Beispiel: Nutzer von täglichen Berichten, die wissen möchten, ob die Verarbeitung abgeschlossen wurde.
  • Entwicklerrollen werden für ETL-Entwickler empfohlen, die für das Erstellen, Testen und Verwalten von Pipelines verantwortlich sind.
  • Operatorrollen für einen Namespace werden für Nutzer empfohlen, die Vorgangsadministrator- oder DevOps-Dienste bereitstellen. Sie können alle Aktionen ausführen, die Entwickler ausführen können (außer Vorschau von Pipelines) und Artefakte bereitstellen sowie Computing-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 Abschnitt 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-Rollen Projektbearbeiter oder Cloud Data Fusion-Administrator hat.

Ein Prinzipal mit der Rolle „Instanzadministrator“ in RBAC kann Cloud Data Fusion-Instanzen in der Google Cloud -Konsole nicht ansehen.

In Cloud Data Fusion gibt es ein bekanntes Problem, bei dem Hauptkonten mit der Rolle „Instanzadministrator“ keine Instanzen in der Google Cloud Konsole sehen können. Um das Problem zu beheben, weisen Sie dem Hauptkonto zusätzlich zur Administratorrolle für eine Instanz entweder die Rolle Projektbetrachter oder eine der Cloud Data Fusion-IAM-Rollen zu. Dadurch erhält das Hauptkonto Viewer-Zugriff auf alle Instanzen im Projekt.

Verhindern, dass ein Hauptkonto Namespaces aufrufen kann, für die es keine Rolle hat

Damit ein Hauptkonto keine Namespaces aufrufen kann, für die es keine Rolle hat, darf ihm nicht die Rolle Projektbetrachter oder eine der Cloud Data Fusion-IAM-Rollen zugewiesen sein. Weisen Sie dem Hauptkonto stattdessen nur RBAC-Rollen im Namespace zu, in dem es verwendet werden muss.

Der Prinzipal mit dieser Art von Zugriff sieht die Liste der Cloud Data Fusion-Instanzen in der Google Cloud -Konsole nicht. Geben Sie ihnen stattdessen einen direkten Link zur Instanz, ähnlich dem folgenden: 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 zugewiesen ist.

Hauptkonto die Rolle „Cloud Data Fusion Accessor“ zuweisen

Die Rolle „Accessor“ wird einem Hauptkonto implizit zugewiesen, wenn ihm eine andere RBAC-Rolle für eine beliebige Cloud Data Fusion-Instanz zugewiesen wird. Wenn Sie prüfen möchten, ob ein Hauptkonto diese Rolle für eine bestimmte Instanz hat, verwenden Sie das IAM Policy Analyzer.

Nächste Schritte