Créer des identifiants de service
Cet article décrit comment créer un objet d'informations d'identification de service dans Unity Catalog qui vous permet de gérer l'accès de Databricks aux services cloud externes. Un identifiant de service dans Unity Catalog encapsule un identifiant cloud à long terme qui accorde l'accès à de tels services.
Les identifiants de service ne sont pas destinés à régir l'accès au stockage cloud utilisé comme emplacement de stockage géré de Unity Catalog ou comme emplacement de stockage externe. Pour ces cas d'utilisation, utilisez un identifiant de stockage. Consultez Connectez-vous au stockage d'objets cloud à l'aide de Unity Catalog.
Pour créer un identifiant de service pour l'accès aux services Google Cloud :
- Vous créez l'objet d'informations d'identification de service dans Databricks.
- Databricks génère un compte de service Google Cloud.
- Dans Google Cloud, vous accordez à ce compte de service les rôles GCP requis pour accéder au service.
Avant de commencer
Avant de créer un identifiant de service, vous devez satisfaire aux exigences suivantes :
Dans Databricks :
- Workspace Databricks activé pour Unity Catalog.
CREATE SERVICE CREDENTIALprivilège sur le métastore Unity Catalog attaché au Workspace. Les administrateurs de compte et les administrateurs de métastore disposent de ce privilège par default. Si votre workspace a été activé automatiquement pour Unity Catalog, les administrateurs du workspace bénéficient également de ce privilège.
Dans votre compte Google Cloud :
- Un service Google Cloud dans la même région que les Workspace depuis lesquels vous souhaitez accéder aux données.
- Autorisation de modifier la politique d'accès pour ce service.
Générez un compte de service Google Cloud à l'aide de l'Explorateur de catalogues
-
Connectez-vous à votre Workspace Databricks activé pour Unity Catalog en tant qu'utilisateur disposant du privilège
CREATE SERVICE CREDENTIALsur le metastore.Les rôles d'administrateur de métastore et d'administrateur de compte incluent tous deux ce privilège.
-
Dans la barre latérale, cliquez sur
Catalogue .
-
Cliquez sur le bouton **Données externes >**, accédez à l'onglet **tab**, puis sélectionnez **Créer un identifiant**.
-
Sélectionnez **Identifiant de service**.
-
Entrez un Nom d'identifiant et un commentaire facultatif.
-
Cliquez sur Créer .
Databricks crée l'identifiant de service et génère un compte de service Google Cloud.
-
Dans la boîte de dialogue Identifiant de service créé , notez l'ID du compte de service, qui se présente sous la forme d'une adresse e-mail, et cliquez sur Terminé .
-
(Facultatif) Liez les informations d'identification de stockage à des Workspace spécifiques.
Par default, tout utilisateur privilégié peut utiliser les informations d'identification de stockage sur tout workspace attaché au métastore. Si vous souhaitez autoriser l’accès uniquement à partir de workspaces spécifiques, accédez à l’onglet tab et attribuez des workspaces. Consultez (Facultatif) Attribuer un identifiant de service à des Workspace spécifiques.
Accordez au compte de service l'accès au service Google Cloud
-
Accédez à la console Google Cloud et ouvrez le service auquel vous souhaitez accéder depuis votre Databricks Workspace.
-
Dans les paramètres d'autorisation du service, attribuez au compte de service généré par Databricks les rôles nécessaires pour accéder au service.
Ces rôles dépendent du service. Pour obtenir des conseils, consultez la documentation de votre service Google Cloud.
Utilisez l'adresse e-mail du compte de service comme identifiant principal.
(Facultatif) Attribuez une authentification de service à des workspaces spécifiques.
Par default, un identifiant de service est accessible depuis tous les workspaces du métastore. Cela signifie que si un utilisateur s'est vu accorder un privilège sur cet identifiant de service, il peut exercer ce privilège à partir de n'importe quel workspace attaché au métastore. Si vous utilisez des Workspaces pour isoler l'accès aux données des utilisateurs, vous pouvez vouloir autoriser l'accès à un identifiant de service uniquement à partir de Workspaces spécifiques. Cette fonctionnalité est appelée liaison du workspace ou isolation des identifiants de service.
Un cas d'utilisation typique pour lier un identifiant de service à des workspaces spécifiques est le scénario dans lequel un administrateur cloud configure un identifiant de service à l'aide d'un identifiant de compte cloud de production, et que vous souhaitez vous assurer que les utilisateurs Databricks utilisent cet identifiant pour accéder à un service cloud externe uniquement dans le workspace de production.
Pour plus d'informations sur la liaison de workspace, consultez Attribuer des informations d'identification de stockage à des workspaces spécifiques et Liaison workspace-catalogue.
Associez un identifiant de service à un ou plusieurs workspaces
Pour attribuer une information d'identification de service à des Workspaces spécifiques, utilisez l'Explorateur de catalogues.
Autorisations requises : administrateur du métastore ou propriétaire des identifiants de service.
Les administrateurs du metastore peuvent voir toutes les informations d'identification de service dans un metastore à l'aide de l'Explorateur de catalogues — et les propriétaires d'informations d'identification de service peuvent voir toutes les informations d'identification de service qu'ils possèdent dans un metastore — que ces informations d'identification de service soient ou non attribuées au Workspace actuel. Les informations d'identification du service qui ne sont pas attribuées au Workspace apparaissent grisées.
-
Connectez-vous à un Workspace lié au métastore.
-
Dans la barre latérale, cliquez sur
Catalogue .
-
Cliquez sur le bouton Données externes > et accédez à l'onglet tab .
-
Sélectionnez l'identifiant de service et accédez à l'onglet **tab**.
-
Dans l’onglet **tab**, décochez la case **Tous les Workspaces ont accès**.
Si votre identifiant de service est déjà lié à un ou plusieurs Workspaces, cette case est déjà décochée.
-
Cliquez sur Assigner aux workspaces et saisissez ou recherchez les workspaces que vous souhaitez assigner.
Pour révoquer l'accès, accédez à l'onglet Workspaces , sélectionnez le Workspace et cliquez sur Révoquer . Pour autoriser l'accès depuis tous les Workspaces, cochez la case Tous les Workspaces ont accès .
Étapes suivantes
- Découvrez comment afficher, mettre à jour, supprimer et accorder à d'autres utilisateurs l'autorisation d'utiliser les informations d'identification du service. Consulter Gérer les identifiants de service.
- Découvrez comment utiliser les identifiants de service dans le code. Consultez Utilisation des identifiants de service Unity Catalog pour se connecter aux services cloud externes.
Limitations
Les limitations suivantes s'appliquent :
- Les versions 16.1 et antérieures de Databricks Runtime ne prennent en charge que Python.
- Les SQL Warehouse prennent en charge les informations d’identification de service uniquement pour les UDF Python de Unity Catalog batch.
- Certains événements d'audit pour les actions effectuées sur les identifiants de service n'apparaîtront pas dans la table
system.access.audit. Les informations d'audit concernant la création, la suppression, la mise à jour, la lecture, la consultation ou l'utilisation d'un identifiant de service seront disponibles. Consultez référence de la table système des Audit Logs. - Pendant l'aperçu des informations d'identification de service,
INFORMATION_SCHEMA.STORAGE_CREDENTIALS(obsolète) affichait à la fois les informations d'identification de stockage et les informations d'identification de service, etINFORMATION_SCHEMA.STORAGE_CREDENTIAL_PRIVILEGES(obsolète) affichait les privilèges qui s'appliquaient à la fois aux informations d'identification de stockage et aux informations d'identification de service. Ce n'est plus le cas. Vous devez plutôt utiliserINFORMATION_SCHEMA.CREDENTIALSetINFORMATION_SCHEMA.CREDENTIAL_PRIVILEGESpour les identifiants de stockage et de service.