Condividi tramite


Ruoli per la gestione delle entità del servizio

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

Un'entità servizio è un'identità creata in Azure Databricks da usare con strumenti, processi e applicazioni automatizzati. Le entità servizio offrono agli strumenti e agli script automatizzati l'accesso solo api alle risorse Azure Databricks, offrendo maggiore sicurezza rispetto all'uso di utenti o gruppi.

È possibile concedere agli utenti di Azure Databricks, alle entità servizio e ai gruppi di account l'accesso per utilizzare un'entità servizio. In questo modo gli utenti possono eseguire processi con l'entità del servizio, invece che con la propria identità. Ciò impedisce che i processi falliscano nel caso in cui un utente lasci l'organizzazione o un gruppo venga modificato.

Per una panoramica delle entità servizio, vedere Entità servizio.

Ruoli del principale del servizio

I ruoli del principal di 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.

  • Gestore dei Principali del Servizio consente di gestire i ruoli su un'entità servizio. Il creatore di un'entità servizio ha il ruolo di Gestore dell'entità servizio sull'entità servizio. Gli amministratori dell'account hanno il ruolo di Manager del Principale del Servizio su tutte le entità di 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 Responsabile dell'entità servizio di default. Se hai bisogno di essere un manager, chiedi a un amministratore dell'account di concederti il ruolo di Manager del Principale del Servizio .

  • Utente del Principal di Servizio consente agli utenti dell'area di lavoro di eseguire processi come principal di servizio. Il lavoro verrà eseguito con l'identità del principal del servizio, anziché l'identità del proprietario del lavoro.

Gli utenti con il ruolo Responsabile entità servizio non ereditano il ruolo Utente 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 di entità servizio di Azure Databricks non si sovrappongono ai ruoli di Azure o ai ruoli di Microsoft Entra ID. Questi ruoli si estendono solo sull'account Azure Databricks.

Gestire i ruoli del principale del servizio utilizzando la console dell'account

Gli amministratori dell'account possono gestire i ruoli dei principali del servizio tramite la console dell'account.

Visualizzare i ruoli su un principale del servizio

  1. Come amministratore dell'account, accedere alla console dell'account.
  2. Nella barra laterale, fare clic su Gestione utenti.
  3. Nella scheda Entità del 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à del 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 Responsabile entità servizio non ereditano il ruolo Utente entità servizio. Se si vuole che l'utente utilizzi il principal di servizio per eseguire i processi, sarà necessario assegnare esplicitamente il ruolo Service Principal User.

  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à del servizio, trovare e fare clic sul nome.
  4. Fare clic sulla scheda Permessi.
  5. Cerca l'utente, l'entità servizio o il gruppo per modificare i loro ruoli.
  6. Nella riga principale fare clic sull'icona del menu Kebab e quindi selezionare Kebab menu icon.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 del principale del servizio utilizzando la pagina delle impostazioni dell'amministrazione dell'area di lavoro

Gli amministratori dell'area di lavoro possono gestire i ruoli delle entità servizio per le entità servizio su cui hanno il ruolo Responsabile delle entità servizio utilizzando la pagina delle impostazioni di amministrazione.

Visualizzare i ruoli su un principale del servizio

  1. Come amministratore dell'area di lavoro, accedere all'area di lavoro Azure Databricks.
  2. Fare clic sul nome utente nella barra superiore dell'area di lavoro 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 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

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 Azure Databricks.

  2. Fare clic sul nome utente nella barra superiore dell'area di lavoro 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 Concedere l'accesso.

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

    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 Responsabile entità servizio non ereditano il ruolo Utente entità servizio. Se si vuole che l'utente utilizzi il principal di servizio per eseguire i processi, sarà necessario assegnare esplicitamente il ruolo Service Principal User.

  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 Azure Databricks.
  2. Fare clic sul nome utente nella barra superiore dell'area di lavoro 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. Cerca l'utente, l'entità servizio o il gruppo per modificare i loro ruoli.
  8. Nella riga principale fare clic sull'icona del menu Kebab e quindi selezionare Kebab menu icon.Modifica. In alternativa, selezionare Elimina per revocare tutti i ruoli per il soggetto.
  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 su un'entità servizio, è necessario avere il ruolo di Gestione dei Principali del 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 l'interfaccia della riga di comando di Databricks.

È anche possibile gestire i ruoli dell'entità servizio usando Accounts Access Control API. L'API Account Access Control è supportata tramite l'account e le aree di lavoro 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 di Responsabile principale del servizio che non sono amministratori di account chiamano l'API nell'ambito del dominio dell'area di lavoro ().

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

L'API account Access Control e l'interfaccia della riga di comando usano un campo etag 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 dell'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 dell'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 .