Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
In diesem Artikel wird erläutert, wie Sie eine Computeressource erstellen, die einer Gruppe mithilfe des zugriffsmodus Dedicated zugewiesen ist.
Der dedizierte Gruppenzugriffsmodus ermöglicht Es Benutzern, die Betriebseffizienz eines Standardzugriffsmodusclusters zu erhalten und gleichzeitig Sprachen und Workloads sicher zu unterstützen, die nicht vom Standardzugriffsmodus unterstützt werden, z. B. Databricks Runtime für ML, RDD-APIs und R.
Anforderungen
So verwenden Sie den dedizierten Gruppenzugriffsmodus:
- Der Arbeitsbereich muss für den Unity-Katalog aktiviert sein.
- Sie müssen Databricks Runtime 15.4 oder höher verwenden.
- Die zugewiesene Gruppe muss über
CAN MANAGEBerechtigungen für einen Arbeitsbereichsordner verfügen, in dem Notizbücher, ML-Experimente und andere Arbeitsbereichsartefakte aufbewahrt werden können, die vom Gruppencluster verwendet werden.
Was ist der dedizierte Zugriffsmodus?
Der dedizierte Zugriffsmodus ist die neueste Version des Einzelbenutzerzugriffsmodus. Mit dediziertem Zugriff kann eine Computeressource einem einzelnen Benutzer oder einer einzelnen Gruppe zugewiesen werden, sodass der zugewiesene Benutzer nur Zugriff auf die Computeressource hat.
Wenn ein Benutzer mit einer Computeressource verbunden ist, die einer Gruppe (einem Gruppencluster) zugeordnet ist, werden die Berechtigungen des Benutzers automatisch auf die Berechtigungen der Gruppe herabgestrigen, sodass der Benutzer die Ressource sicher für die anderen Mitglieder der Gruppe freigeben kann.
Erstellen einer Computeressource, die einer Gruppe zugeordnet ist
- Gehen Sie in Ihrem Azure Databricks-Arbeitsbereich auf Compute und klicken auf Create compute.
- Erweitern Sie den Abschnitt Erweitert.
- Klicken Sie unter Access-Modusauf Manuell, und wählen Sie dann im Dropdownmenü Exklusiv (früher: Einzelbenutzer) aus.
- Wählen Sie im Feld einzelner Benutzer oder Gruppe die Gruppe aus, die Sie dieser Ressource zuweisen möchten.
- Konfigurieren Sie die anderen gewünschten Computeeinstellungen, und klicken Sie dann auf "Erstellen".
Bewährte Methoden zum Verwalten von Gruppenclustern
Da Benutzerberechtigungen bei verwendung von Gruppenclustern auf die Gruppe festgelegt sind, empfiehlt Databricks, einen /Workspace/Groups/<groupName> Ordner für jede Gruppe zu erstellen, die Sie mit einem Gruppencluster verwenden möchten. Weisen Sie dann CAN MANAGE Berechtigungen für den Ordner der Gruppe zu. Auf diese Weise können Gruppen Berechtigungsfehler vermeiden. Alle Notizbücher und Arbeitsbereichsressourcen der Gruppe sollten im Gruppenordner verwaltet werden.
Sie müssen auch die folgenden Workloads so ändern, dass sie auf Gruppenclustern ausgeführt werden:
- MLflow: Stellen Sie sicher, dass Sie das Notizbuch aus dem Gruppenordner ausführen oder
mlflow.set_tracking_uri("/Workspace/Groups/<groupName>")ausführen. - AutoML: Legen Sie den optionalen Parameter
experiment_dirfür Ihre AutoML-Durchläufe auf“/Workspace/Groups/<groupName>”fest. -
dbutils.notebook.run: Stellen Sie sicherREADBerechtigung für das auszuführende Notizbuch.
Berechtigungsverhalten bei Gruppenclustern
Alle Befehle, Abfragen und andere Aktionen, die auf einem Gruppencluster ausgeführt werden, verwenden die Berechtigungen, die der Gruppe zugewiesen sind, nicht den einzelnen Benutzer.
Einzelne Benutzerberechtigungen können nicht erzwungen werden, da alle Gruppenmitglieder vollzugriff auf die Spark-APIs und die freigegebene Computeumgebung haben. Wenn benutzerbasierte Berechtigungen angewendet wurden, konnte ein Mitglied eingeschränkte Daten abfragen, und ein anderes Mitglied ohne Zugriff konnte die Ergebnisse weiterhin über die freigegebene Umgebung abrufen. Daher muss die Gruppe selbst, nicht der Benutzer, der Mitglied der Gruppe ist, über die erforderlichen Berechtigungen verfügen, um die Aktion erfolgreich auszuführen.
Beispielsweise benötigt die Gruppe explizite Berechtigung, um eine Tabelle abzufragen, auf einen geheimen Bereich oder einen geheimen Schlüssel zuzugreifen, die Anmeldeinformationen für die Unity Catalog-Verbindung zu verwenden, auf einen Git-Ordner zuzugreifen oder ein Objekt im Arbeitsbereich zu erstellen.
Beispielgruppenberechtigungen
Wenn Sie ein Datenobjekt mithilfe des Gruppenclusters erstellen, wird die Gruppe als Besitzer des Objekts zugewiesen.
Wenn Sie beispielsweise ein Notizbuch an einen Gruppencluster angefügt haben und den folgenden Befehl ausführen:
use catalog main;
create schema group_cluster_group_schema;
Führen Sie dann diese Abfrage aus, um den Besitzer des Schemas zu überprüfen:
describe schema group_cluster_group_schema;
Überwachen von gruppenspezifischen Rechenaktivitäten
Es sind zwei Schlüsselidentitäten beteiligt, wenn ein Gruppencluster eine Workload ausführt:
- Der Benutzer, der die Workload auf dem Gruppencluster ausführt
- Die Gruppe, deren Berechtigungen zum Ausführen der tatsächlichen Workloadaktionen verwendet werden
Die Überwachungsprotokollsystemtabelle zeichnet diese Identitäten unter den folgenden Parametern auf:
-
identity_metadata.run_by: Der authentifizierende Benutzer, der die Aktion ausführt -
identity_metadata.run_as: Die Autorisierungsgruppe, deren Berechtigungen für die Aktion verwendet werden.
Die folgende Beispielabfrage ruft die Identitätsmetadaten für eine Aktion ab, die mit dem Gruppencluster ausgeführt wird:
select action_name, event_time, user_identity.email, identity_metadata
from system.access.audit
where user_identity.email = "uc-group-cluster-group" AND service_name = "unityCatalog"
order by event_time desc limit 100;
Weitere Beispielabfragen finden Sie in der Systemtabellenreferenz für Audit-Protokolle. Siehe Referenz zur Systemtabelle des Überwachungsprotokolls.
Bekannte Einschränkungen
Der dedizierte Gruppenzugriff hat die folgenden Einschränkungen:
- Aufträge, die mit der API und dem SDK erstellt wurden, können keine Gruppenzugriffe zugewiesen werden. Dies liegt daran, dass der Parameter des
run_asAuftrags nur einen einzelnen Benutzer oder Dienstprinzipal unterstützt. - Aufträge, die Git verwenden, schlagen fehl, da das temporäre Verzeichnis, das der Auftrag zum Auschecken des Git-Repositorys verwendet, nicht schreibbar ist. Verwenden Sie stattdessen Git-Ordner .
- Liniensystemtabellen zeichnen nicht die
identity_metadata.run_as(autorisierende Gruppe) oderidentity_metadata.run_by(der authentifizierende Benutzer) für Arbeitslasten auf, die auf einem Gruppencluster ausgeführt werden. - Überwachungsprotokolle, die an den Kundenspeicher übermittelt werden, zeichnen nicht die
identity_metadata.run_as(autorisierende Gruppe) oderidentity_metadata.run_by(der authentifizierende Benutzer) für Arbeitslasten auf, die auf einem Gruppencluster ausgeführt werden. Sie müssen diesystem.access.auditTabelle verwenden, um die Identitätsmetadaten anzuzeigen. - Beim Anfügen an einen Gruppencluster filtert der Katalog-Explorer nicht nach Ressourcen, auf die nur für die Gruppe zugegriffen werden kann.
- Gruppenmanager, die keine Gruppenmitglieder sind, können keine Gruppencluster erstellen, bearbeiten oder löschen. Nur Arbeitsbereichsadministratoren und Gruppenmitglieder können dies tun.
- Wenn eine Gruppe umbenannt wird, müssen alle Berechnungsrichtlinien, die auf den Gruppennamen verweisen, manuell aktualisiert werden.
- Gruppencluster werden für Arbeitsbereiche mit deaktivierten ACLs (isWorkspaceAclsEnabled == false) aufgrund des inhärenten Mangels an Sicherheits- und Datenzugriffssteuerungen nicht unterstützt, wenn Arbeitsbereichs-ACLs deaktiviert sind.
- Der
%runBefehl und andere Aktionen, die im Notizbuchkontext ausgeführt werden, verwenden immer die Berechtigungen des Benutzers und nicht die Berechtigungen der Gruppe. Dies liegt daran, dass diese Aktionen von der Notizbuchumgebung und nicht von der Clusterumgebung behandelt werden. Alternative Befehle wiedbutils.notebook.run()werden auf dem Cluster ausgeführt und verwenden daher die Berechtigungen der Gruppe. - Die
is_member(<group>)Funktion gibt zurückfalse, wenn sie für einen Gruppencluster aufgerufen wird, da die Gruppe kein Mitglied von sich selbst ist. Benutzen Sieis_member(<group>) OR current_user() == <group>, um die Mitgliedschaft über Gruppencluster und andere Zugriffsmodi korrekt zu überprüfen. - Das Erstellen und Zugreifen auf Modellbereitstellungsendpunkte wird nicht unterstützt.
- Das Erstellen und Zugreifen auf Vektorsuchendpunkte oder Indizes wird nicht unterstützt.
- Das Löschen von Dateien und Ordnern wird in Gruppenclustern nicht unterstützt.
- Die Dateiupload-Benutzeroberfläche unterstützt keine Gruppencluster.