Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Auf dieser Seite wird erläutert, wie Sie den Zugriff auf Daten und andere Objekte im Unity-Katalog steuern. Informationen dazu, wie sich dieses Modell von der Zugriffssteuerung im Hive-Metastore unterscheidet, finden Sie unter "Arbeiten mit dem legacy-Hive-Metastore" zusammen mit dem Unity-Katalog.
Wer kann Berechtigungen verwalten?
Benutzer*innen können anfangs nicht auf die Daten in einem Metastore zugreifen. Azure Databricks-Kontoadministrator*innen, -Arbeitsbereichsadministrator*innen und -Metastore-Administrator*innen verfügen über Standardberechtigungen für die Verwaltung des Unity Catalogs. Siehe Administratorrechte im Unity Catalog.
Alle sicherungsfähigen Objekte in Unity Catalog haben einen Besitzer. Objektbesitzer verfügen über alle Berechtigungen für dieses Objekt, einschließlich der Möglichkeit, anderen Prinzipalen Berechtigungen zu erteilen. Besitzer können anderen Benutzern die MANAGE
Berechtigungen für das Objekt gewähren, wodurch Benutzer Berechtigungen für das Objekt verwalten können. Weitere Informationen finden Sie unter Verwalten des Unity Catalog-Objektbesitzes.
Berechtigungen können von einer der folgenden gewährt werden:
- Ein Metastore-Administrator.
- Ein Benutzer mit den
MANAGE
Berechtigungen für das Objekt. - Der Besitzer des Objekts.
- Der Besitzer des Katalogs oder Schemas, der das Objekt enthält.
Kontoadmins können auch Berechtigungen direkt in einem Metastore gewähren.
Arbeitsbereich-Katalogberechtigungen
Wenn Ihr Arbeitsbereich automatisch für Unity Catalog aktiviert wurde, wird der Arbeitsbereich standardmäßig an einen Metastore angefügt, und für Ihren Arbeitsbereich im Metastore wird ein Arbeitsbereichkatalog erstellt. Arbeitsbereichsadministrator*innen sind die Standardbesitzer*innen des Arbeitsbereichkatalogs. Als Besitzer*innen können sie Berechtigungen für den Arbeitsbereichkatalog und alle untergeordneten Objekte verwalten.
Alle Arbeitsbereichsbenutzer erhalten die USE CATALOG
-Berechtigung für den Arbeitsbereichkatalog. Arbeitsbereichsbenutzer*innen erhalten außerdem die Berechtigungen USE SCHEMA
, CREATE TABLE
, CREATE VOLUME
, CREATE MODEL
, CREATE FUNCTION
und CREATE MATERIALIZED VIEW
für das default
-Schema im Katalog.
Weitere Informationen finden Sie unter Automatische Aktivierung von Unity Catalog.
Vererbungsmodell
Sicherungsobjekte in Unity Catalog sind hierarchisch, und Berechtigungen werden abwärts vererbt. Das Objekt der höchsten Ebene, das Berechtigungen vererbt, ist der Katalog. Dies bedeutet: Durch das Gewähren einer Berechtigung für einen Katalog oder ein Schema wird die Berechtigung für alle aktuellen und zukünftigen Objekte im Katalog oder Schema automatisch gewährt. Wenn Sie einer Benutzerin oder einem Benutzer beispielsweise die Berechtigung SELECT
für einen Katalog erteilen, kann diese oder dieser alle Tabellen und Ansichten in diesem Katalog auswählen (lesen). Die für einen Unity Catalog-Metastore gewährten Berechtigungen werden nicht vererbt.
Den Besitzern eines Objekts werden automatisch alle Berechtigungen für dieses Objekt und für alle untergeordneten Objekte gewährt. Darüber hinaus können Objektbesitzer Berechtigungen für das Objekt selbst und für alle untergeordneten Objekte gewähren. Dies bedeutet, dass Besitzer*innen eines Schemas nicht automatisch über alle Berechtigungen für die Tabellen im Schema verfügen. Doch Sie können selbst sich Berechtigungen für die Tabellen im Schema erteilen.
Hinweis
Wenn Sie ihren Unity-Katalogmetastore während der öffentlichen Vorschau (vor dem 25. August 2022) erstellt haben, verwenden Sie möglicherweise ein früheres Berechtigungsmodell, das das aktuelle Vererbungsmodell nicht unterstützt. Sie können ein Upgrade auf das Berechtigungsmodell, Version 1.0, durchführen, um die Berechtigungsvererbung zu erhalten. Siehe Upgrade auf Berechtigungsvererbung.
Berechtigungen anzeigen, Zuweisung und widerrufen
Sie können Berechtigungen für Metastore-Objekte mithilfe von SQL-Befehlen, der Databricks-CLI, des Databricks Terraform-Anbieters oder in Katalog-Explorer verwalten.
Ersetzen Sie in den folgenden SQL-Befehlen die folgenden Platzhalterwerte:
<privilege-type>
ist ein Unity-Katalog-Berechtigungstyp. Weitere Informationen finden Sie unter Berechtigungstypen.<securable-type>
: Der Typ des sicherungsfähigen Objekts, wieCATALOG
oderTABLE
. Weitere Informationen finden Sie unter Sicherungsfähige Objekte.<securable-name>
: Der Name des sicherungsfähigen Objekts. Wenn der sicherungsfähige TypMETASTORE
lautet, geben Sie nicht den sicherungsfähigen Namen an. Es wird davon ausgegangen, dass er der dem Arbeitsbereich zugeordnete Metaspeicher ist.<principal>
ist ein Benutzer, ein Dienstprinzipal (dargestellt durch seinen AnwendungId-Wert) oder eine Gruppe. Sie müssen Benutzerkonten, Dienstprinzipale und Gruppennamen, die Sonderzeichen in Backticks (` `
) enthalten, einschließen. Siehe Prinzipal.
Anzeigen von Zuweisungen für Objekte in einem Unity Catalog-Metastore
Hinweis
Derzeit können Benutzer mit dem MANAGE
-Privileg für ein Objekt nicht alle Berechtigungen für dieses Objekt im INFORMATION_SCHEMA
anzeigen. Stattdessen zeigt INFORMATION_SCHEMA
nur eigene Zuweisungen für das Objekt an. Dieses Verhalten wird in Zukunft korrigiert.
Benutzer mit MANAGE
Berechtigungen können alle Berechtigungen für ein Objekt mithilfe von SQL-Befehlen oder Katalog-Explorer anzeigen. Weitere Informationen finden Sie unter Verwalten von Berechtigungen in Unity Catalog.
Erforderliche Berechtigungen:
- Metastore-Administratoren, Benutzer mit der
MANAGE
Berechtigung für das Objekt, der Eigentümer des Objekts oder der Eigentümer des Katalogs oder Schemas, das das Objekt enthält, können alle Berechtigungen für das Objekt einsehen. - Wenn Sie nicht über die oben genannten Berechtigungen verfügen, können Sie nur Ihre eigenen Berechtigungen für das Objekt anzeigen.
Catalog-Explorer
- Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
- Wählen Sie das Objekt aus, z. B. einen Katalog, ein Schema, eine Tabelle oder eine Sicht.
- Wechseln Sie zur Registerkarte Berechtigungen.
SQL
Führen Sie den folgenden SQL-Befehl in einem Notebook oder SQL-Abfrage-Editor aus. Sie können Zuweisungen für einen bestimmten Prinzipal anzeigen oder alle Zuweisungen für ein sicherungsfähiges Objekt anzeigen.
SHOW GRANTS [principal] ON <securable-type> <securable-name>
Der folgende Befehl zeigt z. B. alle Zuweisungen für ein Schema mit dem Namen default im übergeordneten Katalog mit dem Namen main an:
SHOW GRANTS ON SCHEMA main.default;
Der Befehl gibt Folgendes zurück:
principal actionType objectType objectKey
------------- ------------- ---------- ------------
finance-team CREATE TABLE SCHEMA main.default
finance-team USE SCHEMA SCHEMA main.default
Meine Berechtigungen für Objekte in einem Unity Catalog-Metastore anzeigen
Erforderliche Berechtigungen: Sie können immer Ihre eigenen Zuweisungen auf einem Objekt einsehen.
Catalog-Explorer
- Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
- Wählen Sie das Objekt aus, z. B. einen Katalog, ein Schema, eine Tabelle oder eine Sicht.
- Gehen Sie zur Registerkarte Berechtigungen. Wenn Sie kein Objektbesitzer oder Metadatenspeicher-Administrator sind, können Sie nur Ihre eigenen Zuweisungen auf dem Objekt sehen.
SQL
Führen Sie den folgenden SQL-Befehl in einem Notebook oder SQL-Abfrage-Editor aus, um Ihre Berechtigungen für ein Objekt anzuzeigen.
SHOW GRANTS `<user>@<domain-name>` ON <securable-type> <securable-name>
Erteilen von Berechtigungen für Objekte in einem Unity-Katalog-Metaspeicher
Erforderliche Berechtigung: Metadatenspeicher-Administrator, die MANAGE
-Berechtigung am Objekt, der Besitzer des Objekts oder der Besitzer des Katalogs oder Schemas, das das Objekt enthält.
Catalog-Explorer
- Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
- Wählen Sie das Objekt aus, z. B. einen Katalog, ein Schema, eine Tabelle oder eine Sicht.
- Wechseln Sie zur Registerkarte Berechtigungen.
- Klicken Sie auf Gewähren.
- Geben Sie die E-Mail-Adresse für einen Benutzer oder den Namen einer Gruppe ein.
- Wählen Sie die zu erteilenden Berechtigungen aus.
- Wählen Sie OK aus.
SQL
Führen Sie den folgenden SQL-Befehl in einem Notebook oder SQL-Abfrage-Editor aus.
GRANT <privilege-type> ON <securable-type> <securable-name> TO <principal>
Der folgende Befehl beispielsweise gewährt einer Gruppe namens finance-team (Finanzteam) den Zugriff zum Erstellen von Tabellen im Schema default (Standard) mit dem übergeordneten Katalog mit Namen main (Haupt):
GRANT CREATE TABLE ON SCHEMA main.default TO `finance-team`;
GRANT USE SCHEMA ON SCHEMA main.default TO `finance-team`;
GRANT USE CATALOG ON CATALOG main TO `finance-team`;
Beachten Sie, dass registrierte Modelle eine Art von Funktion sind. Um ein Privileg für ein Modell zu gewähren, müssen Sie „GRANT ON FUNCTION
“ verwenden. Um beispielsweise der Gruppe ml-team-acme
die EXECUTE
Berechtigung für das Modell prod.ml_team.iris_model
zu gewähren, verwenden Sie Folgendes:
GRANT EXECUTE ON FUNCTION prod.ml_team.iris_model TO `ml-team-acme`;
Widerrufen von Berechtigungen für Objekte in einem Unity Catalog-Metastore
Erforderliche Berechtigung: Metadatenspeicher-Administrator, die MANAGE
-Berechtigung am Objekt, der Besitzer des Objekts oder der Besitzer des Katalogs oder Schemas, das das Objekt enthält.
Catalog-Explorer
- Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
- Wählen Sie das Objekt aus, z. B. einen Katalog, ein Schema, eine Tabelle oder eine Sicht.
- Wechseln Sie zur Registerkarte Berechtigungen.
- Wählen Sie eine Berechtigung aus, die einem Benutzer, einem Dienstprinzipal oder einer Gruppe gewährt wurde.
- Klicken Sie auf Widerrufen.
- Klicken Sie zur Bestätigung auf Widerrufen.
SQL
Führen Sie den folgenden SQL-Befehl in einem Notebook oder SQL-Abfrage-Editor aus.
REVOKE <privilege-type> ON <securable-type> <securable-name> FROM <principal>
Der folgende Befehl beispielsweise widerruft für eine Gruppe mit dem Namen finance-team den Zugriff zum Erstellen von Tabellen im Schema default mit dem übergeordneten Katalog mit Namen main:
REVOKE CREATE TABLE ON SCHEMA main.default FROM `finance-team`;
Eine „REVOKE
“-Anweisung ist erfolgreich, selbst wenn die angegebenen Berechtigungen ursprünglich nicht gewährt wurden. Es stellt sicher, dass die Berechtigungen nicht vorhanden sind, unabhängig von ihrem vorherigen Zustand.
Anzeigen von Zuweisungen in einem Metastore
Erforderliche Berechtigungen: Metastore-Administrator oder Kontoadministrator. Sie können auch Ihre eigenen Berechtigungen in einem Metastore einsehen.
Catalog-Explorer
- Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
- Klicken Sie neben der Katalog-Explorer-Seitenbezeichnung auf das Symbol neben dem Metastorenamen.
- Wechseln Sie zur Registerkarte Berechtigungen.
SQL
Führen Sie den folgenden SQL-Befehl in einem Notebook oder SQL-Abfrage-Editor aus. Sie können Zuweisungen für einen bestimmten Prinzipal anzeigen oder alle Zuweisungen in einem Metastore anzeigen.
SHOW GRANTS [principal] ON METASTORE
Erteilen von Berechtigungen für einen Metastore
Erforderliche Berechtigungen: Metadatenspeicher-Administrator oder Kontoadministrator.
Catalog-Explorer
- Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
- Klicken Sie neben der Katalog-Explorer-Seitenbezeichnung auf das Symbol neben dem Metastorenamen.
- Klicken Sie auf der Registerkarte Berechtigungen auf Erteilen.
- Geben Sie die E-Mail-Adresse für einen Benutzer oder den Namen einer Gruppe ein.
- Wählen Sie die zu erteilenden Berechtigungen aus.
- Wählen Sie OK aus.
SQL
Führen Sie den folgenden SQL-Befehl in einem Notebook oder SQL-Abfrage-Editor aus.
GRANT <privilege-type> ON METASTORE TO <principal>;
Wenn Sie Einem Metastore Berechtigungen erteilen, geben Sie den Namen des Metastores nicht an, da der Metastore, der an Ihren Arbeitsbereich angefügt ist, angenommen wird.
Widerrufen von Berechtigungen für einen Metastore
Erforderliche Berechtigungen: Metadatenspeicher-Administrator oder Kontoadministrator..
Catalog-Explorer
- Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
- Klicken Sie neben der Katalog-Explorer-Seitenbezeichnung auf das Symbol neben dem Metastorenamen.
- Wählen Sie auf der Registerkarte Berechtigungen einen Benutzer oder eine Gruppe aus, und klicken Sie auf Widerrufen.
- Klicken Sie zur Bestätigung auf Widerrufen.
SQL
Führen Sie den folgenden SQL-Befehl in einem Notebook oder SQL-Abfrage-Editor aus.
REVOKE <privilege-type> ON METASTORE FROM <principal>;
Wenn Sie Berechtigungen für einen Metastore widerrufen, geben Sie den Namen des Metastores nicht an, da der Metastore, der an Ihren Arbeitsbereich angefügt ist, angenommen wird.