Berechtigungen und sicherungsfähige Objekte in Unity Catalog

Gilt für:Häkchen Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime Häkchen Nur Unity Catalog

Eine Berechtigung ist ein Recht, das einem Prinzipal zum Arbeiten mit einem sicherungsfähigen Objekt im Metastore erteilt wird. Das Berechtigungsmodell und sicherungsfähige Objekte unterscheiden sich je nachdem, ob Sie einen Unity Catalog-Metastore oder den Hive-Legacymetastore verwenden. In diesem Artikel wird das Berechtigungsmodell für Unity Catalog beschrieben. Wenn Sie den Hive-Metastore verwenden, lesen Sie Berechtigungen und sicherungsfähige Objekte im Hive-Metastore.

Hinweis

Dieser Artikel bezieht sich auf die Unity Catalog-Berechtigungen und das Vererbungsmodell in Version 1.0 des Berechtigungsmodells (Privilege Model). Wenn Sie ihren Unity Catalog-Metastore während der öffentlichen Vorschau (vor dem 25. August 2022) erstellt haben, führen Sie anhand von Upgrade auf die Berechtigungsvererbung ein Upgrade auf Version 1.0 des Berechtigungsmodells aus.

Sicherungsfähige Objekte

Ein sicherungsfähiges Objekt ist ein im Unity Catalog-Metastore definiertes Objekt, für das einem Prinzipal Berechtigungen gewährt werden können. Damit Sie Berechtigungen für ein Objekt verwalten können, müssen Sie dessen Besitzer sein.

Syntax

securable_object
  { CATALOG [ catalog_name ] |
    CONNECTION connection_name |
    EXTERNAL LOCATION location_name |
    FUNCTION function_name |
    METASTORE |
    SCHEMA schema_name |
    SHARE share_name |
    STORAGE CREDENTIAL credential_name |
    [ TABLE ] table_name |
    MATERIALIZED VIEW view_name |
    VIEW view_name |
    VOLUME volume_name
  }

Sie können auch SERVER anstelle von CONNECTION und DATABASE anstelle von SCHEMA angeben.

Parameter

  • CATALOGcatalog_name

    Steuert den Zugriff auf den gesamten Datenkatalog.

  • CONNECTIONconnection_name

    Steuert den Zugriff auf die Verbindung.

  • EXTERNAL LOCATIONlocation_name

    Steuert den Zugriff auf einen externen Speicherort.

  • FUNCTIONfunction_name

    Steuert den Zugriff auf eine benutzerdefinierte Funktion.

  • MATERIALIZED VIEWview_name

    Wichtig

    Dieses Feature befindet sich in der Public Preview. Um sich zu registrieren und Zugriff zu erhalten, füllen Sie dieses Formular aus.

    Steuert den Zugriff auf eine materialisierte Sicht.

  • METASTORE

    Steuert den Zugriff auf den Unity Catalog-Metastore, der an den Arbeitsbereich angefügt ist. Wenn Sie Berechtigungen für einen Metastore verwalten, beziehen Sie den Metastorenamen nicht in einen SQL-Befehl mit ein. Unity Catalog gewährt oder widerruft die Berechtigung für den an Ihren Arbeitsbereich angefügten Metastore.

  • REGISTERED MODEL

    Steuert den Zugriff auf ein registriertes MLflow-Modell.

  • SCHEMAschema_name

    Steuert den Zugriff auf ein Schema.

  • STORAGE CREDENTIALcredential_name

    Steuert den Zugriff auf Speicheranmeldeinformationen.

  • SHAREshare_name

    Steuert den Zugriff auf eine Freigabe für einen Empfänger.

  • TABLEtable_name

    Steuert den Zugriff auf eine verwaltete oder externe Tabelle. Wenn die Tabelle nicht gefunden werden kann, löst Azure Databricks den Fehler TABLE_OR_VIEW_NOT_FOUND aus.

  • VIEWview_name

    Steuert den Zugriff auf eine Sicht. Wenn die Sicht nicht gefunden werden kann, löst Azure Databricks den Fehler TABLE_OR_VIEW_NOT_FOUND aus.

  • VOLUMEvolume_name

    Steuert den Zugriff auf ein Volume. Wenn das Volume nicht gefunden wird, löst Azure Databricks einen Fehler aus.

Vererbungsmodell

Sicherungsobjekte in Unity Catalog sind hierarchisch, und Berechtigungen werden abwärts vererbt. Das bedeutet, dass die Gewährung einer Berechtigung für den Katalog automatisch die Berechtigung für alle aktuellen und zukünftigen Schemas im Katalog gewährt. Ebenso werden die für ein Schema gewährten Berechtigungen von allen aktuellen und zukünftigen Tabellen und Sichten in diesem Schema geerbt.

Wenn Sie beispielsweise einem Benutzer die SELECT-Berechtigung für ein Schema erteilen, erhält der Benutzer automatisch die SELECT-Berechtigung für alle aktuellen und zukünftigen Tabellen, Sichten und materialisierten Sichten im Schema.

Berechtigungstypen

Die folgende Tabelle zeigt, welche Unity Catalog-Berechtigungen welchen sicherungsfähigen Unity Catalog-Objekten zugeordnet sind.

Sicherungsfähiges Element Rechte
Metastore CREATE CATALOG, CREATE CONNECTION, CREATE EXTERNAL LOCATION, CREATE PROVIDER, CREATE RECIPIENT, CREATE SHARE, CREATE STORAGE CREDENTIAL, SET SHARE PERMISSION, USE MARKETPLACE ASSETS, USE PROVIDER, USE RECIPIENT, USE SHARE
Katalog ALL PRIVILEGES, APPLY TAG, BROWSE, CREATE SCHEMA, USE CATALOG

Alle Benutzer verfügen standardmäßig über USE CATALOG für den main-Katalog.

Die folgenden Berechtigungstypen gelten für sicherungsfähige Objekte in einem Katalog. Sie können diese Berechtigungen auf Katalogebene gewähren, um sie auf die relevanten aktuellen und zukünftigen Objekte im Katalog anzuwenden.

CREATE FUNCTION, CREATE TABLE, CREATE MODEL, CREATE VOLUME, CREATE FOREIGN CATALOG, READ VOLUME, REFRESH, WRITE VOLUME, EXECUTE, MODIFY, SELECT, USE SCHEMA
Schema ALL PRIVILEGES, APPLY TAG, CREATE FUNCTION, CREATE TABLE, CREATE MODEL, CREATE VOLUME, CREATE MATERIALIZED VIEW, USE SCHEMA

Die folgenden Berechtigungstypen gelten für sicherungsfähige Objekte in einem Schema. Sie können diese Berechtigungen auf Schemaebene gewähren, um sie auf die relevanten aktuellen und zukünftigen Objekte im Schema anzuwenden.

EXECUTE, MODIFY, SELECT, READ VOLUME, REFRESH, WRITE VOLUME
Tabelle ALL PRIVILEGES, APPLY TAG, MODIFY, SELECT
Materialisierte Sicht ALL PRIVILEGES, APPLY TAG, REFRESH, SELECT
Sicht ALL PRIVILEGES, APPLY TAG, SELECT
Volume ALL PRIVILEGES, READ VOLUME, WRITE VOLUME
Externer Speicherort ALL PRIVILEGES, BROWSE, CREATE EXTERNAL TABLE, CREATE EXTERNAL VOLUME, READ FILES, WRITE FILES, CREATE MANAGED STORAGE
Speicheranmeldeinformationen ALL PRIVILEGES, CREATE EXTERNAL LOCATION, CREATE EXTERNAL TABLE, READ FILES, WRITE FILES
Verbindung ALL PRIVILEGES, CREATE FOREIGN CATALOG, USE CONNECTION
Funktion ALL PRIVILEGES, EXECUTE
Registriertes Modell ALL PRIVILEGES, APPLY TAG, EXECUTE
Freigabe SELECT (kann gewährt RECIPIENT werden)
Recipient Keine
Anbieter None
  • APPLY TAG

    Wenden Sie Tags für ein Objekt an und bearbeiten Sie sie.

  • ALL PRIVILEGES

    Wird zum Gewähren oder Widerrufen aller Berechtigungen verwendet, die für die sicherungsfähigen Objekte und deren untergeordnete Objekte gelten, ohne sie explizit anzugeben. Dies wird zum Zeitpunkt der Berechtigungsprüfungen auf alle verfügbaren Berechtigungen erweitert. Zum Zeitpunkt der Erteilung wird Benutzer*innen nicht jede anwendbare Berechtigung einzeln gewährt.

    Wenn ALL PRIVILEGES widerrufen wird, wird nur die Berechtigung ALL PRIVILEGES selbst widerrufen. Benutzer*innen behalten alle anderen Berechtigungen, die ihnen separat gewährt wurden.

  • BROWSE

    Wichtig

    Dieses Feature befindet sich in der Public Preview.

    Sehen Sie sich die Metadaten eines Objekts mit dem Catalog-Explorer, dem Schemabrowser, den Suchergebnissen, dem Herkunftsdiagramm, information_schema, und der REST API an. Eine Benutzerin oder ein Benutzer muss nicht über die Berechtigung USE CATALOG im übergeordneten Katalog und die Berechtigung USE SCHEMA im übergeordneten Schema verfügen.

  • CREATE CATALOG

    Erstellen Sie Kataloge in einem Unity Catalog-Metastore.

  • CREATE CONNECTION

    Erstellen Sie Fremdverbindungen in einem Unity Catalog-Metastore.

  • CREATE EXTERNAL LOCATION

    Erstellen Sie mithilfe von Speicheranmeldeinformationen einen externen Speicherort. Wenn sie auf eine Speicheranmeldeinformationen angewendet werden, können Benutzer mithilfe der Speicheranmeldeinformationen einen externen Speicherort erstellen. Diese Berechtigung muss auch einem Benutzer im Metastore gewährt werden, damit er einen externen Speicherort in diesem Metastore erstellen kann.

  • CREATE EXTERNAL TABLE

    Erstellen Sie externe Tabellen mit Speicheranmeldeinformationen oder dem externen Speicherort.

  • CREATE EXTERNAL VOLUME

    Erstellen Sie externe Volumes mithilfe des externen Speicherorts.

  • CREATE FOREIGN CATALOG

    Erstellen Sie Kataloge für eine Fremdverbindung. Jeder Fremdkatalog macht dann die Schemas verfügbar, die im Verbundzielsystem verfügbar sind.

  • CREATE FUNCTION

    Erstellen Sie eine Funktion in einem Schema. Der Benutzer benötigt außerdem die USE CATALOG-Berechtigung für den Katalog und die USE SCHEMA-Berechtigung für das Schema.

  • CREATE MANAGED STORAGE

    Ermöglicht einem Benutzer das Angeben eines Speicherorts für verwaltete Tabellen auf Katalog- oder Schemaebene, wobei der Standardstammspeicher für den Unity Catalog-Metastore außer Kraft gesetzt wird.

  • CREATE MATERIALIZED VIEW

    Ermöglicht Benutzern und Benutzerinnen, eine materialisierte Sicht im Schema zu erstellen. Da Berechtigungen vererbt werden, kann CREATE MATERIALIZED VIEW auch für einen Katalog gewährt werden. Dies ermöglicht es einem Benutzer, eine Tabelle oder Ansicht in jedem beliebigen vorhandenen oder zukünftigen Schema im Katalog zu erstellen.

    Der Benutzer muss auch über die USE CATALOG Berechtigung im übergeordneten Katalog und USE SCHEMAdie Berechtigung im übergeordneten Schema verfügen.

  • CREATE MODEL

    Ermöglicht es einem Benutzer, ein bei MLflow registriertes Modell im Schema zu erstellen. Da Berechtigungen vererbt werden, kann CREATE MODEL auch für einen Katalog gewährt werden. Dies ermöglicht es einem Benutzer, ein registriertes Modell in jedem beliebigen vorhandenen oder zukünftigen Schema im Katalog zu erstellen.

    Der Benutzer muss auch über die USE CATALOG Berechtigung im übergeordneten Katalog und USE SCHEMAdie Berechtigung im übergeordneten Schema verfügen.

  • CREATE PROVIDER

    (Für Delta Sharing-Datenempfänger) Erstellen Sie einen Anbieter in einem Unity Catalog-Metastore.

  • CREATE RECIPIENT

    (Für Delta Sharing-Datenanbieter) Erstellen Sie einen Empfänger in einem Unity Catalog-Metastore.

  • CREATE SCHEMA

    Erstellen Sie ein Schema in einem Katalog. Der Benutzer benötigt außerdem die Berechtigung USE CATALOG für den Katalog.

  • CREATE SHARE

    (Für Delta Sharing-Datenanbieter) Erstellen Sie eine Freigabe in einem Unity Catalog-Metastore.

  • CREATE STORAGE CREDENTIAL

    Erstellen von Speicheranmeldeinformationen in einem Unity Catalog-Metastore.

  • CREATE TABLE

    Erstellen Sie eine Tabelle oder Ansicht in einem Schema. Der Benutzer benötigt außerdem die USE CATALOG-Berechtigung für den Katalog und die USE SCHEMA-Berechtigung für das Schema. Um eine externe Tabelle zu erstellen, benötigt der Benutzer auch die CREATE EXTERNAL TABLEBerechtigung für den externen Speicherort oder die Speicheranmeldeinformationen.

  • CREATE VOLUME

    Erstellen Sie ein Volume in einem Schema. Der Benutzer benötigt außerdem die USE CATALOG-Berechtigung für den Katalog und die USE SCHEMA-Berechtigung für das Schema. Um ein externes Volume zu erstellen, benötigt der Benutzer außerdem die CREATE EXTERNAL VOLUME-Berechtigung für den externen Speicherort.

  • EXECUTE

    Rufen Sie eine benutzerdefinierte Funktion auf. Der Benutzer benötigt außerdem die USE CATALOG-Berechtigung für den Katalog und die USE SCHEMA-Berechtigung für das Schema.

  • MODIFY

    Umfasst die Anweisungen COPY INTO, UPDATE, DELETE, INSERT und MERGE INTO für die Tabelle.

  • READ FILES

    Sie können Dateien direkt über die Speicheranmeldeinformationen oder den externen Speicherort abfragen.

  • READ VOLUME

    Fragen Sie Dateien innerhalb des Volumes ab.

  • REFRESH

    Ermöglicht Benutzern und Benutzerinnen, eine materialisierte Sicht zu aktualisieren, wenn sie auch die Berechtigungen USE CATALOG im übergeordneten Katalog und USE SCHEMA im übergeordneten Schema haben. Der Benutzer benötigt außerdem die USE CATALOG-Berechtigung für den Katalog und die USE SCHEMA-Berechtigung für das Schema.

  • SELECT

    Fragen Sie eine Tabelle oder Ansicht ab, rufen Sie eine benutzerdefinierte oder anonyme Funktion auf, oder wählen Sie ANY FILE aus. Der Benutzer muss über die SELECT-Berechtigung für die Tabelle, Sicht oder Funktion sowie über die USE CATALOG-Berechtigung für den Katalog des Objekts und die USE SCHEMA-Berechtigung für das Schema des Objekts verfügen.

  • SET SHARE PERMISSION

    In Delta Sharing gibt diese Berechtigung in Kombination mit USE SHARE und USE RECIPIENT (oder Empfängerbesitz) einem Anbieterbenutzer die Möglichkeit, einem Empfänger Zugriff auf eine Freigabe zu gewähren. In Kombination mit USE SHARE können Sie den Besitz einer Freigabe auf einen anderen Benutzer, eine Gruppe oder einen Dienstprinzipal übertragen.

  • USE CATALOG

    Erforderlich, aber nicht ausreichend, um auf Objekte in einem Katalog verweisen zu können. Der Prinzipal muss auch über Berechtigungen für die einzelnen sicherungsfähigen Objekte verfügen. Nicht erforderlich, damit eine Benutzerin oder ein Benutzer die Metadaten eines Objekts mithilfe der Berechtigungen BROWSE lesen kann.

  • USE CONNECTION

    Erforderlich, um Metadaten für eine Fremdverbindung oder alle Fremdverbindungen zu lesen, wenn sie im Metastore verwendet werden.

  • USE MARKETPLACE ASSETS

    Standardmäßig für alle Unity Catalog-Metastores aktiviert. Gibt Benutzer*innen im Databricks Marketplace die Möglichkeit, sofortigen Zugriff zu erhalten oder Zugriff auf Datenprodukte anzufordern, die in einem Marketplace-Eintrag freigegeben sind. Außerdem kann ein Benutzer auf den schreibgeschützten Katalog zugreifen, der erstellt wird, wenn ein Anbieter ein Datenprodukt freigibt. Ohne diese Berechtigung benötigt der Benutzer die Berechtigungen CREATE CATALOG und USE PROVIDER oder die Metastore-Administratorrolle. Dadurch können Sie die Anzahl der Benutzer mit diesen mächtigen Berechtigungen begrenzen.

  • USE PROVIDER

    Gewährt in Delta Sharing einem Empfängerbenutzer schreibgeschützten Zugriff auf alle Anbieter in einem Empfänger-Metastore und deren Freigaben. In Kombination mit der CREATE CATALOG-Berechtigung ermöglicht diese Berechtigung einem Empfängerbenutzer, der kein Metastore-Administrator ist, das Einbinden einer Freigabe als Katalog. Dadurch können Sie die Anzahl der Benutzer mit der Metastore-Administratorrolle begrenzen, die viele Berechtigungen umfasst.

  • USE RECIPIENT

    Gewährt in Delta Sharing einem Anbieterbenutzer schreibgeschützten Zugriff auf alle Empfänger in einem Anbietermetastore und deren Freigaben. Dadurch kann ein Anbieterbenutzer, der kein Metastore-Administrator ist, Empfängerdetails, den Status der Empfängerauthentifizierung und die Liste der Freigaben anzeigen, die der Anbieter für den Empfänger freigegeben hat.

    Im Databricks Marketplace können Anbieterbenutzer Auflistungen und Consumeranforderungen in der Anbieterkonsole anzeigen.

  • USE SCHEMA

    Erforderlich, aber nicht ausreichend, um auf Objekte in einem Schema verweisen zu können. Der Prinzipal muss auch über Berechtigungen für die einzelnen sicherungsfähigen Objekte verfügen. Nicht erforderlich, damit eine Benutzerin oder ein Benutzer die Metadaten eines Objekts mithilfe der Berechtigungen BROWSE lesen kann.

  • USE SHARE

    Gewährt in Delta Sharing einem Anbieterbenutzer schreibgeschützten Zugriff auf alle Freigaben, die in einem Anbietermetastore definiert sind. Dadurch kann ein Anbieterbenutzer, der kein Metastore-Administrator ist, Freigaben auflisten und die Ressourcen (Tabellen und Notebooks) in einer Freigabe zusammen mit den Empfängern der Freigabe auflisten.

    Im Databricks Marketplace können Anbieterbenutzer so Details zu den in einem Eintrag freigegebenen Daten anzeigen.

  • WRITE FILES

    Direktes COPY INTO Dateien, die über die Speicheranmeldeinformationen oder den externen Speicherort gesteuert werden.

  • WRITE VOLUME

    Direktes COPY INTO von Dateien in ein Volume.

Beispiele

-- Grant a privilege to the user alf@melmak.et
> GRANT SELECT ON TABLE t TO `alf@melmak.et`;

-- Revoke a privilege from the general public group.
> REVOKE USE SCHEMA ON SCHEMA some_schema FROM `alf@melmak.et`;