Gérer les identifiants de service
Cet article décrit comment lister, afficher, mettre à jour, accorder des autorisations sur et supprimer les informations d'identification de service, qui sont des objets sécurisables d'Unity Catalog vous permettant de gouverner l'accès aux services cloud externes.
Voir aussi :
- Pour une introduction et pour apprendre à créer des identifiants de service : Créer des identifiants de service
- Pour savoir comment référencer les identifiants de service dans votre code et spécifier un identifiant de service default pour une ressource de compute : Utiliser les identifiants de service Unity Catalog pour se connecter à des services cloud externes.
Avant de commencer
Pour effectuer les tâches décrites dans cet article, vous devez satisfaire aux exigences suivantes :
-
Un Workspace Databricks activé pour Unity Catalog.
-
Pour lister ou afficher un identifiant de service, vous devez disposer d'un des privilèges ou rôles suivants :
BROWSEprivilège sur le catalogue parentCREATE SERVICE CREDENTIALsur le métastoreACCESSsur l’identifiant de service- Propriétaire de l’identifiant de service
- Administrateur de metastore
-
Pour effectuer l'une des autres tâches mentionnées dans cet article, vous devez être le propriétaire des identifiants de service ou un administrateur du metastore.
-
Si vous utilisez des commandes SQL pour lister, visualiser ou mettre à jour les informations d'identification de service, vous avez besoin de compute sur Databricks Runtime 15,4 LTS ou version ultérieure. Il n'y a aucune exigence de version de Databricks Runtime si vous utilisez l'Explorateur de catalogues ou l'API REST.
Lister les identifiants de service
Pour afficher la liste de toutes les informations d'identification de service dans un metastore, vous pouvez utiliser l'Explorateur de catalogues ou une commande SQL.
- Catalog Explorer
- SQL
- Dans la barre latérale, cliquez sur
Catalogue .
- Cliquez sur le bouton Données externes > et accédez à l'onglet tab .
- Triez les identifiants par Objectif (STOCKAGE ou SERVICE).
Exécutez la commande suivante dans un Notebook.
SHOW SERVICE CREDENTIALS;
Afficher un identifiant de service
Pour afficher les propriétés d'une information d'identification de service, vous pouvez utiliser l'Explorateur de catalogues ou une commande SQL.
- Catalog Explorer
- SQL
- Dans la barre latérale, cliquez sur
Catalogue .
- Cliquez sur le bouton Données externes > et accédez à l'onglet tab .
- Cliquez sur le nom d'un identifiant de service pour en afficher les propriétés.
Exécuter la commande suivante dans un notebook. Remplacez <credential-name> par le nom de l'identifiant.
DESCRIBE SERVICE CREDENTIAL <credential-name>;
Afficher les octrois sur un identifiant de service
Pour afficher les autorisations sur un identifiant de service, utilisez une commande similaire à la suivante. Vous pouvez éventuellement filtrer les résultats pour n'afficher que les octrois pour le principal spécifié.
SHOW GRANTS [<principal>] ON SERVICE CREDENTIAL <service-credential-name>;
Remplacez les valeurs des espaces réservés :
<principal>: L'adresse e-mail de l'utilisateur au niveau du compte ou le nom du groupe au niveau du compte auquel l'autorisation a été accordée.<service-credential-name>: Le nom d'un identifiant de service.
Si un groupe ou un nom d'utilisateur contient un espace ou un symbole @, utilisez des apostrophes inversées autour de celui-ci (pas d'apostrophes). Par exemple équipe financière.
Accorder des autorisations pour utiliser une information d'identification de service afin d'accéder à un service cloud externe
Pour accorder l'autorisation d'utiliser un identifiant de service afin d'accéder à un service cloud externe, veuillez suivre les étapes suivantes. Vous pouvez utiliser l'Explorateur de catalogues ou les commandes SQL :
- Catalog Explorer
- SQL
-
Dans la barre latérale, cliquez sur
Catalogue .
-
Cliquez sur le bouton Données externes > et accédez à l'onglet tab .
-
Cliquez sur le nom d'un identifiant de service pour ouvrir la page des détails.
-
Cliquez sur Autorisations .
-
Pour accorder l'autorisation aux utilisateurs ou aux groupes, sélectionnez chaque identité, puis cliquez sur Accorder .
- Sélectionnez **ACCÈS** pour accorder la possibilité d'utiliser l'identifiant de service afin d'accéder à un ou plusieurs services cloud externes.
- Sélectionnez **CREATE CONNECTION** pour permettre la création d'une connexion Lakehouse Federation dans Unity Catalog à l'aide de ce justificatif de service. Consultez Gérer les connexions pour Lakehouse Federation.
-
Pour révoquer les autorisations des utilisateurs ou des groupes, sélectionnez chaque identité, puis cliquez sur **Révoquer**.
Pour accorder l'accès, exécutez l'une des commandes suivantes dans un notebook, en remplaçant les valeurs d'espace réservé :
<principal>: L'adresse e-mail de l'utilisateur au niveau du compte ou le nom du groupe au niveau du compte à qui accorder l'autorisation.<service-credential-name>: Le nom d'un identifiant de service.
Si un groupe ou un nom d’utilisateur contient un espace, un tiret (-) ou un symbole @, utilisez des apostrophes inversées (plutôt que des apostrophes). Par exemple, `finance team`.
GRANT ACCESS ON SERVICE CREDENTIAL <service-credential-name> TO <principal>;
Si vous souhaitez accorder la possibilité de créer une connexion Lakehouse Federation dans Unity Catalog à l'aide de cet identifiant de service, utilisez ce qui suit :
GRANT CREATE CONNECTION ON SERVICE CREDENTIAL <service-credential-name> TO <principal>;
Pour révoquer l'accès, remplacez GRANT par REVOKE dans ces exemples.
Changer le propriétaire d'un identifiant de service
Le créateur d'un identifiant de service est son propriétaire initial. Pour changer le propriétaire en un autre utilisateur ou groupe au niveau du compte, vous pouvez utiliser l'Explorateur de catalogues ou une commande SQL.
- Catalog Explorer
- SQL
- Dans la barre latérale, cliquez sur
Catalogue .
- Cliquez sur le bouton Données externes > et accédez à l'onglet tab .
- Cliquez sur le nom d'une information d'identification de service pour ouvrir la boîte de dialogue de modification.
- Cliquez sur
à côté de Propriétaire .
- Tapez pour rechercher un principal et sélectionnez-le.
- Cliquez sur Enregistrer .
Exécuter la commande suivante dans un notebook. Remplacez les valeurs d'espace réservé :
<credential-name>: Le nom de l'identifiant.<principal>: L'adresse e-mail d'un utilisateur au niveau du compte ou le nom d'un groupe au niveau du compte.
ALTER SERVICE CREDENTIAL <credential-name> OWNER TO <principal>;
Renommer un identifiant de service
Pour renommer un identifiant de service, vous pouvez utiliser l'Explorateur de catalogues ou une commande SQL.
- Catalog Explorer
- SQL
- Dans la barre latérale, cliquez sur
Catalogue .
- Cliquez sur le bouton Données externes > et accédez à l'onglet tab .
- Cliquez sur le nom d'une information d'identification de service pour ouvrir la boîte de dialogue de modification.
- Renommez l'identifiant de service et enregistrez-le.
Exécuter la commande suivante dans un notebook. Remplacez les valeurs d'espace réservé :
<credential-name>: Le nom de l'identifiant.<new-credential-name>: Un nouveau nom pour l'identifiant.
ALTER SERVICE CREDENTIAL <credential-name> RENAME TO <new-credential-name>;
Supprimer un identifiant de service
Pour supprimer (drop) un identifiant de service, vous devez en être le propriétaire. Pour supprimer un identifiant de service, vous pouvez utiliser l'Explorateur de catalogues ou une commande SQL.
- Catalog Explorer
- SQL
- Dans la barre latérale, cliquez sur
Catalogue .
- Cliquez sur le bouton Données externes > et accédez à l'onglet tab .
- Cliquez sur le nom d'une information d'identification de service pour ouvrir la boîte de dialogue de modification.
- Cliquez sur le bouton Supprimer .
Exécuter la commande suivante dans un notebook. Remplacez <credential-name> par le nom de l'identifiant. Les parties de la commande qui sont entre crochets sont facultatives.
IF EXISTS ne renvoie pas d'erreur si l'identifiant n'existe pas.
DROP SERVICE CREDENTIAL [IF EXISTS] <credential-name>;