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 come entità servizio, anziché come identità. In questo modo, i processi non riescono se un utente lascia l'organizzazione o un gruppo viene 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'entità servizio: Service Principal Manager e Utente entità 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 è necessario essere un manager, chiedere a un amministratore dell'account di concedere il ruolo di Gestione entità 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 all'ID Microsoft Entra (in precedenza Azure Active Directory). 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 Permissions .

È possibile visualizzare l'elenco delle entità e i ruoli concessi nell'entità servizio. È anche possibile usare la barra di ricerca per cercare un'entità o un ruolo specifico.

Concedere 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 Permissions .

  5. Fare clic su Concedi accesso.

  6. Cercare e selezionare l'utente, l'entità servizio o il gruppo e scegliere il ruolo o i ruoli (entità servizio: Manager 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 Permissions .
  5. Cercare l'utente, l'entità servizio o il gruppo per modificarli.
  6. Nella riga con l'entità fare clic sul menu Vertical Ellipsis kebab e quindi selezionare Modifica. In alternativa, selezionare Elimina per revocare tutti i ruoli per l'entità.
  7. Fare clic su Modifica.
  8. Fare clic sulla 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 Amministrazione 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 Permissions .

È possibile visualizzare l'elenco delle entità e i ruoli concessi nell'entità servizio. È anche possibile usare la barra di ricerca per cercare un'entità o un ruolo specifico.

Concedere ruoli in un'entità servizio

Per concedere i ruoli, è necessario disporre del ruolo Di gestione entità servizio 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 Amministrazione 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 Permissions .

  7. Fare clic su Concedi accesso.

  8. Cercare e selezionare l'utente, l'entità servizio o il gruppo e scegliere il ruolo o i ruoli (entità servizio: Manager o entità servizio: Utente) 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 disporre del ruolo Di gestione entità servizio 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 Amministrazione 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 Permissions .
  7. Cercare l'utente, l'entità servizio o il gruppo per modificarli.
  8. Nella riga con l'entità fare clic sul menu Vertical Ellipsis kebab e quindi selezionare Modifica. In alternativa, selezionare Elimina per revocare tutti i ruoli per l'entità.
  9. Fare clic su Modifica.
  10. Fare clic sulla 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'entità servizio usando l'interfaccia della riga di comando di Databricks

L'API Accounts Controllo di accesso usa un etag campo per garantire la coerenza. Per concedere o revocare i ruoli dell'entità servizio tramite l'API, eseguire prima un GET comando del set di regole e ricevere un in etag risposta. È quindi possibile applicare le modifiche in locale e infine rilasciare un PUT set di regole con .etag

Ad esempio, eseguire un GET set di regole nell'entità 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>

Sostituzione:

  • <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 l'entità servizio: ruolo 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>"
  }
}'

Sostituzione:

  • <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.

Elencare le entità servizio che è possibile usare

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

Per elencare le entità servizio su cui si dispone del ruolo utente dell'entità servizio, eseguire il comando seguente:

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

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