Privilegi e oggetti a protezione diretta nel metastore Hive
Si applica a: Databricks SQL Databricks Runtime
Un privilegio è un diritto concesso a un'entità per operare su un oggetto a protezione diretta nel metastore.
Il modello di privilegio e gli oggetti sicuri variano a seconda che si usi un metastore di Unity Catalog o il metastore Hive legacy. Questo articolo descrive il modello di privilegio per il metastore Hive legacy. Se stai usando il Catalogo Unity, consulta Privilegi e oggetti a protezione diretta nel Catalogo Unity.
Oggetti a protezione diretta nel metastore Hive
Un oggetto a protezione diretta è un oggetto definito nel metastore in cui è possibile concedere privilegi a un'entità.
Per gestire i privilegi per qualsiasi oggetto, è necessario essere il proprietario o un amministratore.
Sintassi
securable_object
{ ANY FILE |
CATALOG [ catalog_name ] |
{ SCHEMA | DATABASE } schema_name |
FUNCTION function_name |
[ TABLE ] table_name |
VIEW view_name
}
Parametri
ANY FILE
Controlla l'accesso al file system sottostante.
CATALOG
catalog_nameControlla l'accesso all'intero catalogo dati.
{ SCHEMA | DATABASE }
schema_nameControlla l'accesso a uno schema.
FUNCTION
function_nameControlla l'accesso a una funzione denominata.
[ TABLE ]
table_nameControlla l'accesso a una tabella gestita o esterna.
VIEW
view_nameControlla l'accesso alle viste SQL.
Modello di ereditarietà
Gli oggetti a protezione diretta nel metastore Hive sono gerarchici e i privilegi vengono ereditati verso il basso. Ciò significa che la concessione o la negazione di un privilegio per il CATALOG
concede o nega automaticamente il privilegio a tutti gli schemi nel catalogo. Analogamente, i privilegi concessi per un oggetto schema vengono ereditati da tutti gli oggetti in tale schema. Questo modello è true per tutti gli oggetti a protezione diretta.
Se si negano privilegi utente in una tabella, l'utente non può visualizzare la tabella tentando di elencare tutte le tabelle nello schema. Se si negano privilegi utente per uno schema, l'utente non può vedere che lo schema esiste tentando di elencare tutti gli schemi nel catalogo.
Tipi di privilegi
Nella tabella seguente vengono mostrati i privilegi associati agli oggetti proteggibili.
Tipo privilegio | FUNZIONE ANONIMA | ANY FILE | CATALOG | SCHEMA | FUNCTION | TABLE | VIEW |
---|---|---|---|---|---|---|---|
CREATE | Sì | Sì | |||||
MODIFY | Sì | Sì | Sì | Sì | |||
READ_METADATA | Sì | Sì | Sì | Sì | |||
SELECT | Sì | Sì | Sì | Sì | Sì | Sì | Sì |
USAGE | Sì | Sì |
ALL PRIVILEGES
Usato per concedere o revocare tutti i privilegi applicabili all'oggetto proteggibile e ai suoi oggetti figli senza specificarli in modo esplicito. Questo si espande a tutti i privilegi disponibili al momento dell'esecuzione dei controlli delle autorizzazioni.
CREATE
Creare oggetti all'interno del catalogo o dello schema.
MODIFY
COPY INTO, UPDATEDELETE, INSERTo MERGE INTO la tabella.
Se il securable_object è il
hive_metastore
o uno schema al suo interno, concedereMODIFY
garantiràMODIFY
su tutte le tabelle e viste correnti e future all'interno dell'oggetto proteggibile.READ_METADATA
Individuare l'oggetto a protezione diretta in SHOW e interrogare l'oggetto in DESCRIBE
Se l'oggetto proteggibile è il catalogo
hive_metastore
o uno schema al suo interno, concedendoREAD_METADATA
concederàREAD_METADATA
su tutte le tabelle e le viste correnti e future all'interno dell'oggetto proteggibile.READ FILES
Eseguire query sui file direttamente usando le credenziali di archiviazione o il percorso esterno.
SELECT
Eseguire una query su una tabella o una vista, richiamare una funzione definita dall'utente o anonima oppure selezionare
ANY FILE
. L'utente deve avereSELECT
sulla tabella, sulla vista o sulla funzione, e ancheUSAGE
sullo schema e sul catalogo dell'oggetto.Se l'oggetto proteggibile è il
hive_metastore
o uno schema al suo interno, l'atto di concedereSELECT
concederàSELECT
su tutte le tabelle e le viste correnti e future all'interno dell'oggetto proteggibile.USAGE
Obbligatorio, ma non sufficiente per fare riferimento a qualsiasi oggetto in un catalogo o in uno schema. L'entità deve anche disporre di privilegi per i singoli oggetti a protezione diretta.
WRITE FILES
Dirige direttamente COPY INTO i file regolati dalle credenziali di archiviazione o dal percorso esterno .
Esempi
-- 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`;