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 a protezione diretta variano a seconda che si usi un metastore del catalogo Unity o il metastore Hive legacy. Questo articolo descrive il modello di privilegio per il metastore Hive legacy. Se si usa Il catalogo unity, vedere 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.

  • CATALOGcatalog_name

    Controlla l'accesso all'intero catalogo dati.

  • { SCHEMA | DATABASE }schema_name

    Controlla l'accesso a uno schema.

  • FUNCTIONfunction_name

    Controlla l'accesso a una funzione denominata.

  • [ TABLE ]table_name

    Controlla l'accesso a una tabella gestita o esterna.

  • VIEWview_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 l'oggetto 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 illustrati i privilegi associati agli oggetti a protezione diretta.

Tipo privilegio FUNZIONE ANONIMA ANY FILE CATALOGO SCHEMA FUNCTION TABLE VIEW
CREATE
MODIFY
READ_METADATA
SELECT
USAGE
  • 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. 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, UPDATE DELETE, INSERT o MERGE INTO the table.

    Se il securable_object è o hive_metastore uno schema al suo interno, la concessione MODIFY concederà MODIFY a tutte le tabelle e le viste correnti e future 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 al suo interno, la concessione READ_METADATA concederà READ_METADATA a tutte le tabelle e le viste correnti e future 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 query su una tabella o una vista, richiamare una funzione definita dall'utente o anonima oppure selezionare ANY FILE. L'utente deve SELECT disporre della tabella, della vista o della funzione, nonché USAGE dello schema e del catalogo dell'oggetto.

    Se l'oggetto a protezione diretta è o hive_metastore uno schema al suo interno, la concessione SELECT concederà SELECT a tutte le tabelle e le viste correnti e future all'interno dell'oggetto a protezione diretta.

  • 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

    Copiare direttamente i file INTO 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`;