Gestire identità, autorizzazioni e privilegi per i processi di Databricks
Questo articolo contiene consigli e istruzioni per la gestione di identità, autorizzazioni e privilegi per i processi di Databricks.
Nota
I segreti non vengono elaborati dal log stdout
e stderr
dai flussi del driver Spark di un cluster. 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 utente singolo e i cluster in modalità di accesso condiviso. 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 la lettura dei log ai soli 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 processi
Per impostazione predefinita, i processi hanno i privilegi seguenti:
- All'autore del processo viene concessa l'autorizzazione IS OWNER.
- Agli amministratori dell'area di lavoro viene concessa l'autorizzazione CAN MANAGE.
- L'autore del processo è impostato per Esegui come.
Autorizzazioni di amministratore per i processi
Per impostazione predefinita, gli amministratori dell'area di lavoro possono modificare il proprietario del processo o la configurazione Esegui come in qualsiasi utente o entità servizio dell'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 processi interagiscono con le autorizzazioni di Unity Catalog?
I processi vengono eseguiti come identità dell'utente nell'impostazione Esegui come. Questa identità viene valutata in base alle concessioni di autorizzazione per quanto segue:
- Asset gestiti da Unity Catalog, tra cui tabelle, volumi, modelli e visualizzazioni.
- Elenchi di controllo di accesso alle tabelle legacy (ACL) per le risorse registrate 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 le ACL di tabelle legacy richiedono modalità di accesso al calcolo compatibili. Vedere Configurare il calcolo per i processi.
Task e autorizzazioni SQL
Il task file è 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 del task SQL pianificato usano sempre l'identità impostata nel campo Esegui come del processo.
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 pianifica
my_query
come task in un processo denominatomy_job
. - L'utente B configura
my_job
per l'esecuzione con un'entità servizio denominataprod_sp
. - Quando
my_job
viene eseguito, usa l'identità per l'utente A per eseguiremy_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_query
in Esegui come visualizzatore. - Durante l'esecuzione di
my_job
, usa l'identitàprod_sp
.
Configurare l'identità per le esecuzioni del processo
Per modificare l'impostazione Esegui come, è necessario disporre dell'autorizzazione PUÒ GESTIRE o È PROPRIETARIO per il processo.
È possibile impostare l'impostazione Esegui come su se stessi o su qualsiasi entità servizio nell'area di lavoro in cui si dispone dell'entitlement Utente dell'entità servizio.
Per configurare l'impostazione Esegui come per un processo nell'interfaccia utente dell'area di lavoro, selezionare un processo esistente seguendo questa procedura:
- Cliccare Flussi di lavoro nella barra laterale.
- Nella colonna Nome, cliccare il nome di un processo.
- Nel pannello laterale Dettagli processo cliccare l'icona a forma di matita accanto al campo Esegui come.
- Cercare e selezionare un utente o un'entità servizio.
- Cliccare Salva.
Per ulteriori informazioni sull'uso delle entità servizio, vedere i documenti seguenti:
- Gestire le entità servizio
- Ruoli per la gestione delle entità servizio
- Elencare le entità servizio che è possibile usare.
Procedure consigliate per la governance dei processi
Databricks consiglia quanto segue per tutti i processi di produzione:
Assegnare la proprietà del processo a un'entità servizio
Se l'utente proprietario di un processo lascia l'organizzazione, il processo potrebbe non riuscire. Usare le entità servizio per rendere i processi affidabili per l'eventualità di avvicendamento dei dipendenti.
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'entità servizio
Per impostazione predefinita, i processi vengono eseguiti usando i privilegi del proprietario del processo. Se si assegna la proprietà a un'entità servizio, le esecuzioni del processo usano le autorizzazioni dell'entità 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 elaborazione 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 condiviso per i carichi di lavoro supportati. Usare la modalità di accesso utente singolo quando necessario.
Le pipeline di Delta Live Tables configurate con Unity Catalog presentano alcune limitazioni. Vedere Limitazioni.
Limitare le autorizzazioni per i processi di produzione
Gli utenti che attivano, arrestano o riavviano le esecuzioni del processo necessitano dell'autorizzazione Può gestire l'esecuzione.
Gli utenti che visualizzano la configurazione del processo o monitorano le esecuzioni necessitano dell'autorizzazione Può visualizzare.
Concedete i privilegi Può gestire o È proprietario solo agli utenti che a cui è affidata la modifica del codice di produzione.
Controllare l'accesso a un processo
Il controllo di accesso ai processi consente ai proprietari e agli amministratori dei processi di concedere autorizzazioni specifiche per i processi. Sono disponibili i seguenti livelli di autorizzazione:
Nota
Ogni autorizzazione include le concessioni di autorizzazioni sottostanti della tabella seguente.
Autorizzazione | Concessione |
---|---|
È proprietario | Identità usata per Esegui come per impostazione predefinita. |
Può gestire | Gli utenti possono modificare la definizione del processo, incluse le autorizzazioni. Gli utenti possono sospendere e riprendere una pianificazione. |
Può gestire l'esecuzione | 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:
- Cliccare Flussi di lavoro nella barra laterale.
- Nella colonna Nome, cliccare il nome di un processo.
- Nel pannello Dettagli processo cliccare Modifica autorizzazioni. Sui aprirà la finestra di dialogo Impostazioni autorizzazioni.
- Cliccare il 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.
- Cliccare Aggiungi.
- Cliccare Salva.
Gestire il proprietario del processo
Solo gli amministratori dell'area di lavoro possono modificare il proprietario del processo. È necessario assegnare esattamente un solo proprietario del processo. I proprietari di processi possono essere utenti o entità servizio.