Berechtigungen und sicherungsfähige Objekte im Hive-Metastore
Gilt für: Databricks SQL Databricks Runtime
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 den Hive-Legacymetastore beschrieben. Wenn Sie Unity Catalog verwenden, finden Sie weitere Informationen unter Berechtigungen und sicherungsfähige Objekte in Unity Catalog.
Sicherungsfähige Objekte im Hive-Metastore
Ein sicherungsfähiges Objekt ist ein im Metastore definiertes Objekt, für das einem Prinzipal Berechtigungen erteilt werden können.
Damit Sie Berechtigungen für ein Objekt verwalten können, müssen Sie dessen Besitzer oder Administrator sein.
Syntax
securable_object
{ ANY FILE |
CATALOG [ catalog_name ] |
{ SCHEMA | DATABASE } schema_name |
FUNCTION function_name |
[ TABLE ] table_name |
VIEW view_name
}
Parameter
ANY FILE
Steuert den Zugriff auf das zugrunde liegende Dateisystem.
CATALOG
catalog_nameSteuert den Zugriff auf den gesamten Datenkatalog.
{ SCHEMA | DATABASE }
schema_nameSteuert den Zugriff auf ein Schema.
FUNCTION
function_nameSteuert den Zugriff auf eine benannte Funktion.
[ TABLE ]
table_nameSteuert den Zugriff auf eine verwaltete oder externe Tabelle.
VIEW
view_nameSteuert den Zugriff auf SQL-Sichten.
Vererbungsmodell
Sicherungsfähige Objekte im Hive-Metastore sind hierarchisch, und Berechtigungen werden abwärts vererbt. Dies bedeutet, dass durch das Erteilen oder Verweigern einer Berechtigung für CATALOG
diese für alle Schemas im Katalog automatisch gewährt oder verweigert werden. Ebenso werden die einem Schemaobjekt gewährten Berechtigungen von allen Objekten in diesem Schema geerbt. Dieses Muster gilt für alle sicherungsfähigen Objekte.
Werden einem Benutzer die Berechtigungen für eine Tabelle verweigert, kann er die Tabelle nicht anzeigen, indem er versucht, alle Tabellen im Schema aufzulisten. Werden einem Benutzer Berechtigungen für ein Schema verweigert, kann er nicht sehen, dass das Schema vorhanden ist, indem er versucht, alle Schemas im Katalog aufzulisten.
Berechtigungstypen
Der folgenden Tabelle können Sie entnehmen, welche Berechtigungen welchen sicherungsfähigen Objekten zugeordnet sind.
Berechtigungstyp | ANONYMOUS FUNCTION | ANY FILE | CATALOG | SCHEMA | FUNCTION | TABLE | VIEW |
---|---|---|---|---|---|---|---|
CREATE | Ja | Ja | |||||
MODIFY | Ja | Ja | Ja | Ja | |||
READ_METADATA | Ja | Ja | Ja | Ja | |||
SELECT | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
USAGE | Ja | Ja |
ALL PRIVILEGES
Wird zum Gewähren oder Widerrufen aller Berechtigungen verwendet, die für die sicherungsfähigen Elemente und deren untergeordnete Objekte gelten, ohne sie explizit anzugeben. Dies wird zum Zeitpunkt der Berechtigungsprüfungen auf alle verfügbaren Berechtigungen erweitert.
CREATE
Erstellen Sie Objekte innerhalb des Katalogs oder Schemas.
MODIFY
Umfasst die Anweisungen COPY INTO, UPDATE DELETE, INSERT und MERGE INTO für die Tabelle.
Wenn es sich bei dem sicherungsfähigen Objekt um den
hive_metastore
oder ein darin enthaltenes Schema handelt, wird durch das Erteilen vonMODIFY
die BerechtigungMODIFY
für alle aktuellen und zukünftigen Tabellen und Ansichten innerhalb des sicherungsfähigen Objekts erteilt.READ_METADATA
Sie können das sicherungsfähige Objekt in SHOW ermitteln und das Objekt in DESCRIBE abfragen.
Wenn es sich bei dem sicherungsfähigen Objekt um den
hive_metastore
-Katalog oder ein darin enthaltenes Schema handelt, wird durch das Erteilen vonREAD_METADATA
die BerechtigungREAD_METADATA
für alle aktuellen und zukünftigen Tabellen und Ansichten innerhalb des sicherungsfähigen Objekts erteilt.READ FILES
Sie können Dateien direkt über die Speicheranmeldeinformationen oder den externen Speicherort abfragen.
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 BerechtigungSELECT
für die Tabelle, Ansicht oder Funktion sowie über die BerechtigungUSAGE
für das Schema und den Katalog des Objekts verfügen.Wenn es sich bei dem sicherungsfähigen Objekt um den
hive_metastore
oder ein darin enthaltenes Schema handelt, wird durch das Erteilen vonSELECT
die BerechtigungSELECT
für alle aktuellen und zukünftigen Tabellen und Ansichten innerhalb des sicherungsfähigen Objekts erteilt.USAGE
Erforderlich, aber nicht ausreichend, um auf Objekte in einem Katalog oder Schema verweisen zu können. Der Prinzipal muss auch über Berechtigungen für die einzelnen sicherungsfähigen Objekte verfügen.
WRITE FILES
Direktes COPY INTO Dateien, die über die Speicheranmeldeinformationen oder den externen Speicherort gesteuert werden.
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 USAGE ON SCHEMA some_schema FROM `alf@melmak.et`;