Privilegi e oggetti a protezione diretta nel metastore Hive

Si applica a:check contrassegnato sì controllo SQL databricks contrassegnato come 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 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.

  • 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 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
MODIFICARE
READ_METADATA
SELEZIONARE
UTILIZZO
  • 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à MODIFYMODIFY 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_METADATAREAD_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 deve SELECT 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à SELECTSELECT 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`;