Privilegier och skyddsbara objekt i Hive-metaarkivet
Gäller för: Databricks Databricks Runtime
En behörighet är en rättighet som beviljas ett huvudnamn att arbeta med ett skyddsbart objekt i metaarkivet.
Behörighetsmodellen och skyddsbara objekt varierar beroende på om du använder ett Unity Catalog-metaarkiv eller det äldre Hive-metaarkivet. Den här artikeln beskriver privilegiemodellen för det äldre Hive-metaarkivet. Om du använder Unity Catalog läser du Behörigheter och skyddsbara objekt i Unity Catalog.
Skyddsbara objekt i Hive-metaarkivet
Ett skyddsbart objekt är ett objekt som definierats i metaarkivet där behörigheter kan beviljas till ett huvudnamn.
Om du vill hantera behörigheter för alla objekt måste du vara dess ägare eller administratör.
Syntax
securable_object
{ ANY FILE |
CATALOG [ catalog_name ] |
{ SCHEMA | DATABASE } schema_name |
FUNCTION function_name |
[ TABLE ] table_name |
VIEW view_name
}
Parametrar
ANY FILE
Styr åtkomsten till det underliggande filsystemet.
CATALOG
catalog_nameStyr åtkomsten till hela datakatalogen.
{ SCHEMA | DATABASE }
schema_nameStyr åtkomsten till ett schema.
FUNCTION
function_nameStyr åtkomsten till en namngiven funktion.
[ TABLE ]
Table_nameStyr åtkomsten till en hanterad eller extern tabell.
VIEW
view_nameStyr åtkomsten till SQL-vyer.
Arvsmodell
Skyddsbara objekt i Hive-metaarkivet är hierarkiska och privilegier ärvs nedåt. Det innebär att bevilja eller neka en behörighet för CATALOG
automatiskt beviljar eller nekar behörigheten till alla scheman i katalogen. På samma sätt ärvs behörigheter som beviljas för ett schemaobjekt av alla objekt i schemat. Det här mönstret gäller för alla skyddsbara objekt.
Om du nekar en användarbehörighet i en tabell kan användaren inte se tabellen genom att försöka lista alla tabeller i schemat. Om du nekar en användare behörighet i ett schema kan användaren inte se att schemat finns genom att försöka lista alla scheman i katalogen.
Behörighetstyper
I följande tabell visas vilka behörigheter som är associerade med vilka skyddsbara objekt.
Behörighetstyp | ANONYM FUNKTION | VALFRI FIL | KATALOG | SCHEMAT | FUNKTION | TABELL | VISA | |
---|---|---|---|---|---|---|---|---|
SKAPA | Ja | Ja | ||||||
ÄNDRA | Ja | Ja | Ja | Ja | ||||
READ_METADATA | Ja | Ja | Ja | Ja | ||||
VÄLJ | Ja | Ja | Ja | Ja | Ja | Ja | Ja | |
ANVÄNDNING | Ja | Ja |
ALL PRIVILEGES
Används för att bevilja eller återkalla alla behörigheter som gäller för skyddsbara objekt och dess underordnade objekt utan att uttryckligen ange dem. Detta utökar till alla tillgängliga behörigheter när behörighetskontroller görs.
CREATE
Skapa objekt i katalogen eller schemat.
MODIFY
KOPIERA TILL, UPPDATERATA BORT, INFOGA ELLER SAMMANFOGA TILL tabellen.
Om securable_object är eller ett
hive_metastore
schema inom det, beviljarMODIFY
MODIFY
beviljandet för alla aktuella och framtida tabeller och vyer i det skyddsbara objektet.READ_METADATA
Identifiera det skyddsbara objektet i SHOW och förhör objektet i DESCRIBE
Om det skyddsbara objektet är
hive_metastore
katalogen eller ett schema inom den beviljarREAD_METADATA
READ_METADATA
beviljandet för alla aktuella och framtida tabeller och vyer i det skyddsbara objektet.READ FILES
Fråga filer direkt med lagringsautentiseringsuppgifterna eller den externa platsen.
SELECT
Fråga en tabell eller vy, anropa en användardefinierad eller anonym funktion eller välj
ANY FILE
. Användaren behöverSELECT
i tabellen, vyn eller funktionen samtUSAGE
i objektets schema och katalog.Om det skyddsbara objektet är
hive_metastore
eller ett schema inom det beviljarSELECT
SELECT
beviljandet för alla aktuella och framtida tabeller och vyer i det skyddsbara objektet.USAGE
Krävs, men inte tillräckligt för att referera till några objekt i en katalog eller ett schema. Huvudkontot måste också ha behörighet för de enskilda skyddsbara objekten.
WRITE FILES
Kopiera direkt TILL filer som styrs av lagringsautentiseringsuppgifterna eller den externa platsen.
Exempel
-- 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`;