Rôles pour la gestion des principaux de service

Cet article explique comment gérer les rôles sur les principaux de service dans votre compte Azure Databricks.

Un principal de service est une identité que vous créez dans Azure Databricks pour être utilisée avec des outils, des travaux et des applications automatisés. Les principaux de service fournissent aux outils et aux scripts automatisés un accès d’API uniquement aux ressources Azure Databricks, offrant une plus grande sécurité que l’utilisation d’utilisateurs ou de groupes.

Vous pouvez accorder aux utilisateurs d'Azure Databricks, aux mandants de service et aux groupes de comptes l'accès à l'utilisation d'un mandant de service. Cela permet aux utilisateurs d’exécuter des travaux en tant que principal de service plutôt qu’en tant qu’identité. Cela empêche l’échec des travaux si un utilisateur quitte votre organisation ou si un groupe est modifié.

Pour obtenir une vue d’ensemble des principaux de service, consultez Gérer les principaux de service.

Rôles du principal du service

Les rôles de principal de service sont des rôles au niveau du compte. Cela signifie qu’ils ne doivent être définis qu’une seule fois, dans votre compte et appliqués à tous les espaces de travail. Il existe deux rôles que vous pouvez accorder sur un principal de service : Gestionnaire du principal de service et Utilisateur principal de service.

  • Gestionnaire du principal de service vous permet de gérer les rôles sur un principal de service. Le créateur d’un principal de service a le rôle de Gestionnaire principal de service sur le principal de service. Les administrateurs de compte ont le rôle de Gestionnaire principal de service pour tous les principaux de service d’un compte.

Remarque

Si un service principal a été créé avant le 13 juin 2023, le créateur du service principal ne dispose pas par défaut du rôle de Gestionnaire principal de service. Si vous devez être un gestionnaire, demandez à un administrateur de compte de vous accorder le rôle de Gestionnaire principal de service.

  • Utilisateur du principal de service permet aux utilisateurs de l’espace de travail d’exécuter des tâches en tant que principal de service. La tâche sera exécutée avec l’identité du principal du service, au lieu de l’identité du propriétaire de la tâche.

Les utilisateurs disposant du rôle Gestionnaire principal de service n’héritent pas du rôle Utilisateur du principal de service. Si vous souhaitez utiliser le principal de service pour exécuter des travaux, vous devez vous attribuer explicitement le rôle d’utilisateur principal du service, même après avoir créé le principal de service.

Remarque

Les rôles de principal de service Azure Databricks ne se chevauchent pas avec les rôles Azure ou Microsoft Entra ID (anciennement Azure Active Directory). Ces rôles s’étendent uniquement sur le compte Azure Databricks.

Gérer les rôles de principal de service à l’aide de la console de compte

Les administrateurs de comptes peuvent gérer les rôles des principaux services à l'aide de la console de comptes.

Afficher les rôles sur un principal de service

  1. En tant qu’administrateur de compte, connectez-vous à la console de compte.
  2. Dans la barre latérale, cliquez sur Gestion des utilisateurs.
  3. Sous l’onglet Principaux de service, recherchez et cliquez sur le nom.
  4. Cliquez sur l'onglet Permissions .

Vous pouvez voir la liste des principaux et les rôles qui leur sont accordés sur le principal de service. Vous pouvez également utiliser la barre de recherche pour rechercher un principal ou un rôle spécifique.

Accorder des rôles sur un principal de service

  1. En tant qu’administrateur de compte, connectez-vous à la console de compte.

  2. Dans la barre latérale, cliquez sur Gestion des utilisateurs.

  3. Sous l’onglet Principaux de service, recherchez et cliquez sur le nom.

  4. Cliquez sur l'onglet Permissions .

  5. Cliquez sur Accorder l’accès.

  6. Recherchez et sélectionnez l’utilisateur, le principal de service ou le groupe, puis choisissez le ou les rôles (Principal du service : Gestionnaire ou Principal du service : Utilisateur) à attribuer.

    Remarque

    Les utilisateurs disposant du rôle Gestionnaire principal de service n’héritent pas du rôle Utilisateur du principal de service. Si vous souhaitez que l’utilisateur puisse utiliser le principal de service pour exécuter des tâches, vous devez lui attribuer explicitement le rôle Utilisateur du principal de service.

  7. Cliquez sur Enregistrer.

Révoquer des rôles sur un principal de service

  1. En tant qu’administrateur de compte, connectez-vous à la console de compte.
  2. Dans la barre latérale, cliquez sur Gestion des utilisateurs.
  3. Sous l’onglet Principaux de service, recherchez et cliquez sur le nom.
  4. Cliquez sur l'onglet Permissions .
  5. Recherchez l’utilisateur, le principal de service ou le groupe pour modifier leurs rôles.
  6. Sur la ligne contenant le directeur, cliquez sur le menu kebab Ellipse verticale, puis sélectionnez Modifier. Vous pouvez également sélectionner Supprimer pour révoquer tous les rôles du principal.
  7. Cliquez sur Modifier.
  8. Cliquez sur le X en regard des rôles que vous souhaitez révoquer.
  9. Cliquez sur Enregistrer.

Gérer les rôles du principal de service à l'aide de la page des paramètres d'administration de l'espace de travail

Les administrateurs d’espace de travail peuvent gérer les rôles des principaux de service pour les principaux de service sur lesquels ils ont le rôle Gestionnaire principal de service à l’aide de la page des paramètres d’administration.

Afficher les rôles sur un principal de service

  1. En tant qu’administrateur d’espace de travail, connectez-vous à l’espace de travail Azure Databricks.
  2. Cliquez sur votre nom d’utilisateur dans la barre supérieure de l’espace de travail Azure Databricks, puis sélectionnez Paramètres.
  3. Cliquez sur l’onglet Identité et accès.
  4. Près de Principaux de service, cliquez sur Gérer.
  5. Recherchez le nom et cliquez dessus.
  6. Cliquez sur l'onglet Permissions .

Vous pouvez voir la liste des principaux et les rôles qui leur sont accordés sur le principal de service. Vous pouvez également utiliser la barre de recherche pour rechercher un principal ou un rôle spécifique.

Accorder des rôles sur un principal de service

Vous devez disposer du rôle Gestionnaire du principal de service sur un principal de service pour accorder des rôles.

  1. En tant qu’administrateur d’espace de travail, connectez-vous à l’espace de travail Azure Databricks.

  2. Cliquez sur votre nom d’utilisateur dans la barre supérieure de l’espace de travail Azure Databricks, puis sélectionnez Paramètres.

  3. Cliquez sur l’onglet Identité et accès.

  4. Près de Principaux de service, cliquez sur Gérer.

  5. Recherchez le nom et cliquez dessus.

  6. Cliquez sur l'onglet Permissions .

  7. Cliquez sur Accorder l’accès.

  8. Recherchez et sélectionnez l’utilisateur, le principal de service ou le groupe, puis choisissez le ou les rôles (Principal du service : Gestionnaire ou Principal du service : Utilisateur) à attribuer.

    Remarque

    Les rôles peuvent être accordés à n’importe quel utilisateur, principal de service ou groupe au niveau du compte, même s’ils ne sont pas membres de l’espace de travail. Les rôles ne peuvent pas être accordés aux groupes locaux de l’espace de travail.

    Les utilisateurs disposant du rôle Gestionnaire principal de service n’héritent pas du rôle Utilisateur du principal de service. Si vous souhaitez que l’utilisateur puisse utiliser le principal de service pour exécuter des tâches, vous devez lui attribuer explicitement le rôle Utilisateur du principal de service.

  9. Cliquez sur Enregistrer.

Révoquer des rôles sur un principal de service

Vous devez disposer du rôle Gestionnaire du principal de service sur un principal de service pour accorder des rôles.

  1. En tant qu’administrateur d’espace de travail, connectez-vous à l’espace de travail Azure Databricks.
  2. Cliquez sur votre nom d’utilisateur dans la barre supérieure de l’espace de travail Azure Databricks, puis sélectionnez Paramètres.
  3. Cliquez sur l’onglet Identité et accès.
  4. Près de Principaux de service, cliquez sur Gérer.
  5. Recherchez le nom et cliquez dessus.
  6. Cliquez sur l'onglet Permissions .
  7. Recherchez l’utilisateur, le principal de service ou le groupe pour modifier leurs rôles.
  8. Sur la ligne contenant le directeur, cliquez sur le menu kebab Ellipse verticale, puis sélectionnez Modifier. Vous pouvez également sélectionner Supprimer pour révoquer tous les rôles du principal.
  9. Cliquez sur Modifier.
  10. Cliquez sur le X en regard des rôles que vous souhaitez révoquer.
  11. Cliquez sur Enregistrer.

Gérer les rôles de principaux de service en utilisant l’interface CLI Databricks

Vous devez disposer du rôle Gestionnaire de principal de service pour gérer les rôles sur un principal de service. Vous pouvez utiliser l’interface CLI Databricks pour gérer les rôles. Pour plus d’informations sur l’installation et l’authentification auprès de l’interface CLI Databricks, consultez Qu’est-ce que l’interface CLI Databricks ?.

Vous pouvez aussi gérer les rôles de principal de service en utilisant l’API Comptes Access Control. L'API de contrôle d'accès aux comptes est prise en charge par le compte et les espaces de travail Azure Databricks.

Les administrateurs de compte appellent l’API sur accounts.azuredatabricks.net ({account-domain}/api/2.0/preview/accounts/{account_id}/access-control).

Les utilisateurs qui disposent du rôle Gestionnaire principal de service et qui ne sont pas des administrateurs de compte appellent l’API sur le domaine de l’espace de travail ({workspace-domain}/api/2.0/preview/accounts/access-control/).

Accorder des rôles sur un principal de service en utilisant l’interface CLI Databricks

L’API Comptes Access Control utilise un champ etag pour garantir la cohérence. Pour accorder ou révoquer des rôles de principal de service via l’API, commencez par émettre une commande d’ensemble GET de règles et recevez un etag en réponse. Vous pouvez ensuite appliquer des modifications localement, puis émettre un PUT ensemble de règles avec etag.

Par exemple, émettez un GET ensemble de règles sur le principal de service auquel vous souhaitez accorder l’accès en exécutant la commande suivante :

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

Remplacez :

  • <account-id> avec l’ID de compte.
  • <application-id> avec l’ID d’application du principal de service.
  • <etag> avec ""

Exemple de réponse :

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

Copiez le champ etag du corps de la réponse pour une utilisation ultérieure.

Ensuite, vous pouvez effectuer des mises à jour localement lorsque vous décidez de l’état final des règles, puis mettre à jour l’ensemble de règles à l’aide de l’etag. Pour accorder le rôle Principal du service : Utilisateur à l’utilisateur user2@example.com, exécutez la commande suivante :

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>"
  }
}'

Remplacez :

  • <account-id> avec l’ID de compte.
  • <application-id> avec l’ID d’application du principal de service.
  • <etag> avec l’etag que vous avez copié à partir de la dernière réponse.

Exemple de réponse :

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

Important

Étant donné qu’il s’agit d’une méthode PUT, tous les rôles existants sont remplacés. Pour conserver les rôles existants, vous devez les ajouter au tableau grant_roles.

Répertorier les principaux de service que vous pouvez utiliser

À l’aide de l’API Principaux de service de l’espace de travail, vous pouvez répertorier les principaux de service sur lesquels vous avez le rôle d’utilisateur en filtrant sur servicePrincipal/use.

Pour répertorier les principaux de service sur lesquels vous avez le rôle Utilisateur principal de service, exécutez la commande suivante :

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

Vous pouvez également répertorier les principaux de service en utilisant l’API Principaux de service d’espace de travail.