Privilegi e oggetti a protezione diretta nel catalogo unity

Si applica solo a:segno di spunta sì Catalogo Unity di Databricks SQL segno di spunta sì Databricks Runtime segno di spunta sì

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 catalogo Unity. Se si usa il metastore Hive, vedere Privilegi e oggetti a protezione diretta nel metastore Hive

Nota

Questo articolo fa riferimento ai privilegi del catalogo Unity e al modello di ereditarietà nel modello di privilegio versione 1.0. Se è stato creato il metastore del catalogo Unity durante l'anteprima pubblica (prima del 25 agosto 2022), eseguire l'aggiornamento al modello di privilegio versione 1.0 seguendo l'aggiornamento all'ereditarietà dei privilegi.

Oggetti a protezione diretta

Un oggetto a protezione diretta è un oggetto definito nel metastore del Catalogo Unity in cui è possibile concedere privilegi a un'entità. Per gestire i privilegi per qualsiasi oggetto, è necessario essere il proprietario.

Sintassi

securable_object
  { CATALOG [ catalog_name ] |
    CONNECTION connection_name |
    EXTERNAL LOCATION location_name |
    FUNCTION function_name |
    METASTORE |
    SCHEMA schema_name |
    SHARE share_name |
    STORAGE CREDENTIAL credential_name |
    [ TABLE ] table_name |
    MATERIALIZED VIEW view_name |
    VIEW view_name |
    VOLUME volume_name
  }

È anche possibile specificare SERVER anziché CONNECTION e DATABASE anziché SCHEMA.

Parametri

  • CATALOGcatalog_name

    Controlla l'accesso all'intero catalogo dati.

  • CONNECTIONconnection_name

    Controlla l'accesso alla connessione.

  • EXTERNAL LOCATIONlocation_name

    Controlla l'accesso a una posizione esterna.

  • FUNCTIONfunction_name

    Controlla l'accesso a una funzione definita dall'utente.

  • MATERIALIZED VIEWview_name

    Importante

    Questa funzionalità è disponibile in anteprima pubblica. Per iscriversi per l'accesso, compilare questo modulo.

    Controlla l'accesso a una vista materializzata.

  • METASTORE

    Controlla l'accesso al metastore del catalogo Unity collegato all'area di lavoro. Quando si gestiscono i privilegi in un metastore, non si include il nome del metastore in un comando SQL. Il catalogo unity concede o revoca il privilegio nel metastore collegato all'area di lavoro.

  • REGISTERED MODEL

    Controlla l'accesso a un modello registrato MLflow.

  • SCHEMAschema_name

    Controlla l'accesso a uno schema.

  • STORAGE CREDENTIALcredential_name

    Controlla l'accesso a una credenziale di archiviazione.

  • SHAREshare_name

    Controlla l'accesso a una condivisione a un destinatario.

  • TABLEtable_name

    Controlla l'accesso a una tabella gestita o esterna. Se la tabella non è stata trovata, Azure Databricks genera un errore di TABLE_OR_VIEW_NOT_FOUND .

  • VIEWview_name

    Controlla l'accesso a una visualizzazione. Se non è possibile trovare la vista azure Databricks genera un errore di TABLE_OR_VIEW_NOT_FOUND .

  • VOLUMEvolume_name

    Controlla l'accesso a un volume. Se il volume non è stato trovato, Azure Databricks genera un errore.

Modello di ereditarietà

Gli oggetti a protezione diretta nel catalogo unity sono gerarchici e i privilegi vengono ereditati verso il basso. Ciò significa che la concessione di un privilegio nel catalogo concede automaticamente il privilegio a tutti gli schemi correnti e futuri nel catalogo. Analogamente, i privilegi concessi per uno schema vengono ereditati da tutte le tabelle e le viste correnti e future in tale schema.

Ad esempio, se si concede il SELECT privilegio per uno schema a un utente, all'utente viene concesso automaticamente il SELECT privilegio per tutte le tabelle, le viste e le viste materializzate correnti e future nello schema.

Tipi di privilegi

La tabella seguente illustra i privilegi del catalogo Unity associati agli oggetti a protezione diretta di Unity Catalog.

Entità a protezione diretta Privilegi
Metastore CREATE CATALOG, CREATE CONNECTION, , CREATE PROVIDERCREATE RECIPIENT, CREATE SHARE, CREATE STORAGE CREDENTIALUSE MARKETPLACE ASSETSSET SHARE PERMISSION, , USE RECIPIENTUSE PROVIDERCREATE EXTERNAL LOCATIONUSE SHARE
Catalogo ALL PRIVILEGES, APPLY TAG, BROWSE, CREATE SCHEMAUSE CATALOG

Per impostazione predefinita, tutti gli utenti dispongono USE CATALOG del main catalogo.

I tipi di privilegi seguenti si applicano agli oggetti a protezione diretta in un catalogo. È possibile concedere questi privilegi a livello di catalogo per applicarli agli oggetti correnti e futuri pertinenti nel catalogo.

CREATE FUNCTION, CREATE TABLE, , CREATE VOLUMECREATE FOREIGN CATALOG, READ VOLUME, REFRESHEXECUTEWRITE VOLUME, , SELECTMODIFYCREATE MODELUSE SCHEMA
Schema ALL PRIVILEGES, APPLY TAG, CREATE FUNCTION, CREATE TABLECREATE MODEL, CREATE VOLUME, , CREATE MATERIALIZED VIEWUSE SCHEMA

I tipi di privilegi seguenti si applicano agli oggetti a protezione diretta all'interno di uno schema. È possibile concedere questi privilegi a livello di schema per applicarli agli oggetti correnti e futuri pertinenti all'interno dello schema.

EXECUTE, MODIFY, SELECT, READ VOLUME, REFRESHWRITE VOLUME
Tabella ALL PRIVILEGES, APPLY TAG, MODIFYSELECT
Vista materializzata ALL PRIVILEGES, APPLY TAG, REFRESHSELECT
Visualizza ALL PRIVILEGES, APPLY TAG, SELECT
Volume ALL PRIVILEGES, READ VOLUME, WRITE VOLUME
Posizione esterna ALL PRIVILEGES, BROWSE, CREATE EXTERNAL TABLE, CREATE EXTERNAL VOLUMEREAD FILES, , WRITE FILESCREATE MANAGED STORAGE
Credenziali di archiviazione ALL PRIVILEGES, CREATE EXTERNAL LOCATION, CREATE EXTERNAL TABLE, READ FILESWRITE FILES
Connessione ALL PRIVILEGES, CREATE FOREIGN CATALOG, USE CONNECTION
Funzione ALL PRIVILEGES, EXECUTE
Modello registrato ALL PRIVILEGES, APPLY TAG, EXECUTE
Condivisione SELECT (Può essere concesso a RECIPIENT)
Recipient Nessuno
Provider None
  • APPLY TAG

    Applicare e modificare i tag in un oggetto .

  • ALL PRIVILEGES

    Usato per concedere o revocare tutti i privilegi applicabili all'oggetto 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. Non concede singolarmente all'utente ogni privilegio applicabile al momento della concessione.

    Quando ALL PRIVILEGES viene revocato solo il ALL PRIVILEGES privilegio stesso viene revocato. Gli utenti mantengono tutti gli altri privilegi concessi separatamente.

  • BROWSE

    Importante

    Questa funzionalità è disponibile in anteprima pubblica.

    Visualizzare i metadati di un oggetto usando Esplora cataloghi, il browser dello schema, i risultati della ricerca, il grafico di derivazione, information_schemae l'API REST. L'utente non richiede il USE CATALOG privilegio per il catalogo padre o USE SCHEMA per lo schema padre.

  • CREATE CATALOG

    Creare cataloghi in un metastore del catalogo Unity.

  • CREATE CONNECTION

    Creare connessioni esterne in un metastore del catalogo Unity.

  • CREATE EXTERNAL LOCATION

    Creare un percorso esterno usando le credenziali di archiviazione. Se applicato a una credenziale di archiviazione, consente a un utente di creare una posizione esterna usando le credenziali di archiviazione. Questo privilegio deve anche essere concesso a un utente nel metastore per consentire loro di creare una posizione esterna in tale metastore.

  • CREATE EXTERNAL TABLE

    Creare tabelle esterne usando le credenziali di archiviazione o il percorso esterno.

  • CREATE EXTERNAL VOLUME

    Creare volumi esterni usando il percorso esterno.

  • CREATE FOREIGN CATALOG

    Creare cataloghi in una connessione esterna. Ogni catalogo esterno espone quindi gli schemi disponibili nel sistema di destinazione federato.

  • CREATE FUNCTION

    Creare una funzione in uno schema. L'utente richiede anche il USE CATALOG privilegio per il catalogo e il USE SCHEMA privilegio per lo schema.

  • CREATE MANAGED STORAGE

    Consente a un utente di specificare un percorso per l'archiviazione di tabelle gestite a livello di catalogo o schema, ignorando l'archiviazione radice predefinita per il metastore del catalogo Unity.

  • CREATE MATERIALIZED VIEW

    Consente a un utente di creare una vista materializzata nello schema. Poiché i privilegi vengono ereditati, CREATE MATERIALIZED VIEW possono essere concessi anche in un catalogo, che consente a un utente di creare una tabella o una vista in qualsiasi schema esistente o futuro nel catalogo.

    L'utente deve anche avere il USE CATALOG privilegio per il catalogo padre e USE SCHEMA per lo schema padre.

  • CREATE MODEL

    Consente a un utente di creare un modello registrato MLflow nello schema. Poiché i privilegi vengono ereditati, CREATE MODEL possono essere concessi anche in un catalogo, che consente a un utente di creare un modello registrato in qualsiasi schema esistente o futuro nel catalogo.

    L'utente deve anche avere il USE CATALOG privilegio per il catalogo padre e USE SCHEMA per lo schema padre.

  • CREATE PROVIDER

    (Per i destinatari dei dati di condivisione differenziale) Creare un provider in un metastore del catalogo Unity.

  • CREATE RECIPIENT

    (Per i provider di dati di condivisione delta) Creare un destinatario in un metastore del catalogo Unity.

  • CREATE SCHEMA

    Creare uno schema in un catalogo. L'utente richiede anche il USE CATALOG privilegio nel catalogo.

  • CREATE SHARE

    (Per i provider di dati di condivisione delta) Creare una condivisione in un metastore del catalogo Unity.

  • CREATE STORAGE CREDENTIAL

    Creare credenziali di archiviazione in un metastore del catalogo Unity.

  • CREATE TABLE

    Creare una tabella o una vista in uno schema. L'utente richiede anche il USE CATALOG privilegio per il catalogo e il USE SCHEMA privilegio per lo schema. Per creare una tabella esterna, l'utente richiede anche il CREATE EXTERNAL TABLE privilegio per la posizione esterna o le credenziali di archiviazione.

  • CREATE VOLUME

    Creare un volume in uno schema. L'utente richiede anche il USE CATALOG privilegio per il catalogo e il USE SCHEMA privilegio per lo schema. Per creare un volume esterno, l'utente richiede anche il CREATE EXTERNAL VOLUME privilegio per la posizione esterna.

  • EXECUTE

    Richiamare una funzione definita dall'utente. L'utente richiede anche il USE CATALOG privilegio per il catalogo e il USE SCHEMA privilegio per lo schema.

  • MODIFY

    COPY INTO, UPDATEDELETE, IN edizione Standard RT o MERGE NELLA tabella.

  • READ FILES

    Eseguire query sui file direttamente usando le credenziali di archiviazione o il percorso esterno.

  • READ VOLUME

    Eseguire query sui file all'interno del volume.

  • REFRESH

    Consente a un utente di aggiornare una vista materializzata se l'utente dispone USE CATALOG anche del catalogo padre e USE SCHEMA del relativo schema padre. L'utente richiede anche il USE CATALOG privilegio per il catalogo e il USE SCHEMA privilegio per lo schema.

  • 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é USE CATALOG del catalogo dell'oggetto e USE SCHEMA dello schema dell'oggetto.

  • SET SHARE PERMISSION

    In Condivisione differenziale questa autorizzazione, combinata con USE SHARE e USE RECIPIENT (o proprietà del destinatario), consente a un utente del provider di concedere a un destinatario l'accesso a una condivisione. In combinazione con USE SHARE, consente di trasferire la proprietà di una condivisione a un altro utente, gruppo o entità servizio.

  • USE CATALOG

    Obbligatorio, ma non sufficiente per fare riferimento a qualsiasi oggetto in un catalogo. L'entità deve anche disporre di privilegi per i singoli oggetti a protezione diretta. Non è necessario che un utente usi la lettura dei metadati di un oggetto usando il BROWSE privilegio .

  • USE CONNECTION

    Obbligatorio per leggere i metadati in una connessione esterna o in tutte le connessioni esterne quando vengono usate nel metastore.

  • USE MARKETPLACE ASSETS

    Abilitato per impostazione predefinita per tutti i metastore del catalogo Unity. In Databricks Marketplace, questo privilegio offre a un utente la possibilità di ottenere l'accesso immediato o richiedere l'accesso per i prodotti dati condivisi in una presentazione del Marketplace. Consente inoltre a un utente di accedere al catalogo di sola lettura creato quando un provider condivide un prodotto dati. Senza questo privilegio, l'utente richiederà i CREATE CATALOG privilegi e USE PROVIDER o il ruolo di amministratore del metastore. In questo modo è possibile limitare il numero di utenti con tali autorizzazioni avanzate.

  • USE PROVIDER

    In Delta Sharing consente a un utente destinatario di accedere in sola lettura a tutti i provider in un metastore destinatario e alle relative condivisioni. In combinazione con il CREATE CATALOG privilegio , questo privilegio consente a un utente destinatario che non è un amministratore del metastore di montare una condivisione come catalogo. In questo modo è possibile limitare il numero di utenti con il potente ruolo di amministratore del metastore.

  • USE RECIPIENT

    In Delta Sharing consente a un utente del provider di accedere in sola lettura a tutti i destinatari in un metastore del provider e alle relative condivisioni. Ciò consente a un utente del provider che non è un amministratore del metastore di visualizzare i dettagli del destinatario, lo stato di autenticazione del destinatario e l'elenco di condivisioni condivise dal provider con il destinatario.

    In Databricks Marketplace, questo offre agli utenti del provider la possibilità di visualizzare presentazioni e richieste consumer nella console provider.

  • USE SCHEMA

    Obbligatorio, ma non sufficiente per fare riferimento a qualsiasi oggetto in uno schema. L'entità deve anche disporre di privilegi per i singoli oggetti a protezione diretta. Non è necessario che un utente usi la lettura dei metadati di un oggetto usando il BROWSE privilegio .

  • USE SHARE

    In Delta Sharing consente a un utente del provider di accedere in sola lettura a tutte le condivisioni definite in un metastore del provider. Ciò consente a un utente del provider che non è un amministratore del metastore di elencare le condivisioni ed elencare gli asset (tabelle e notebook) in una condivisione, insieme ai destinatari della condivisione.

    In Databricks Marketplace, questo offre agli utenti del provider la possibilità di visualizzare i dettagli sui dati condivisi in una presentazione.

  • WRITE FILES

    Copiare direttamente i file INTO regolati dalle credenziali di archiviazione o dal percorso esterno.

  • WRITE VOLUME

    Copia direttamente nei file in un volume.

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 USE SCHEMA ON SCHEMA some_schema FROM `alf@melmak.et`;