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 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_name

    Controlla l'accesso all'intero catalogo dati.

  • { SCHEMA | DATABASE } schema_name

    Controlla l'accesso a uno schema.

  • FUNCTION function_name

    Controlla l'accesso a una funzione denominata.

  • [ TABLE ] table_name

    Controlla l'accesso a una tabella gestita o esterna.

  • VIEW view_name

    Controlla 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
MODIFY
READ_METADATA
SELECT
USAGE
  • 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, concedere MODIFY 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, concedendo READ_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 avere SELECT sulla tabella, sulla vista o sulla funzione, e anche USAGE sullo schema e sul catalogo dell'oggetto.

    Se l'oggetto proteggibile è il hive_metastore o uno schema al suo interno, l'atto di concedere SELECT 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`;