Configurer et utiliser l'authentification Google Cloud ID
Suivez ces étapes pour authentifier les comptes de service Google Cloud afin d’automatiser vos comptes et Workspace Databricks.
Si vous apportez votre propre fournisseur d'identité pour configurer le Single Sign On à Databricks, vous ne pouvez pas vous authentifier avec des jetons d'identité Google.
Les comptes de service Google Cloud sont un type spécial de compte Google Cloud généralement utilisé par une application, plutôt que par une personne. Un compte de service est identifié par son adresse e-mail, qui est unique au compte. Consultez la Présentation des comptes de service.
Les comptes de service Google Cloud sont différents des Service Principal Databricks. Le choix d'utiliser un compte de service Google Cloud ou un Service Principal Databricks pourrait dépendre des préférences ou des politiques de sécurité de votre organisation. Pour savoir comment utiliser les Service Principals Databricks pour l'authentification Databricks au lieu des comptes de service Google Cloud, consultez la section Service Principals.
Databricks propose deux approches pour authentifier les comptes de service Google Cloud avec Databricks :
- Authentification Google Cloud ID, qui utilise l'adresse e-mail d'un compte de service Google Cloud pour l'authentification. Cette page décrit comment utiliser l'adresse e-mail d'un compte de service Google Cloud pour l'authentification. Voir aussi l'authentification Google Cloud ID.
- Authentification des identifiants Google Cloud, qui utilise des paires de clés gérées par Google pour l'authentification. Pour plus d'informations, consultez Configurer et utiliser l'authentification des identifiants Google Cloud. Consultez également Identifiants de compte de service et S'authentifier avec les identifiants Google Cloud.
Cette page explique comment configurer et utiliser l'authentification Google Cloud ID, comme suit :
- Créez un compte de service Google Cloud.
- Assignez votre compte de service Google Cloud à votre compte Databricks et à un workspace Databricks dans ce compte.
- Installez l'interface de ligne de commande Google Cloud (Google Cloud CLI), puis autorisez la Google Cloud CLI à utiliser votre connexion pour usurper l'identité du compte de service Google Cloud.
- Installez la CLI Databricks sur votre machine de développement locale, puis configurez la CLI Databricks pour l'authentification Google Cloud ID.
- Exécutez des commandes avec le CLI Databricks pour automatiser votre compte et Workspace Databricks à l’aide de l’authentification Google Cloud ID, ou des deux.
Exigences
- Pour créer un compte de service Google Cloud, vous devez disposer du rôle IAM de création de comptes de service pour votre projet Google. Voir Rôles requis.
- Pour attribuer un compte de service Google Cloud à votre compte Databricks, vous devez être administrateur de ce compte. Voir Attribuer des rôles d'administrateur de compte à un utilisateur.
- Pour affecter un compte de service Google Cloud à votre Workspace Databricks, vous devez être administrateur de ce Workspace. Voir Attribuer le rôle d'administrateur du Workspace à un utilisateur.
Étape 1 : Créez un compte de service Google Cloud
À cette étape, vous créez un compte de service Google Cloud pour votre projet Google cible dans la console Google Cloud.
-
Connectez-vous à la console Google Cloud.
-
Si vous avez accès à plusieurs projets, passez au projet cible. Pour ce faire, dans la barre de navigation supérieure, à côté du logo Google Cloud, cliquez sur le sélecteur de projet. Puis sélectionnez le nom du projet dans la liste.
-
Dans Recherche (/) de Ressources, documents, produits et plus encore , recherchez et sélectionnez Comptes de service .
-
Cliquez sur + Créer un compte de service .
-
Dans la section Détails du compte de service , pour Nom du compte de service , saisissez un nom unique pour le compte de service, facile à retenir pour vous.
-
Notez l'**adresse e-mail** figurant sous la zone **ID du compte de service**, car vous en aurez besoin aux étapes 2, 3, 4, 5 et 7. Cela ressemblera à ce qui suit :
<your-service-account-name>@<your-project-name>.iam.gserviceaccount.com -
Facultativement, pour la **description du compte de service**, saisissez une description pertinente du compte de service.
-
Cliquez sur **Créer et continuer**.
-
Cliquez sur **OK**.
Étape 2 : Attribuez votre compte de service Google Cloud à votre compte Databricks.
Dans cette étape, vous accordez à votre compte de service Google Cloud l’accès à votre compte Databricks. Si vous ne souhaitez pas donner l'accès de votre compte de service à votre compte Databricks, passez à l'étape 3.
-
Dans votre workspace Databricks, cliquez sur votre nom d'utilisateur dans la barre supérieure et cliquez sur **Gérer le compte**.
Vous pouvez également accéder directement à la console de votre compte Databricks, à l'adresse https://accounts.gcp.databricks.com.
-
Connectez-vous à votre compte Databricks, si vous y êtes invité.
-
Dans la barre latérale, cliquez sur Gestion des utilisateurs .
-
Cliquez sur l'onglet **Users tab**.
Bien que cet tab soit intitulé Utilisateurs , il fonctionne également avec les comptes de service. Databricks traite les comptes de service comme des utilisateurs dans votre compte Databricks.
-
Cliquez sur **Ajouter un utilisateur**.
-
Pour e-mail , saisissez l' adresse e-mail que vous avez copiée à l'étape 1 pour votre compte de service.
-
Pour Prénom et Nom de famille , saisissez un texte significatif pour vous aider à rechercher le compte de service plus tard. Par exemple, pour Prénom , vous pouvez saisir le Nom du compte de service de l'Étape 1. Pour **Nom de famille**, vous pouvez saisir **Compte de service Google Cloud**.
-
Cliquez sur Ajouter un utilisateur . Databricks ajoute le compte de service en tant qu'utilisateur à votre compte Databricks.
-
Attribuez toutes les autorisations au niveau du compte que vous souhaitez que l'utilisateur ait :
- Sur le Users tab , cliquez sur le nom de l’utilisateur. Si le nom d'utilisateur n'est pas visible, utilisez Filtrer les utilisateurs pour le trouver.
- Dans l'onglet Rôles , activez ou désactivez chaque rôle cible que vous souhaitez attribuer à cet utilisateur. Consultez Attribuer des rôles d'administrateur de compte à un utilisateur.
Étape 3 : Attribuer votre compte de service Google Cloud à votre workspace Databricks
Dans cette étape, vous donnez à votre compte de service Google Cloud l'accès à votre workspace Databricks.
Si votre Workspace est activé pour la fédération d'identités:
-
Dans votre Workspace Databricks, cliquez sur votre nom d’utilisateur dans la barre supérieure et cliquez sur Settings .
-
Cliquez sur Utilisateurs .
Bien que cette tab soit étiquetée **Utilisateurs**, cette tab fonctionne aussi avec les comptes de service. Databricks considère les comptes de service comme des utilisateurs dans votre Workspace Databricks.
-
Cliquez sur **Ajouter un utilisateur**.
-
Sélectionnez l'utilisateur de l'Étape 2 et cliquez sur Ajouter . Le compte de service est ajouté en tant qu'utilisateur dans votre Workspace Databricks.
-
Attribuez les autorisations au niveau du workspace que vous souhaitez attribuer à l'utilisateur :
- Dans l'onglet Utilisateurs , cliquez sur le nom de l'utilisateur.
- Sous la tab **Droits**, sélectionnez ou désélectionnez pour accorder ou révoquer chaque statut cible ou droit que vous souhaitez attribuer à cet utilisateur. Pour plus d'informations, voir :
Passez à l'étape 4.
Si votre Workspace n'est pas activé pour la fédération d'identité :
-
Dans votre Workspace Databricks, cliquez sur votre nom d’utilisateur dans la barre supérieure et cliquez sur Settings .
-
Cliquez sur Utilisateurs .
Bien que cette tab soit étiquetée **Utilisateurs**, cette tab fonctionne aussi avec les comptes de service. Databricks considère les comptes de service comme des utilisateurs dans votre Workspace Databricks.
-
Cliquez sur Ajouter nouveau .
-
Pour Nouvel e-mail utilisateur , saisissez l' Adresse e-mail que vous avez copiée à l'étape 1 pour votre compte de service.
-
Cliquez sur **Ajouter**. Le compte de service est ajouté en tant qu'utilisateur dans votre Workspace Databricks.
-
Attribuez les autorisations au niveau du workspace que vous souhaitez attribuer à l'utilisateur :
- Dans l'onglet Utilisateurs , cliquez sur le nom de l'utilisateur.
- Sous la tab **Droits**, sélectionnez ou désélectionnez pour accorder ou révoquer chaque statut cible ou droit que vous souhaitez attribuer à cet utilisateur. Pour plus d'informations, voir :
Étape 4 : Installez Google Cloud CLI sur votre machine de développement locale
Installez la CLI de Google Cloud en suivant les instructions figurant dans Installer la CLI gcloud.
Étape 5 : usurper l'identité du compte de service Google Cloud
Dans cette étape, vous utilisez votre connexion Google Cloud pour automatiser Databricks via votre compte de service Google Cloud, en utilisant une technique appelée usurpation d'identité . Pour plus d'informations, consultez l'usurpation d'identité de compte de service.
Pour usurper l'identité du compte de service, vous devez accorder à votre utilisateur Google Cloud des autorisations pour usurper l'identité de comptes de service. Vous initiez ensuite l'usurpation d'identité via la CLI Google Cloud.
-
Donnez à votre utilisateur Google Cloud les autorisations pour emprunter l'identité de comptes de service : dans la console Google Cloud à laquelle vous vous êtes connecté à l'étape 1, dans Recherche (/) de ressources, documents, produits, etc. , recherchez et sélectionnez IAM .
-
Sous l'onglet Autorisations , dans l'onglet Afficher par principaux , cliquez sur Accorder l'accès .
-
Pour les nouveaux principaux , saisissez et sélectionnez votre nom d'utilisateur Google Cloud. (N'entrez pas le nom de votre compte de service Google Cloud ici.)
-
Cliquez sur Sélectionner un rôle , puis entrez et sélectionnez
Service Account Token Creator. -
Cliquez sur Ajouter un autre rôle .
-
Cliquez sur Sélectionner un rôle , puis entrez et sélectionnez
Service Account User. -
Cliquez sur **Créateur de jetons de compte de service**.
-
Cliquez sur Enregistrer .
-
Lancez l'emprunt d'identité : utilisez la CLI Google Cloud pour exécuter la commande suivante, en remplaçant
<your-service-account-name>@<your-project-name>.iam.gserviceaccount.compar l' adresse e-mail que vous avez copiée à l'Étape 1 pour votre compte de service.Bashgcloud auth login --impersonate-service-account=<your-service-account-name>@<your-project-name>.iam.gserviceaccount.com -
Dans votre navigateur web, connectez-vous avec votre compte utilisateur Google Cloud en suivant les instructions de connexion à l'écran.
Étape 6 : Installez l'interface CLI Databricks sur votre machine de développement locale
À cette étape, vous installez la CLI Databricks afin de pouvoir l’utiliser pour exécuter des commandes qui automatisent vos comptes et Workspace Databricks.
Vous pouvez également utiliser le fournisseur Terraform de Databricks ou le SDK Databricks pour Go, conjointement avec l'authentification Google Cloud ID, pour automatiser vos comptes et Workspaces Databricks en exécutant du code HCL ou Go. Voir le SDK Databricks pour Go et l'authentification Google Cloud ID.
- Installez la CLI Databricks:
- Linux, macOS
- Windows
Utilisez Homebrew pour installer la CLI Databricks en exécutant les commandes suivantes :
brew tap databricks/tap
brew trust databricks/tap
brew install databricks
La commande brew trust est requise à partir de Homebrew 6.0.0.
Vous pouvez utiliser winget, Chocolatey ou le sous-système Windows pour Linux (WSL) pour installer le CLI Databricks. Si vous ne pouvez pas utiliser winget, Chocolatey ou WSL, vous devez ignorer cette procédure et utiliser l'invite de commande ou PowerShell pour installer le CLI Databricks à partir de la source à la place.
Installing the Databricks CLI with Chocolatey is Experimental.
Pour utiliser winget afin d'installer le CLI Databricks, exécutez les deux commandes suivantes, puis redémarrez votre invite de commandes :
winget search databricks
winget install Databricks.DatabricksCLI
Pour utiliser Chocolatey afin d'installer le Databricks CLI, exécutez la commande suivante :
choco install databricks-cli
Pour utiliser WSL afin d’installer la CLI Databricks :
-
Installez
curletzipvia WSL. Pour plus d'informations, consultez la documentation de votre système d'exploitation. -
Utilisez WSL pour installer la CLI Databricks en exécutant la commande suivante :
Bashcurl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
-
Confirmez que le CLI Databricks est installé en exécutant la commande suivante, qui affiche la version actuelle du CLI Databricks installé. Cette version doit être 0,205,0 ou supérieure :
Bashdatabricks -v
Étape 7 : Configurez le CLI Databricks pour l'authentification avec Google Cloud ID
Dans cette étape, vous configurez le CLI Databricks pour utiliser l'authentification Google Cloud ID pour Databricks en utilisant le nom de votre compte de service Google Cloud. Pour ce faire, vous créez un fichier avec un nom de fichier default et dans un emplacement default où le Databricks CLI s’attend à trouver les paramètres d’authentification dont il a besoin.
-
Avec votre éditeur de texte préféré, créez un fichier local nommé
.databrickscfgdans le répertoire d'accueil de votre utilisateur, s'il n'existe pas déjà. Pour Linux et macOS, votre répertoire d'accueil utilisateur est~. Pour Windows, votre répertoire d'accueil utilisateur est%USERPROFILE%. -
Saisissez le contenu suivant dans le fichier
.databrickscfg. Dans ce contenu, remplacez les valeurs suivantes :- Remplacez
<account-console-url>par l'URL de la console de votre compte Databricks, telle que https://accounts.gcp.databricks.com. - Remplacez
<account-id>par votre ID de compte Databricks. Consultez Localiser votre ID de compte. - Remplacez
<google-cloud-service-account-email-address>par l'**adresse e-mail** que vous avez copiée de l'Étape 1 pour votre compte de service. - Remplacez
<workspace-url>par votre URL de l'instance Workspace, par exemplehttps://1234567890123456.7.gcp.databricks.com. - Vous pouvez remplacer les noms de profil de configuration suggérés
GCP_ID_ACCOUNTetGCP_ID_WORKSPACEpar des noms de profil de configuration différents, si vous le souhaitez. Ces noms spécifiques ne sont pas requis.
Si vous ne souhaitez pas exécuter d'Opérations au niveau du compte, vous pouvez omettre la section
[GCP_ID_ACCOUNT]dans le contenu suivant.[GCP_ID_ACCOUNT]
host = <account-console-url>
account_id = <account-id>
google_service_account = <google-cloud-service-account-email-address>
[GCP_ID_WORKSPACE]
host = <workspace-url>
google_service_account = <google-cloud-service-account-email-address> - Remplacez
Étape 8 : Exécutez une commande au niveau du compte avec l'interface CLI Databricks
Dans cette étape, vous utilisez le CLI Databricks et l'authentification Google Cloud ID pour exécuter une commande qui automatise le compte Databricks qui a été configuré à l'étape 7. Cette étape suppose que votre compte utilisateur Google Cloud usurpe actuellement l'identité du compte de service, comme décrit précédemment à l'étape 5.
Si vous ne souhaitez pas exécuter de commandes au niveau du compte, passez à l'étape 9.
Le terminal ou l'invite de commandes étant toujours ouvert à l'étape 6, exécutez la commande suivante pour lister tous les utilisateurs disponibles dans votre compte Databricks. Si vous avez renommé GCP_ID_ACCOUNT à l'étape 7, assurez-vous de le remplacer ici.
databricks account users list -p GCP_ID_ACCOUNT
Étape 9 : Exécutez une commande au niveau du workspace avec la CLI Databricks
Dans cette étape, vous utilisez l'authentification des identifiants Databricks CLI et Google Cloud pour exécuter une commande qui automatise le compte Databricks qui a été configuré à l'étape 7. Cette étape suppose que votre compte utilisateur Google Cloud usurpe actuellement l'identité du compte de service, comme décrit précédemment à l'étape 5.
Le terminal ou l'invite de commande étant toujours ouvert à partir de l'étape 6, exécutez la commande suivante pour répertorier tous les utilisateurs disponibles dans votre Workspace Databricks. Si vous avez renommé GCP_ID_WORKSPACE à l'étape 7, assurez-vous de le remplacer ici.
databricks users list -p GCP_ID_WORKSPACE
Étape 10 : Nettoyage
Cette étape est facultative. Si vous ne souhaitez plus utiliser le compte de service Google Cloud que vous avez créé pour cette page, cette étape décrit comment supprimer le compte de service de votre projet Google, de votre compte Databricks et de votre workspace.
Supprimer le compte de service de votre projet Google
- Dans la console Google Cloud à laquelle vous vous êtes connecté à l'étape 1, dans Rechercher (/) des ressources, des documents, des produits, et plus encore , recherchez et sélectionnez Comptes de service .
- Dans la ligne correspondant au nom de votre compte de service, cliquez sur les points de suspension. Si le nom de votre compte de service n'est pas visible, utilisez Saisir le nom ou la valeur de la propriété pour le trouver.
- Cliquez sur **Supprimer**.
- Dans la boîte de dialogue de confirmation, cliquez sur Supprimer .
Supprimez le compte de service de votre compte Databricks
- Dans votre compte Databricks, dans la barre latérale, cliquez sur Gestion des utilisateurs .
- Cliquez sur l'onglet **Users tab**.
- Cliquez sur le nom du compte de service que vous avez ajouté à l'étape 2. Si le nom du compte de service n'est pas visible, utilisez Filtrer les utilisateurs pour le trouver.
- Cliquez sur le bouton des ellipses, puis cliquez sur Supprimer l'utilisateur .
- Cliquez sur **Confirmer la suppression**.
Supprimez le compte de service de votre Workspace Databricks
- Dans votre Workspace Databricks, cliquez sur votre nom d’utilisateur dans la barre supérieure et cliquez sur Settings .
- Cliquez sur l'onglet User tab .
- Cliquez sur le nom du compte de service que vous avez ajouté à l'étape 3. Si le nom du compte de service n’est pas visible, utilisez Filtrer les utilisateurs pour le trouver.
- Cliquez sur Supprimer l'utilisateur .
- Dans la boîte de dialogue de confirmation, cliquez sur Supprimer .