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 privilegi e gli oggetti securizzabili variano a seconda che si utilizzi il metastore Unity Catalog o il metastore Hive legacy. Questo articolo descrive il modello di privilegio per il metastore Hive legacy. Se si sta usando Unity Catalog, vedere Privilegi e oggetti a protezione diretta in Unity Catalog.
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
}
Parameters
ANY FILE
Controlla l'accesso al file system sottostante.
CATALOG
catalog_nameControlla l'accesso a tutti i dati catalog.
{ SCHEMA | DATABASE }
schema_nameControlla l'accesso a un schema.
FUNCTION
function_nameControlla l'accesso a una funzione denominata.
[ TABLE ]
table_nameControlla l'accesso a un tablegestito o esterno.
VIEW
view_nameGestisce l'accesso a SQL views.
Modello di ereditarietà
Gli oggetti a protezione diretta nel metastore Hive sono gerarchici e i privilegi vengono ereditati verso il basso. Ciò significa che concedere o negare un privilegio su CATALOG
automaticamente concede o nega il privilegio a tutti gli schemi in catalog. Analogamente, i privilegi concessi per un oggetto schema vengono ereditati da tutti gli oggetti all'interno di quel schema. Questo modello è true per tutti gli oggetti a protezione diretta.
Se si deny i privilegi di un utente in un table, l'utente non può visualizzare il table tentando di list tutti i tables nella schema. Se si deny privilegi utente per un schema, l'utente non può vedere che il schema esiste tentando di list tutti gli schemi nel catalog.
Tipi di privilegi
Nella tabella seguente table 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 grant o revoke tutti i privilegi applicabili all'entità proteggibile e ai relativi oggetti subordinati senza specificarli in modo esplicito. Questo si espande a tutti i privilegi disponibili al momento dell'esecuzione dei controlli delle autorizzazioni.
CREATE
Crea oggetti all'interno del catalog o schema.
MODIFY
COPY INTO, UPDATEDELETE, INSERTo MERGE INTOtable.
Se l'oggetto sicuro è il
hive_metastore
o un schema al suo interno, concedereMODIFY
comporterà grantMODIFY
su tutti i tables e i views attuali e futuri all'interno dell'oggetto sicuro.READ_METADATA
Individuare l'oggetto a protezione diretta in SHOW e interrogare l'oggetto in DESCRIBE
Se l'oggetto a protezione diretta è il
hive_metastore
catalog o un schema al suo interno, concedendoREAD_METADATA
grantREAD_METADATA
su tutti i tables correnti e futuri e views all'interno dell'oggetto a protezione diretta.READ FILES
Eseguire query sui file direttamente usando le credenziali di archiviazione o il percorso esterno.
SELECT
Eseguire una query su un table o una vista, richiamare una funzione definita dall'utente o anonima oppure select
ANY FILE
. L'utente ha bisogno diSELECT
nella table, nella vista o nella funzione, nonché diUSAGE
sul schema dell'oggetto e catalog.Se l'oggetto a protezione diretta è il
hive_metastore
o un schema al suo interno, concedendoSELECT
permetterà grantSELECT
su tutti i tables correnti e futuri, così come sui views all'interno dell'oggetto a protezione diretta.USAGE
Obbligatorio, ma non sufficiente per fare riferimento a qualsiasi oggetto in un catalog o 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`;