Condividi tramite


Gestire identità, autorizzazioni e privilegi per i Job di Databricks

Questo articolo contiene raccomandazioni e istruzioni per la gestione di identità, autorizzazioni e privilegi per i Jobs di Databricks.

Nota

I segreti non vengono redatti dal log del driver Spark di un cluster e dai suoi flussi. Per proteggere i dati sensibili, per impostazione predefinita, i log dei driver Spark sono visualizzabili solo dagli utenti con l'autorizzazione CAN MANAGE per il processo, la modalità di accesso dedicata e i cluster in modalità di accesso standard. Per consentire agli utenti con l'autorizzazione CAN ATTACH TO o CAN RESTART per visualizzare i log in questi cluster, impostare la proprietà di configurazione Spark seguente nella configurazione del cluster: spark.databricks.acl.needAdminPermissionToViewLogs false.

Nei cluster in modalità di accesso condiviso senza isolamento i log del driver Spark possono essere visualizzati dagli utenti con l'autorizzazione CAN ATTACH TO o CAN MANAGE. Per limitare gli utenti che possono leggere i log solo agli utenti con l'autorizzazione CAN MANAGE, impostare spark.databricks.acl.needAdminPermissionToViewLogs su true.

Vedere Configurazione Spark per avere informazioni su come aggiungere proprietà Spark a una configurazione del cluster.

Privilegi predefiniti per i lavori

Per impostazione predefinita, i processi hanno i privilegi seguenti:

  • All'autore dell'attività viene assegnata l'autorizzazione IS OWNER.
  • Agli amministratori dell'area di lavoro viene concessa l'autorizzazione CAN MANAGE.
  • L'autore dell'attività è impostato per Esegui come.

Autorizzazioni di amministratore per i compiti

Per impostazione predefinita, gli amministratori dell'area di lavoro possono modificare il proprietario del processo o la configurazione Esegui come per qualsiasi utente o principale del servizio nell'area di lavoro. Gli amministratori dell'account possono configurare l'impostazione RestrictWorkspaceAdmins per modificare questo comportamento. Vedere Limitare gli amministratori dell'area di lavoro.

In che modo i lavori interagiscono con le autorizzazioni di Unity Catalog?

I lavori vengono eseguiti con l'identità dell'utente nell'impostazione Esegui come. Questa identità viene valutata in base alle concessioni di autorizzazione per quanto segue:

  • Asset gestiti dal catalogo unity, tra cui tabelle, volumi, modelli e visualizzazioni.
  • Elenchi di controllo di accesso alle tabelle legacy (ACL) per gli asset registrati nel metastore Hive legacy.
  • ACL per ambiente di calcolo, notebook, query e altre risorse dell'area di lavoro.
  • Segreti di Databricks. Vedere Gestione dei segreti.

Nota

Le concessioni di Unity Catalog e gli ACL di tabella legacy richiedono modalità di accesso alle risorse di calcolo compatibili. Vedere Configurare il calcolo per i processi.

Compiti e autorizzazioni SQL

Il file task è l'unico tipo di task SQL che rispetta pienamente l'identità di Esegui come.

Le query SQL, gli avvisi e i task legacy del dashboard rispettano le impostazioni di condivisione configurate.

  • Esegui come proprietario: le esecuzioni dei task SQL pianificati usano sempre l'identità del proprietario della risorsa SQL configurata.
  • Esegui come visualizzatore: Le esecuzioni pianificate dell'attività SQL utilizzano sempre l'identità definita nel campo Esegui come.

Per altre informazioni sulle impostazioni di condivisione delle query, vedere Configurare le autorizzazioni per le query.

Esempio

Lo scenario seguente illustra l'interazione delle impostazioni di condivisione SQL e l'impostazione Esegui come del processo:

  • L'utente A è il proprietario della query SQL denominata my_query.
  • L'utente A configura my_query con l'impostazione di condivisione Esegui come proprietario.
  • L'utente B programma my_query come attività in un lavoro chiamato my_job.
  • L'utente B configura my_job per l'esecuzione con un'entità servizio denominata prod_sp.
  • Quando my_job viene eseguito, usa l'identità per l'utente A per eseguire my_query.

Si supponga ora che l'utente B non desideri questo comportamento. A partire dalla configurazione esistente, si verifica quanto segue:

  • L'utente A modifica l'impostazione di condivisione di my_queryin Esegui come visualizzatore.
  • Durante l'esecuzione di my_job, usa l'identità prod_sp.

Configurare l'identità per le esecuzioni delle attività

Per modificare l'impostazione Esegui come, è necessario disporre dell'autorizzazione PUÒ GESTIRE o È PROPRIETARIO per il processo.

Puoi impostare l'impostazione Esegui come su te stesso o su qualsiasi principale di servizio nell'area di lavoro su cui hai l'autorizzazione di Utente del Principale del Servizio.

Per configurare l'impostazione Esegui come per un processo nell'interfaccia utente dell'area di lavoro, selezionare un processo esistente seguendo i seguenti passaggi:

  1. Cliccare Icona Flussi di lavoroFlussi di lavoro nella barra laterale.
  2. Nella colonna Nome, fare clic sul nome del lavoro.
  3. Nel pannello laterale Dettagli processo clicca l'icona a forma di matita accanto al campo Esegui come.
  4. Cercare e selezionare un utente o un principale del servizio.
  5. Cliccare Salva.

Per ulteriori informazioni sull'uso dei principali del servizio, consulta quanto segue:

Pratiche migliori per la governance dei lavori

Databricks consiglia quanto segue per tutti i processi di produzione:

  • Assegnare la proprietà del processo a un principale del servizio

    Se l'utente proprietario di un processo lascia l'organizzazione, il processo potrebbe non riuscire. Usare i principali di servizio per rendere i processi resilienti al ricambio di personale.

    Per impostazione predefinita, gli amministratori dell'area di lavoro possono gestire le autorizzazioni dei processi e riassegnare la titolarità, se necessario.

  • Eseguire processi di produzione con un principale del servizio

    Per impostazione predefinita, i processi vengono eseguiti usando i privilegi del proprietario del processo. Se si assegna la proprietà a un'entità di servizio, le esecuzioni dei job usano le autorizzazioni dell'entità di servizio.

    L'uso delle entità servizio per i processi di produzione consente di limitare le autorizzazioni di scrittura per i dati di produzione. Se si eseguono processi usando le autorizzazioni di un utente, tale utente deve disporre delle stesse autorizzazioni per modificare i dati di produzione richiesti dal processo.

  • usare sempre configurazioni di calcolo compatibili con Unity catalog

    La governance dei dati di Unity Catalog richiede l'uso di una configurazione di calcolo supportata.

    Le risorse di calcolo serverless per i processi e i warehouse SQL usano sempre il catalogo Unity.

    Per i processi con calcolo classico, Databricks consiglia la modalità di accesso standard per i carichi di lavoro supportati. Usare la modalità di accesso dedicato quando necessario.

    Le pipeline DLT configurate con Il catalogo Unity presentano alcune limitazioni. Vedere Limitazioni.

  • Limitare le autorizzazioni per i processi di produzione

    Gli utenti che attivano, arrestano o riavviano l'esecuzione dei processi necessitano dell'autorizzazione Può gestire l'esecuzione.

    Gli utenti che visualizzano la configurazione del processo o monitorano le esecuzioni necessitano dell'autorizzazione Può visualizzare.

    Concedere i privilegi Può gestire o è proprietario solo agli utenti di fiducia che sono autorizzati a modificare il codice di produzione.

Controllare l'accesso a un lavoro

Il controllo di accesso ai processi consente ai proprietari e agli amministratori di processi di concedere autorizzazioni specifiche per i processi. Sono disponibili i seguenti livelli di autorizzazione:

Nota

Ogni autorizzazione include le concessioni di autorizzazioni sottostanti nella tabella seguente.

Autorizzazione Concedere
È proprietario Identità usata per Esegui come per impostazione predefinita.
Può gestire Gli utenti possono modificare la definizione del lavoro, incluse le autorizzazioni. Gli utenti possono sospendere e riprendere una pianificazione.
Può gestire l'avvio Gli utenti possono attivare e annullare le esecuzioni del processo.
Può visualizzare Gli utenti possono visualizzare i risultati dell'esecuzione del processo.

Per informazioni sui livelli di autorizzazione dei processi, vedere ACL dei processi.

Configurare le autorizzazioni dei processi

Per configurare le autorizzazioni per un processo nell'interfaccia utente dell'area di lavoro, selezionare un processo esistente seguendo questa procedura:

  1. Cliccare Icona Flussi di lavoroFlussi di lavoro nella barra laterale.
  2. Nella colonna Nome, fare clic sul nome del lavoro.
  3. Nel pannello Dettagli processo, fare clic su Modifica autorizzazioni. Si aprirà la finestra di dialogo Impostazioni autorizzazioni.
  4. Fare clic sul campo Seleziona utente, gruppo o entità servizio... e iniziare a digitare un utente, un gruppo o un'entità servizio. Il campo cerca tutte le identità disponibili nell'area di lavoro.
  5. Cliccare Aggiungi.
  6. Cliccare Salva.

Gestire il proprietario del compito

Solo gli amministratori del workspace possono modificare il responsabile del processo. È necessario assegnare esattamente un solo responsabile. I responsabili dei job possono essere utenti o entità del servizio.