Fang mit RBAC an

Richten Sie rollenbasierte Zugriffskontrolle (RBAC) in Azure Databricks ein, damit Benutzer und Dienstprinzipale Rollen mit den Berechtigungen übernehmen können, die sie für jede Aufgabe benötigen. Wählen Sie eine Gruppe als Rolle aus, erteilen Sie die Berechtigung, diese Rolle zu übernehmen, und konfigurieren Sie ihren Zugriff. Für das Berechtigungsmodell siehe Rollenbasierte Zugriffskontrolle (RBAC).

Requirements

  • Ein Arbeitsbereich mit aktivierter Identitätsföderation. Siehe Identitätsverbund.
  • RBAC auf Konto- und Arbeitsbereichsebene aktiviert. Ein Account-Administrator und ein Workspace-Administrator führen die jeweiligen Aktivierungsschritte durch.
  • Account-Admin- oder Workspace-Admin-Rechte, um Gruppen zu erstellen und sie Arbeitsbereichen zuzuweisen.
  • Verwalte die Berechtigung für die Gruppe der Rolle, um die Übernehmen-Berechtigung zu gewähren oder zu widerrufen. Kontoadministratoren verfügen in allen Gruppen über die Berechtigung „Verwalten“. Arbeitsbereich-Administratoren haben bei von ihnen erstellten Gruppen die Berechtigung „Verwalten“. Sehen Sie sich an, wer Gruppen verwalten kann?.
  • Workspace-Admin-Rechte, um die Workspace-Berechtigungen einer bestehenden Gruppe zu verwalten.
  • Berechtigung, um Zugriff auf die Daten-, Rechen- und Arbeitsbereichsressourcen zu gewähren, die die Rolle benötigt. Die erforderlichen Berechtigungen hängen von den ausgewählten Ressourcen ab.

Verschiedene Administratoren können diese Aufgaben übernehmen. Gruppenmanager können Gruppenberechtigungen über die API verwalten. Siehe Verwalten von Berechtigungen für eine Gruppe.

RBAC aktivieren

RBAC ist für die meisten Kunden bereits aktiviert. Wenn du dir nicht sicher bist, ob es für dein Konto und deine Arbeitsbereiche aktiviert ist, überprüfe diese Einstellungen:

  1. Als Kontoadministrator stellen Sie sicher, dass die rollenbasierte Zugriffskontrolle (RBAC) auf Kontoebene auf der Vorschauseite aktiviert ist.
  2. Als Workspace-Administrator stellen Sie sicher, dass die rollenbasierte Zugriffskontrolle (RBAC) auf der Vorschauseite des Workspace aktiviert ist.

Die Kontoeinstellung stellt die Arbeitsbereichseinstellung zur Verfügung. Aktivieren Sie RBAC in jedem Arbeitsbereich, in dem Benutzer Rollen übernehmen müssen.

Wähle oder erstelle eine Rolle

In Azure Databricks wird eine Rolle als Kontogruppe implementiert. Du kannst eine in Azure Databricks erstellte Gruppe oder eine externe Gruppe von Microsoft Entra ID verwenden. Externe Gruppen sind ebenfalls Kontogruppen. Für Gruppenquellen und wie sich Kontogruppen von arbeitsplatz-lokalen Gruppen unterscheiden, siehe Gruppenquellen.

Entscheide, ob die Gruppe Mitglieder haben sollte:

  • Mitglieder erben die Berechtigungen der Gruppe, einschließlich der Berechtigungen der Elterngruppen, als Teil ihrer eigenen Identität. Mitglieder können die Gruppe als Rolle übernehmen, um eine Sitzung auf die Berechtigungen der Gruppe zu beschränken und bei den Ressourcen der Gruppe zusammenzuarbeiten.
  • Sie können die Übernehmen-Berechtigung Nicht-Mitgliedern gewähren, ohne sie als Mitglieder hinzuzufügen, sodass sie die Berechtigungen der Gruppe nicht mit ihrer eigenen Identität erben. Für ein Muster, das eine bewusste Rollenannahme erfordert, um auf Daten zuzugreifen, verwenden Sie eine leere Gruppe und lassen Sie sie leer. Siehe Tutorial: Exklusivzugang mit RBAC modellieren.

Um eine kontospezifische Rolle zu erstellen:

Kontokonsole

  1. Melden Sie sich als Kontoadministrator*in bei der Kontokonsole an.
  2. Klicken Sie in der Randleiste auf Benutzerverwaltung.
  3. Klicken Sie auf der Registerkarte Gruppen auf Gruppe hinzufügen.
  4. Gib einen Namen für die Rolle ein und klicke dann auf Bestätigen.
  5. Fügen Sie nur Mitglieder hinzu, wenn sie auch die Berechtigungen der Gruppe als ihre eigenen Identitäten erben sollten.

Administratoreinstellungen für den Arbeitsbereich

  1. Melden Sie sich als Arbeitsbereichsadministrator beim Azure Databricks-Arbeitsbereich an.
  2. Klicken Sie in der oberen Leiste auf Ihren Benutzernamen, und wählen Sie "Einstellungen" aus.
  3. Klicken Sie auf die Registerkarte "Identität und Zugriff ".
  4. Klicken Sie neben Gruppen auf Verwalten.
  5. Klicken Sie auf Gruppe hinzufügen, dann auf Neu hinzufügen.
  6. Geben Sie einen Namen für die Rolle ein und wählen Sie die benötigten Berechtigungen aus. Siehe Arbeitsbereichszugriff konfigurieren.
  7. Klicken Sie auf Hinzufügen.
  8. Fügen Sie nur Mitglieder hinzu, wenn sie auch die Berechtigungen der Gruppe als ihre eigenen Identitäten erben sollten.

Dadurch wird die Gruppe auch dem Arbeitsbereich zugewiesen. Sie erhalten die Berechtigung „Verwalten“ für die Gruppe, die es Ihnen gestattet, die Mitgliedschaft zu verwalten und die Übernehmen-Berechtigung zu erteilen.

Databricks empfiehlt, ein konsistentes Präfix wie role-, zu verwenden, um Gruppen zu unterscheiden, die als Rollen verwendet werden. Verwenden Sie zum Beispiel role-study-1 für eine Rolle und trial-researchers für eine Gruppe, deren Mitglieder diese übernehmen können.

Für Verfahren zur Gruppensynchronisierung, siehe Verwalten von Azure Databricks-Gruppen.

Optional: Verwenden Sie die Account Groups API

Sie können auch Gruppen mit der Account Groups API erstellen und verwalten. Für Endpunkte und Beispiele siehe Gruppen mit der API verwalten.

Verwalten der Berechtigung „Assume“

Benutzer und Dienstprinzipale können eine Rolle übernehmen, wenn sie die Übernehmen-Berechtigung haben, entweder direkt oder über Gruppenmitgliedschaft. Erteile die Berechtigung für die Gruppe, die die Rolle umsetzt. Gruppenmitglieder haben automatisch die Berechtigung Assume, daher benötigen Sie explizite Berechtigungen nur für Nicht-Mitglieder.

Um die Assume-Berechtigung zu erteilen, verwenden Sie entweder die Kontokonsole oder die Admin-Einstellungen des Arbeitsbereichs:

Kontokonsole

  1. Als Kontoadministrator öffnen Sie Benutzerverwaltung> und wählen Sie die Gruppe der jeweiligen Rolle aus.
  2. Klicken Sie auf Berechtigungen und dann auf Zugriff gewähren.
  3. Wählen Sie den Benutzer, Service Principal oder die Kontogruppe aus, die in der Lage sein soll, die Rolle zu übernehmen.
  4. Wählen Sie Übernehmen aus, und klicken Sie auf Speichern.

Administratoreinstellungen für den Arbeitsbereich

  1. Als Workspace-Administrator mit Verwalten-Berechtigung für die Rolle öffnen Sie die Einstellungen>Identität und Zugriff.
  2. Klicke neben Gruppen auf Verwalten und wähle dann die Gruppe der Rolle aus.
  3. Klicken Sie auf Berechtigungen und dann auf Zugriff gewähren.
  4. Wählen Sie den Benutzer, Service Principal oder die Kontogruppe aus, die in der Lage sein soll, die Rolle zu übernehmen.
  5. Wählen Sie Übernehmen aus, und klicken Sie auf Speichern.

Wenn Sie einer Gruppe die Übernehmen-Berechtigung erteilen, können deren Mitglieder die Rolle übernehmen. Sie müssen nicht Mitglieder der Rolle selbst sein. Du kannst die Assume-Berechtigung auch direkt einzelnen Nutzern oder Service-Principals gewähren.

Um die Übernehmen-Berechtigung zurückzunehmen, müssen Sie die entsprechende Erteilung entfernen. Prüfen Sie, ob der Prinzipal die Rolle weiterhin über die Mitgliedschaft in der Rolle oder einer anderen Gruppe übernehmen kann, der die Übernehmen-Berechtigung wurde. Das Entfernen einer direkten Erteilung entfernt nicht diese anderen Wege.

Begrenzen Sie das Verwalten der Rolle auf die Administratoren, die für ihre Mitgliedschaft und Berechtigungen verantwortlich sind. Ein Prinzipal mit Verwalten-Berechtigung kann anderen die Übernehmen-Berechtigung erteilen. Siehe Verwalten von Berechtigungen für eine Gruppe für die Account-Console- und Workspace-Admin-Verfahren oder Gewähre oder widerrufe die Übernehmen-Berechtigung für eine Gruppe für die Access Control API.

Workspace-Zugriff konfigurieren

Weise die Rolle jedem Arbeitsbereich zu, wo sie verfügbar sein sollte. Kontoadministratoren und Arbeitsbereichsadministratoren können Gruppen Arbeitsbereichen zuweisen. Siehe "Zuweisen einer Gruppe zu einem Arbeitsbereich".

Jede Zugriffsberechtigung gewährt Zugriff auf einen bestimmten Satz von Funktionen im Arbeitsbereich. Wählen Sie die Berechtigungen aus, die die Rolle benötigt:

  • Arbeitsbereichszugang: Gewährt Zugang zu zentralen Arbeitsbereichsfunktionen wie Notizbüchern und Jobs.
  • Sql-Zugriff auf Databricks: Gewährt Zugriff auf Sql-Features von Databricks, einschließlich Dashboards, Abfragen und SQL-Warehouses.

Siehe Zugangsberechtigungen für alle Zugangsberechtigungen, einschließlich Verbraucherzugang, und wie diese verwaltet werden. Wählen Sie die Berechtigungen der Rolle explizit aus, anstatt sich auf die Standardberechtigungen des Arbeitsbereichs zu verlassen. Siehe Übersicht.

Entscheiden Sie, ob Benutzer auch dem Arbeitsbereich als eigene Identitäten zugewiesen werden sollten:

  • Benutzer mit einer direkten oder vererbten Arbeitsbereichszuweisung und einem Zugriffsrecht können sich als sie selbst anmelden und zu einer Rolle wechseln, die sie übernehmen dürfen.
  • Benutzer ohne direkte oder vererbte Arbeitsbereichszuweisung müssen die diesem Arbeitsbereich zugewiesene Rolle übernehmen, um beizutreten. Sie benötigen die Assume-Berechtigung für die Rolle, und die Rolle benötigt eine Zugriffsberechtigung. Siehe Tutorial: Benutzer müssen eine Rolle für den Zugriff auf den Arbeitsbereich annehmen.

Die Assume-Berechtigung bestimmt, wer die Rolle nutzen darf. Arbeitsbereichszuweisungen bestimmen, wo es verfügbar ist, und Zugriffsberechtigungen bestimmen, welche Arbeitsbereichsfunktionen es verwenden kann. Gewähren Sie Datenrechte und Berechtigungen für Compute- und Workspace-Objekte getrennt.

Zugang zu Ressourcen gewähren

Erteile der Rolle die für ihre Aufgabe benötigten Berechtigungen:

  • Daten: Gewähren Sie Unity Catalog Rechte mit SQL oder Catalog Explorer. Zum Lesen einer Tabelle sind USE CATALOG für ihren Katalog, USE SCHEMA für ihr Schema und SELECT für die Tabelle erforderlich. Privilegien wie SELECT, die für einen Katalog oder ein Schema gewährt werden, gelten auch für seine aktuellen und zukünftigen Kindobjekte. Siehe Privilegienvererbung und Privilegien in Unity Catalog verwalten.
  • Compute: Erteile die Erlaubnis, die gewählte Rechenressource zu verwenden. Für ein SQL-Warehouse kann die Berechtigung „Can use“ erteilt werden, damit die Rolle Abfragen ausführen kann. Siehe Verwalten eines SQL-Warehouses. Für dediziertes Compute, das einer Gruppe zugewiesen ist, siehe Gruppenzugriff auf dediziertes Compute.
  • Workspace-Objekte: Verwenden Sie Access Control Lists (ACLs), um Zugriff auf Notizbücher, Jobs und andere Workspace-Objekte zu gewähren. Siehe Zugriffssteuerungslisten.

Rollen erben Berechtigungen von ihren übergeordneten Gruppen. Standardmäßig erben Ihre Rollen auch Berechtigungen, die der users Systemgruppe des Arbeitsbereichs und der account users Systemgruppe des Kontos gewährt werden. Die Änderung von gemeinsamen Berechtigungen betrifft andere Nutzer und Rollen, die diese erben. Siehe Wie Rollenberechtigungen angewendet werden.

Wenn Nutzer, die die Rolle übernehmen, Arbeitsbereichs-Assets, die der Rolle gehören, nicht teilen dürfen, konfigurieren Sie die Workspace-Asset-Sharing-Kontrollen.

Verwenden und überprüfen Sie die Rolle

Ein Benutzer oder Dienstprinzipal mit der Übernehmen-Berechtigung authentifiziert sich in der Rolle mit einer Methode in RBAC-Rollen wechseln. Überprüfen Sie, ob die Rolle auf die erforderlichen Ressourcen zugreifen kann und bei Ressourcen außerhalb ihres vorgesehenen Zugriffs Berechtigungsfehler auftreten. Vergleiche diese Ergebnisse mit derselben Identität, die ohne die Rolle handelt.

Für Daten, die der attributbasierten Zugriffssteuerung (ABAC) unterliegen, bewerten Richtlinien die aktive Rolle. Siehe Use RBAC with ABAC für Identitätsfunktionsverhalten und kombinierte Nutzungsmuster.

Audit-Attribution überprüfen

Frage system.access.audit in einem Unity Catalog-fähigen Arbeitsbereich ab, der sich im selben Konto und in derselben Cloud-Region befindet wie der Arbeitsbereich, in dem du die Rolle getestet hast. Der Audit-Reader benötigt USE CATALOG für system, USE SCHEMA für system.access, SELECT für system.access.audit und die Berechtigung, um die Abfrageberechnung zu verwenden. Siehe Gewähren des Zugriffs auf Systemtabellen.

Die Identitätsmetadatenfelder unterscheiden die Identitäten, die an einem Ereignis beteiligt sind:

  • run_by: die Identität, die das Ereignis ausgelöst hat.
  • run_as: Die für die Autorisierung verwendete Identität.
  • run_by_display_name und run_as_display_name: die entsprechenden menschenlesbaren Namen.

Für interaktive Anfragen, die während der Übernahme einer Rolle gestellt werden, identifiziert run_by den Benutzer und run_as identifiziert die Rolle. Für Job-Workloads identifiziert run_by den Anwendungsdienstprinzipal des Jobs-Services. Siehe „Ausführen als“ für eine Gruppe festlegen.

Filtern Sie nach workspace_id und event_date, um Ihre Testaktivität zu finden. Die Tabellendaten des Auditsystems werden den ganzen Tag über aktualisiert und eignen sich nicht für die Echtzeitüberwachung. Wenn ein aktuelles Ereignis fehlt, schau später noch einmal nach. Siehe Referenz der Audit-Log-Systemtabellen und Systemtabellenreferenz.

Zusätzliche Ressourcen

Wählen Sie ein Tutorial für ein vollständiges Aufbau- und Verifizierungsverfahren:

Bevor Sie eine Rolle auf andere Arbeitslasten anwenden, prüfen Sie Einschränkungen der rollenbasierten Zugriffskontrolle (RBAC).