Privilegi e oggetti a protezione diretta nel metastore Hive
Si applica a: controllo SQL databricks 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 a protezione diretta differiscono 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 si usa 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 in 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 visualizzazioni 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 concedendo o negando un privilegio per CATALOG
l'utente concede o nega automaticamente il privilegio a tutti gli schemi nel catalogo. Analogamente, i privilegi concessi in 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 in 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 illustrati i privilegi associati ai quali oggetti a protezione diretta.
Tipo di privilegio | FUNZIONE ANONIMA | QUALSIASI FILE | CATALOGO | SCHEMA | FUNZIONE | TAVOLO | MOSTRA | |
---|---|---|---|---|---|---|---|---|
CREARE | Sì | Sì | ||||||
MODIFICARE | Sì | Sì | Sì | Sì | ||||
READ_METADATA | Sì | Sì | Sì | Sì | ||||
SELEZIONARE | Sì | Sì | Sì | Sì | Sì | Sì | Sì | |
UTILIZZO | Sì | Sì |
ALL PRIVILEGES
Usato per concedere o revocare tutti i privilegi applicabili all'entità a protezione diretta e ai relativi oggetti figlio senza specificarli in modo esplicito. In questo modo vengono espansi tutti i privilegi disponibili al momento delle verifiche delle autorizzazioni.
CREATE
Creare oggetti all'interno del catalogo o dello schema.
MODIFY
COPIA IN, AGGIORNADELETE, INSERT o MERGE NELLA tabella.
Se il securable_object è o
hive_metastore
uno schema all'interno di esso, la concessione concederàMODIFY
MODIFY
a tutte le tabelle correnti e future e viste all'interno dell'oggetto a protezione diretta.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
catalogo o uno schema all'interno di esso, la concessione concederàREAD_METADATA
READ_METADATA
a tutte le tabelle correnti e future e viste 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 una tabella o una vista, richiamare una funzione definita dall'utente o anonima oppure selezionare
ANY FILE
. L'utente deveSELECT
essere presente nella tabella, nella visualizzazione o nella funzione, nonchéUSAGE
nello schema e nel catalogo dell'oggetto.Se l'oggetto a protezione diretta è o
hive_metastore
uno schema all'interno di esso, la concessione concederàSELECT
SELECT
a tutte le tabelle correnti e future e viste all'interno dell'oggetto a protezione diretta.USAGE
Obbligatorio, ma non sufficiente per fare riferimento a tutti gli oggetti in un catalogo o in uno schema. L'entità deve anche avere privilegi sui singoli oggetti a protezione diretta.
WRITE FILES
Copiare direttamente i file IN regola con le credenziali di archiviazione o il 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`;