Gestire le entità servizio
Questo articolo illustra come gestire e creare le entità servizio per l'account e le aree di lavoro di Azure Databricks.
Per una panoramica del modello di identità di Azure Databricks, consultare Identità di Azure Databricks.
Per gestire l'accesso per un’entità servizio, vedere Autenticazione e controllo di accesso.
Che cos'è un'entità servizio?
Un'entità servizio è un'identità creata in Azure Databricks per l'uso con strumenti, processi e applicazioni automatizzati. Le entità servizio offrono agli strumenti e agli script l'accesso automatico solo alle risorse di Azure Databricks, offrendo maggiore sicurezza rispetto all'uso di utenti o gruppi.
È possibile concedere e limitare l'accesso di un'entità servizio alle risorse nello stesso modo in cui è possibile un utente di Azure Databricks. È ad esempio possibile eseguire le seguenti operazioni:
- Assegnare a un account dell'entità servizio ruoli di amministratore e amministratore dell'area di lavoro.
- Concedere a un'entità servizio l'accesso ai dati, a livello di account usando Unity Catalog o a livello di area di lavoro.
- Aggiungere un'entità servizio a un gruppo a livello di account e area di lavoro, incluso il gruppo di aree di lavoro
admins
.
È anche possibile concedere agli utenti, alle entità servizio e ai gruppi di Azure Databricks le autorizzazioni per l'uso di un'entità servizio. In questo modo gli utenti possono eseguire processi con l'identità di entità servizio, anziché con la loro. Ciò impedisce che i processi non riescano in caso un utente lasci l'organizzazione o un gruppo venga modificato.
A differenza di un utente di Azure Databricks, un'entità servizio è un'identità solo API; non può essere usata per accedere all'interfaccia utente di Azure Databricks.
Databricks consiglia di abilitare le aree di lavoro per la federazione delle identità. La federazione delle identità consente di configurare le entità servizio nella console dell'account e quindi di assegnarle l'accesso a aree di lavoro specifiche. Ciò semplifica l'amministrazione e la governance dei dati di Azure Databricks.
Importante
Databricks ha iniziato ad abilitare automaticamente le nuove aree di lavoro per la federazione delle identità e il catalogo Unity il 9 novembre 2023, con un'implementazione graduale tra gli account. Se l'area di lavoro è abilitata per la federazione delle identità per impostazione predefinita, non può essere disabilitata. Per altre informazioni, consultare Abilitazione automatica del catalogo Unity.
Entità servizio Databricks e Microsoft Entra ID.
Le entità servizio possono essere entità servizio gestite di Azure Databricks o entità servizio gestite di Microsoft Entra ID.
Le entità servizio gestite di Azure Databricks possono eseguire l'autenticazione in Azure Databricks usando l'autenticazione OAuth di Databricks e i token di accesso personale. Le entità servizio gestite di Microsoft Entra ID possono eseguire l'autenticazione in Azure Databricks usando l'autenticazione OAuth di Databricks e i token Microsoft Entra ID. Per altre informazioni sull'autenticazione per le entità servizio, vedere Gestire i token per un'entità servizio.
Le entità servizio gestite di Azure Databricks vengono gestite direttamente in Azure Databricks. Le entità servizio gestite di Microsoft Entra ID vengono gestite in Microsoft Entra ID, che richiede autorizzazioni aggiuntive. Databricks consiglia di usare le entità servizio gestite di Azure Databricks per l'automazione di Azure Databricks e di usare le entità servizio gestite di Microsoft Entra ID nei casi in cui è necessario eseguire l'autenticazione con Azure Databricks e altre risorse di Azure contemporaneamente.
Per creare un'entità servizio gestita di Azure Databricks, ignorare questa sezione e continuare a leggere con Chi può gestire e usare le entità servizio?.
Per usare le entità servizio gestite da Microsoft Entra ID in Azure Databricks, un utente amministratore deve creare un'applicazione Microsoft Entra ID in Azure. Per creare un'entità servizio gestita di Microsoft Entra ID, vedere Autenticazione dell'entità servizio MS Entra.
Chi può gestire e usare le entità servizio?
Per gestire le entità servizio in Azure Databricks, è necessario disporre di uno dei seguenti ruoli: amministratore dell'account, amministratore dell'area di lavoro oppure manager o utente in un'entità servizio.
- Gli amministratori degli account possono aggiungere entità servizio agli account e assegnare loro ruoli di amministratore. Possono anche assegnare entità servizio alle aree di lavoro, purché queste usino la federazione delle identità.
- Gli amministratori delle aree di lavoro possono aggiungere entità servizio a un'area di lavoro di Azure Databricks, assegnare loro il ruolo di amministratore dell'area di lavoro e gestire l'accesso a oggetti e funzionalità nell'area di lavoro, ad esempio la possibilità di creare cluster o accedere ad ambienti basati su persone specificati.
- I responsabili dell'entità servizio possono gestire i ruoli in un'entità servizio. L'autore di un'entità servizio diventa il gestore dell'entità servizio. Gli amministratori degli account sono gestori di entità servizio in tutte le entità servizio in un account.
Nota
Se un'entità servizio è stata creata prima del 13 giugno 2023, l'autore dell'entità servizio non ha il ruolo di gestione dell'entità servizio per impostazione predefinita. Chiedere a un amministratore dell'account di concedere il ruolo di gestione dell'entità servizio.
Gli utenti con il ruolo Gestione entità servizio non ereditano il ruolo utente dell'entità servizio. Se si vuole usare l'entità servizio per eseguire i processi, è necessario assegnare in modo esplicito il ruolo utente dell'entità servizio, anche dopo aver creato l'entità servizio.
- Gli utenti dell'entità servizio possono eseguire processi come entità servizio. Il processo viene eseguito usando l'identità dell'entità servizio, anziché l'identità del proprietario del processo. Per altre informazioni, vedere Gestire identità, autorizzazioni e privilegi per i processi di Databricks.
Per informazioni su come concedere all'entità servizio ruoli di gestione o di utente, vedere Ruoli per la gestione delle entità servizio.
Gestire le entità servizio nell'account
Gli amministratori degli account possono aggiungere entità servizio all'account Azure Databricks usando la console dell'account.
Aggiungere entità servizio all'account utilizzando la console dell'account
Le entità servizio possono essere create in Azure Databricks o collegate da un'entità servizio Microsoft Entra ID esistente. Vedere Entità servizio Databricks e Microsoft Entra ID.
- Come amministratore dell'account, accedere alla console dell'account.
- Nella barra laterale, fare clic su Gestione utenti.
- Nella scheda Entità servizio fare clic su Aggiungi entità servizio.
- In Gestione scegliere gestito da Databricks o gestito da Microsoft Entra ID.
- Se si è scelto gestito da Microsoft Entra ID, sotto ID applicazione Microsoft Entra, incollare l'ID dell'applicazione (client) per l'entità servizio.
- Immettere un nome per l'entità servizio.
- Fare clic su Aggiungi.
Assegnare il ruolo di amministratore account a un'entità servizio
- Come amministratore dell'account, accedere alla console dell'account.
- Nella barra laterale, fare clic su Gestione utenti.
- Nella scheda Entità servizio trovare e fare clic sul nome utente.
- Nella scheda Ruoli, attivare Amministratore account o Amministratore Marketplace.
Assegnare un entità servizio a un'area di lavoro usando la console dell'account.
Per aggiungere utenti a un'area di lavoro usando la console dell'account, è necessario abilitare l'area di lavoro per la federazione delle identità. Gli amministratori delle aree di lavoro possono anche assegnare le entità servizio alle aree di lavoro utilizzando la pagina delle impostazioni di amministrazione dell'area di lavoro. Per informazioni dettagliate, vedere Aggiungere un'entità servizio a un'area di lavoro usando le impostazioni di amministratore dell'area di lavoro.
- Come amministratore dell'account, accedere alla console dell'account.
- Nella barra laterale, fare clic su Aree di lavoro.
- Fare clic sul nome dell'area di lavoro.
- Nella scheda Permissions (Autorizzazioni) fare clic su Add permissions (Aggiungi autorizzazioni).
- Cercare e selezionare l'entità servizio, assegnare il livello di autorizzazione (Utente o Amministratore dell'area di lavoro) e fare clic su Salva.
Rimuovere un’entità servizio da un'area di lavoro usando la console dell'account
Per rimuovere entità servizio da un'area di lavoro usando la console dell'account, è necessario abilitare l'area di lavoro per la federazione delle identità. Quando un’entità servizio viene rimossa da un'area di lavoro, non può più accedere all'area di lavoro, ma le autorizzazioni vengono mantenute sull’entità servizio. Se in seguito l’entità servizio viene aggiunta nuovamente all'area di lavoro, riacquista le autorizzazioni precedenti.
- Come amministratore dell'account, accedere alla console dell'account
- Nella barra laterale, fare clic su Aree di lavoro.
- Fare clic sul nome dell'area di lavoro.
- Nella scheda Autorizzazioni trovare l'entità servizio.
- Fare clic sul menu kebab all'estrema destra della riga dell'entità servizio e selezionare Rimuovi.
- Nella finestra di dialogo di conferma, fare clic su Rimuovi.
Disattivare un’entità servizio nel proprio account Azure Databricks
Gli amministratori degli account possono disattivare le entità servizio di un account Azure Databricks. Un’entità servizio disattivata non può autenticarsi sull'account o sulle aree di lavoro di Azure Databricks. Tuttavia, tutte le autorizzazioni e gli oggetti dell'area di lavoro dell'entità servizio rimangono invariati. Quando un’entità servizio viene disattivata, si verifica quanto segue:
- L'entità servizio non può autenticarsi sull'account o su una qualsiasi delle sue aree di lavoro con nessun metodo.
- Le applicazioni o gli script che usano i token generati dall'entità servizio non sono più in grado di accedere all'API Databricks. I token rimangono ma non possono essere utilizzati per l'autenticazione mentre un’entità servizio viene disattivata.
- I cluster di proprietà dell'entità servizio restano in esecuzione.
- I processi pianificati creati dall'entità servizio hanno esito negativo a meno che non vengano assegnati a un nuovo proprietario.
Quando un’entità servizio viene riattivata, può accedere ad Azure Databricks con le stesse autorizzazioni. Databricks consiglia di disattivare le entità servizio dall'account anziché rimuoverle, perché la rimozione di un’entità servizio è un'azione permanente. Lo stato di un’entità servizio disattivata è contrassegnato come Inattivo nella console account. È anche possibile disattivare un’entità servizio da una specifica area di lavoro. Vedere Disattivare un’entità servizio nell’area di lavoro di Azure Databricks.
Non è possibile disattivare un'entità servizio usando la console dell'account. Usare invece l'API Entità servizio account.
Ad esempio:
curl --netrc -X PATCH \
https://${DATABRICKS_HOST}/api/2.1/accounts/{account_id}/scim/v2/ServicePrincipals/{id} \
--header 'Content-type: application/scim+json' \
--data @update-sp.json \
| jq .
update-sp.json
:
{
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
"Operations": [
{
"op": "replace",
"path": "active",
"value": [
{
"value": "false"
}
]
}
]
}
Rimuovere le entità servizio dall'account Azure Databricks
Gli amministratori degli account possono eliminare le entità servizio da un account Azure Databricks. Gli amministratori dell'area di lavoro non possono. Quando si elimina un’entità servizo dall'account, quell’entità servizio viene rimossa anche dalle aree di lavoro.
Importante
Quando un'entità servizio viene rimossa dall'account, viene rimossa anche dalle proprie aree di lavoro, indipendentemente dal fatto che la federazione delle identità sia stata abilitata. È consigliabile evitare di eliminare le entità servizio a livello di account a meno che non si desideri che perdano l'accesso a tutte le aree di lavoro dell'account. Tenere presente le conseguenze seguenti dell'eliminazione delle entità servizio:
- Le applicazioni o gli script che usano i token generati dall'entità servizio non possono più accedere alle API Databricks
- I processi di proprietà dell'entità servizio hanno esito negativo
- I cluster di proprietà dell'entità servizio si arrestano
- Le query o le dashboard create dall'entità servizio e condivise tramite le credenziali Esegui come proprietario devono essere assegnate a un nuovo proprietario per impedire che la condivisione abbia esito negativo
Quando un’entità servizio Microsoft Entra ID viene rimossa da un account, non può più accedere all’account o all'area di lavoro, ma le autorizzazioni vengono comunque mantenute sull’entità servizio. Se in seguito l’entità servizio viene aggiunta nuovamente all'account, riacquista le autorizzazioni precedenti.
Per rimuovere un’entità servizio tramite la console dell'account, eseguire le seguenti operazioni:
- Come amministratore dell'account, accedere alla console dell'account.
- Nella barra laterale, fare clic su Gestione utenti.
- Nella scheda Entità servizio trovare e fare clic sul nome utente.
- Nella scheda Informazioni entità servizio, fare clic sul menu kebab nell'angolo in alto a destra e selezionare Elimina.
- Nella finestra di conferma fare clic su Conferma eliminazione.
Gestire le entità servizio nell'area di lavoro
Gli amministratori delle aree di lavoro possono gestire le entità servizio nelle aree di lavoro utilizzando la pagina delle impostazioni di amministrazione dell'area di lavoro.
Aggiungere un'entità servizio a un'area di lavoro usando le impostazioni di amministratore dell'area di lavoro
Le entità servizio possono essere create in Azure Databricks o collegate da un'entità servizio Microsoft Entra ID esistente. Vedere Entità servizio Databricks e Microsoft Entra ID.
Come amministratore dell'area di lavoro, accedere all'area di lavoro di Azure Databricks.
Fare clic sul nome utente nella barra superiore dell’area di lavoro di Azure Databricks e selezionare Impostazioni.
Fare clic sulla scheda Identità e accesso.
Accanto a Entità servizio fare clic su Gestisci.
Fare clic su Aggiungi entità servizio.
Selezionare un’entità servizio esistente da assegnare all'area di lavoro o fare clic su Aggiungi nuovo per creare una nuova entità servizio.
Per aggiungere una nuova entità servizio, scegliere gestito da Databricks o gestito da Microsoft Entra ID. Se si sceglie gestito da Microsoft Entra ID, incollare l'ID dell'applicazione (client) per l'entità servizio e immettere un nome visualizzato.
Fare clic su Aggiungi.
Nota
Se l'area di lavoro non è abilitata per la federazione delle identità, non è possibile assegnare entità servizio account esistenti all'area di lavoro.
Assegnare il ruolo di amministratore dell'area di lavoro a un’entità servizio usando la pagina delle impostazioni di amministrazione dell'area di lavoro
- Come amministratore dell'area di lavoro, accedere all'area di lavoro di Azure Databricks.
- Fare clic sul nome utente nella barra superiore dell’area di lavoro di Azure Databricks e selezionare Impostazioni.
- Fare clic sulla scheda Identità e accesso.
- Accanto a Gruppi, fare clic su Gestisci.
- Selezionare il gruppo di sistema
admins
. - Fare clic su Aggiungi membri.
- Selezionare l'entità servizio e fare clic su Conferma.
Per rimuovere il ruolo di amministratore dell'area di lavoro da un'entità servizio, rimuovere l'entità servizio dal gruppo di amministrazione.
Disattivare un'entità servizio nell'area di lavoro di Azure Databricks
Gli amministratori delle aree di lavoro possono disattivare entità servizio nelle aree di lavoro di Azure Databricks. Un'entità servizio disattivata non può accedere all'area di lavoro dalle API Azure Databricks, tuttavia tutte le autorizzazioni e gli oggetti dell'area di lavoro dell'entità servizio rimangono invariati. Quando un'entità servizio viene disattivata:
- L'entità servizio non può autenticarsi sulle aree di lavoro con nessun metodo.
- Lo stato dell'entità servizio viene visualizzato come Inattivo nella pagina delle impostazioni di amministrazione dell'area di lavoro.
- Le applicazioni o gli script che usano i token generati dall'entità servizio non possono più accedere alle API Databricks. I token rimangono ma non possono essere utilizzati per l'autenticazione mentre un’entità servizio viene disattivata.
- I cluster di proprietà dell'entità servizio restano in esecuzione.
- I processi pianificati creati dall'entità servizio devono essere assegnati a un nuovo proprietario per evitare che abbiano esito negativo.
Quando un'entità servizio viene riattivata, può eseguire l'autenticazione nell'area di lavoro con le stesse autorizzazioni. Databricks consiglia di disattivare le entità servizio anziché rimuoverle, perché la rimozione di un’entità servizio è un'azione permanente.
- Come amministratore dell'area di lavoro, accedere all'area di lavoro di Azure Databricks.
- Fare clic sul nome utente nella barra superiore dell’area di lavoro di Azure Databricks e selezionare Impostazioni.
- Fare clic sulla scheda Identità e accesso.
- Accanto a Entità servizio fare clic su Gestisci.
- Selezionare l'entità servizio da disattivare.
- In Stato deselezionare Attivo.
Per impostare un'entità servizio su attiva, eseguire gli stessi passaggi, ma selezionare la casella di controllo.
Rimuovere un’entità servizio da un'area di lavoro usando la pagina delle impostazioni di amministrazione dell'area di lavoro
La rimozione di un'entità servizio da un'area di lavoro non comporta la rimozione dell'entità servizio dall'account. Per rimuovere un'entità servizio dall'account, vedere Rimuovere le entità servizio dall'account Azure Databricks.
Quando un’entità servizio viene rimossa da un'area di lavoro, non può più accedere all'area di lavoro, ma le autorizzazioni vengono mantenute sull’entità servizio. Se in seguito l’entità servizio viene aggiunta nuovamente all'area di lavoro, riacquista le autorizzazioni precedenti.
- Come amministratore dell'area di lavoro, accedere all'area di lavoro di Azure Databricks.
- Fare clic sul nome utente nella barra superiore dell’area di lavoro di Azure Databricks e selezionare Impostazioni.
- Fare clic sulla scheda Identità e accesso.
- Accanto a Entità servizio fare clic su Gestisci.
- Selezionare l'entità servizio.
- Nell'angolo in alto a destra fare clic su Elimina.
- Fare clic su Elimina per confermare.
Gestire le entità servizio usando l’API
Gli amministratori degli account e gli amministratori delle aree di lavoro possono gestire le entità servizio negli account e nelle aree di lavoro di Azure Databricks usando le API Databricks. Per gestire i ruoli in un'entità servizio usando l'API, vedere Gestire i ruoli dell'entità servizio usando la CLI di Databricks.
Gestire le entità servizio nell’account usando l’API
Gli amministratori possono aggiungere e gestire le entità servizio nell'account Azure Databricks usando l'API Entità servizio account. Gli amministratori dell'account e gli amministratori dell'area di lavoro richiamano l'API usando un URL endpoint diverso:
- Gli amministratori degli account usano
{account-domain}/api/2.1/accounts/{account_id}/scim/v2/
. - Gli amministratori dell'area di lavoro usano
{workspace-domain}/api/2.0/account/scim/v2/
.
Per informazioni dettagliate, vedere l'API Entità servizio account.
Gestire le entità servizio nell’area di lavoro usando l’API
Gli amministratori degli account e delle aree di lavoro possono usare l'API di assegnazione dell'area di lavoro per assegnare le entità servizio alle aree di lavoro abilitate per la federazione delle identità. L'API di assegnazione dell'area di lavoro è supportata tramite l'account e le aree di lavoro di Azure Databricks.
- Gli amministratori degli account usano
{account-domain}/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments
. - Gli amministratori dell'area di lavoro usano
{workspace-domain}/api/2.0/preview/permissionassignments/principals/{principal_id}
.
Vedere API di assegnazione dell'area di lavoro.
Se l'area di lavoro non è abilitata per la federazione delle identità, l'amministratore dell'area di lavoro può utilizzare le API a livello di area di lavoro per assegnare le entità servizio alle rispettive aree di lavoro. Vedere API delle entità servizio dell'area di lavoro.
Gestire i token per un'entità servizio
Le entità servizio possono eseguire l'autenticazione alle API in Azure Databricks usando i token OAuth di Azure Databricks o i token di accesso personale di Azure Databricks, come indicato di seguito:
- I token OAuth di Azure Databricks possono essere usati per eseguire l'autenticazione alle API a livello di account e a livello di area di lavoro di Azure Databricks.
- I token OAuth di Azure Databricks, creati a livello di account Azure Databricks, possono essere usati per eseguire l'autenticazione alle API a livello di account e a livello di area di lavoro di Azure Databricks.
- I token OAuth di Azure Databricks, creati a livello di area di lavoro Azure Databricks, possono essere usati per eseguire l'autenticazione solo alle API a livello di area di lavoro di Azure Databricks.
- I token di accesso personale di Azure Databricks possono essere usati per eseguire l'autenticazione solo alle API a livello di area di lavoro di Azure Databricks.
Gestire l'autenticazione OAuth di Databricks per un'entità servizio
Per eseguire l'autenticazione a livello di account e api REST di Databricks a livello di area di lavoro, gli amministratori degli account possono usare i token OAuth di Azure Databricks per le entità servizio. È possibile richiedere un token OAuth usando l'ID client e un segreto client per l'entità servizio. Per altre informazioni, vedere Autenticare l'accesso ad Azure Databricks con un'entità servizio usando OAuth (OAuth M2M).
Vedi anche
Per informazioni dettagliate sull'uso delle entità servizio come sviluppatore che usano l'interfaccia della riga di comando di Azure Databricks o le API REST di Azure Databricks, vedere Autenticare l'accesso ad Azure Databricks con un'entità servizio usando OAuth (OAuth M2M).
Per informazioni dettagliate sull'uso delle identità del servizio gestito di Microsoft o dei token di accesso di Microsoft Entra, vedere rispettivamente autenticazione delle identità gestite di Azure e autenticazione dell'entità servizio MS Entra.