Condividi tramite


Ruoli per la gestione delle entità servizio

Questo articolo descrive come gestire i ruoli nelle entità servizio nell'account Azure Databricks.

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 agli utenti, alle entità servizio e ai gruppi di account di Azure Databricks l'accesso 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.

Per una panoramica delle entità servizio, vedere Gestire le entità servizio.

Ruoli dell'entità servizio

I ruoli dell'entità servizio sono ruoli a livello di account. Ciò significa che devono essere definiti una sola volta, nell'account e applicarli in tutte le aree di lavoro. Esistono due ruoli che è possibile concedere a un principale di servizio: Responsabile di Principale di Servizio e Utente del Principale di Servizio.

  • Gestione entità servizio consente di gestire i ruoli in un'entità servizio. L'autore di un'entità servizio ha il ruolo Di gestione entità servizio nell'entità servizio. Gli amministratori dell'account hanno il ruolo gestione 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 Gestione entità servizio per impostazione predefinita. Se hai bisogno di essere un manager, chiedi a un amministratore dell'account di concederti il ruolo di Manager del Principale del Servizio .

  • L'utente dell'entità servizio consente agli utenti dell'area di lavoro di eseguire processi come entità servizio. Il processo verrà eseguito con l'identità dell'entità servizio, anziché l'identità del proprietario del processo.

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.

Nota

I ruoli dell'entità servizio di Azure Databricks non si sovrappongono ai ruoli di Azure o ai ruoli ID di Microsoft Entra. Questi ruoli si estendono solo nell'account Azure Databricks.

Gestire i ruoli dell'entità servizio usando la console dell'account

Gli amministratori account possono gestire i ruoli delle entità servizio tramite la console dell'account.

Visualizzare i ruoli in un'entità servizio

  1. Come amministratore dell'account, accedere alla console dell'account.
  2. Nella barra laterale, fare clic su Gestione utenti.
  3. Nella scheda Entità servizio trovare e fare clic sul nome.
  4. Fare clic sulla scheda Permessi.

È possibile vedere l'elenco dei principali e i ruoli a loro concessi sull'entità del servizio. È anche possibile usare la barra di ricerca per cercare un'entità o un ruolo specifico.

Concedere ruoli su un'entità di servizio

  1. Come amministratore dell'account, accedere alla console dell'account.

  2. Nella barra laterale, fare clic su Gestione utenti.

  3. Nella scheda Entità servizio trovare e fare clic sul nome.

  4. Fare clic sulla scheda Permessi.

  5. Fare clic su Concedere l'accesso.

  6. Cercare e selezionare l'utente, l'entità servizio o il gruppo e scegliere il ruolo o i ruoli (entità servizio: Responsabile o entità servizio: Utente) da assegnare.

    Nota

    Gli utenti con il ruolo Gestione entità servizio non ereditano il ruolo utente dell'entità servizio. Se si vuole che l'utente usi l'entità servizio per eseguire i processi, sarà necessario assegnare in modo esplicito il ruolo utente dell'entità servizio.

  7. Fare clic su Salva.

Revocare i ruoli in un'entità servizio

  1. Come amministratore dell'account, accedere alla console dell'account.
  2. Nella barra laterale, fare clic su Gestione utenti.
  3. Nella scheda Entità servizio trovare e fare clic sul nome.
  4. Fare clic sulla scheda Permessi.
  5. Cercare l'utente, l'entità servizio o il gruppo per modificarli.
  6. Nella riga con il principale fare clic sul menu Kebab menu Kebab e quindi selezionare Modifica. In alternativa, selezionare Elimina per revocare tutti i ruoli per il soggetto.
  7. Fare clic su Modifica.
  8. Fare clic sul X accanto ai ruoli da revocare.
  9. Fare clic su Salva.

Gestire i ruoli dell'entità servizio usando la pagina delle impostazioni di amministrazione dell'area di lavoro

Gli amministratori dell'area di lavoro possono gestire i ruoli delle entità servizio per le entità servizio con il ruolo Gestione entità servizio usando la pagina delle impostazioni di amministrazione.

Visualizzare i ruoli in un'entità servizio

  1. Come amministratore dell'area di lavoro, accedere all'area di lavoro di Azure Databricks.
  2. Fare clic sul nome utente nella barra superiore dell'area di lavoro di Azure Databricks e selezionare Impostazioni.
  3. Fare clic sulla scheda Identità e accesso.
  4. Accanto a Entità servizio fare clic su Gestisci.
  5. Trovare e fare clic sul nome.
  6. Fare clic sulla scheda Permessi.

È possibile visualizzare l'elenco dei soggetti e i ruoli che sono loro concessi sul service principal. È anche possibile usare la barra di ricerca per cercare un'entità o un ruolo specifico.

Concedere ruoli al principale del servizio

Per concedere i ruoli, è necessario disporre del ruolo Service Principal Manager in un'entità servizio.

  1. Come amministratore dell'area di lavoro, accedere all'area di lavoro di Azure Databricks.

  2. Fare clic sul nome utente nella barra superiore dell'area di lavoro di Azure Databricks e selezionare Impostazioni.

  3. Fare clic sulla scheda Identità e accesso.

  4. Accanto a Entità servizio fare clic su Gestisci.

  5. Trovare e fare clic sul nome.

  6. Fare clic sulla scheda Permessi.

  7. Fare clic su Concedi l'accesso.

  8. Cercare e selezionare l'utente, il principal del servizio o il gruppo e scegliere il ruolo o i ruoli (principal del servizio: Manager o principal del servizio: User) da assegnare.

    Nota

    I ruoli possono essere concessi a qualsiasi utente, entità servizio o gruppo a livello di account, anche se non sono membri dell'area di lavoro. I ruoli non possono essere concessi ai gruppi locali dell'area di lavoro.

    Gli utenti con il ruolo Gestione entità servizio non ereditano il ruolo utente dell'entità servizio. Se si vuole che l'utente usi l'entità servizio per eseguire i processi, sarà necessario assegnare in modo esplicito il ruolo utente dell'entità servizio.

  9. Fare clic su Salva.

Revocare i ruoli in un'entità servizio

Per revocare i ruoli, è necessario avere il ruolo di Service Principal Manager su un principale del servizio.

  1. Come amministratore dell'area di lavoro, accedere all'area di lavoro di Azure Databricks.
  2. Fare clic sul nome utente nella barra superiore dell'area di lavoro di Azure Databricks e selezionare Impostazioni.
  3. Fare clic sulla scheda Identità e accesso.
  4. Accanto a Entità servizio fare clic su Gestisci.
  5. Trovare e fare clic sul nome.
  6. Fare clic sulla scheda Permessi.
  7. Cercare l'utente, l'entità servizio o il gruppo per modificarli.
  8. Nella riga con il preside, fare clic sul menu kebab menu kebab e quindi selezionare Modifica. In alternativa, selezionare Elimina per revocare tutti i ruoli per il principale.
  9. Fare clic su Modifica.
  10. Fare clic sul X accanto ai ruoli da revocare.
  11. Fare clic su Salva.

Gestire i ruoli dell'entità servizio usando l'interfaccia della riga di comando di Databricks

Per gestire i ruoli in un'entità servizio, è necessario avere il ruolo Di Gestione entità servizio. È possibile usare l'interfaccia della riga di comando di Databricks per gestire i ruoli. Per informazioni sull'installazione e l'autenticazione nell'interfaccia della riga di comando di Databricks, vedere Che cos'è l'interfaccia della riga di comando di Databricks?.

È anche possibile gestire i ruoli dell'entità servizio usando l'API Account Controllo di accesso. L'API Account Controllo di accesso è supportata tramite l'account e le aree di lavoro di Azure Databricks.

Gli amministratori dell'account chiamano l'API in accounts.azuredatabricks.net ({account-domain}/api/2.0/preview/accounts/{account_id}/access-control).

Gli utenti con il ruolo Gestione entità servizio che non sono amministratori account chiamano l'API nel dominio dell'area di lavoro ({workspace-domain}/api/2.0/preview/accounts/access-control/).

Concedere ruoli a un principale del servizio usando il CLI di Databricks

L'API account Controllo di accesso e l'interfaccia della riga di comando usano un etag campo per garantire la coerenza. Per concedere o revocare i ruoli principali del servizio tramite l'API, è necessario prima emettere un comando del set di regole GET e ricevere un etag in risposta. È quindi possibile applicare le modifiche in locale e infine rilasciare un set di regole PUT con il etag.

Ad esempio, eseguire un set di regole GET sul principale del servizio a cui si vuole concedere l'accesso eseguendo il comando seguente:

databricks account access-control get-rule-set accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default <etag>

Sostituire:

  • <account-id> con l'ID account.
  • <application-id> con l'ID applicazione dell'entità servizio.
  • <etag> con ""

Esempio di risposta:

{
  "etag":"<etag>",
  "grant_rules": [
    {
      "principals": [
        "users/user@example.com"
      ],
      "role":"roles/servicePrincipal.manager"
    },
    {
      "principals": [
        "users/user@example.com"
      ],
      "role":"roles/servicePrincipal.user"
    }
  ],
  "name":"<name>"
}

Copiare il etag campo dal corpo della risposta per usarlo in seguito.

È quindi possibile apportare aggiornamenti in locale quando si decide lo stato finale delle regole e quindi aggiornare il set di regole usando l'etag. Per concedere all'entità servizio il ruolo di Utente all'utente user2@example.com, eseguire quanto segue:

databricks account access-control update-rule-set --json '{
  "name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
  "rule_set": {
      "name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
      "grant_rules": [
        {
            "role": "roles/servicePrincipal.user",
            "principals": ["users/user2@example.com"]
        }
      ],
      "etag": "<etag>"
  }
}'

Sostituire:

  • <account-id> con l'ID account.
  • <application-id> con l'ID applicazione dell'entità servizio.
  • <etag> con l'etag copiato dall'ultima risposta.

Esempio di risposta:

{
  "etag":"<new-etag>",
  "grant_rules": [
    {
      "principals": [
        "users/user2@example.com"
      ],
      "role":"roles/servicePrincipal.user"
    }
  ],
  "name":"accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default"
}

Importante

Poiché si tratta di un PUT metodo, tutti i ruoli esistenti vengono sovrascritti. Per mantenere tutti i ruoli esistenti, è necessario aggiungerli alla grant_roles matrice.

Elenca i principali servizi che puoi utilizzare

Usando l'API Entità servizio dell'area di lavoro, è possibile elencare le entità servizio su cui si dispone del ruolo utente filtrando in base a servicePrincipal/use.

Per elencare i principali del servizio sui quali si dispone del ruolo Service Principal User, eseguire il comando seguente:

databricks service-principals list -p WORKSPACE --filter "permission eq 'servicePrincipal/use'"

È anche possibile elencare le entità servizio usando l'API delle entità servizio dell'area di lavoro .