Condividi tramite


Privilegi e oggetti a protezione diretta nel metastore Hive

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì 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_name

    Controlla l'accesso a tutti i dati catalog.

  • { SCHEMA | DATABASE } schema_name

    Controlla l'accesso a un schema.

  • FUNCTION function_name

    Controlla l'accesso a una funzione denominata.

  • [ TABLE ] table_name

    Controlla l'accesso a un tablegestito o esterno.

  • VIEW view_name

    Gestisce 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
MODIFY
READ_METADATA
SELECT
USAGE
  • 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, concedere MODIFY 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_metastorecatalog o un schema al suo interno, concedendo READ_METADATAgrantREAD_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 selectANY FILE. L'utente ha bisogno di SELECT nella table, nella vista o nella funzione, nonché di USAGE sul schema dell'oggetto e catalog.

    Se l'oggetto a protezione diretta è il hive_metastore o un schema al suo interno, concedendo SELECT 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`;