Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette page explique comment utiliser des principes de service pour le CI/CD avec Azure Databricks. Un principal de service est une identité créée pour une utilisation avec des outils et applications automatisés, notamment :
- Plateformes CI/CD telles que GitHub Actions, Azure Pipelines et GitLab CI/CD
- Flux d’air dans les pipelines de données
- Jenkins
Comme meilleure pratique de sécurité, Databricks recommande d’utiliser un principal de service et son jeton plutôt que votre utilisateur Azure Databricks ou votre jeton d’accès personnel Databricks pour votre utilisateur d’espace de travail, afin de donner aux plateformes CI/CD l’accès aux ressources Azure Databricks. Cette approche présente certains avantages, notamment :
- Vous pouvez octroyer et restreindre l’accès aux ressources Azure Databricks pour un principal de service, indépendamment d’un utilisateur. Par exemple, cela vous permet d’interdire à un principal de service d’agir comme Administrateur dans votre espace de travail Azure Databricks, tout en permettant à d’autres utilisateurs spécifiques de votre espace de travail de continuer à agir en tant qu’Administrateurs.
- Les utilisateurs peuvent protéger leurs jetons d’accès afin qu’ils ne soient pas accessibles aux plateformes CI/CD.
- Vous pouvez temporairement désactiver un principal de service ou le supprimer définitivement sans affecter les autres utilisateurs. Cela vous permet par exemple de suspendre ou de supprimer l’accès d’un principal de service que vous soupçonnez d’être utilisé de manière malveillante.
- Si un utilisateur quitte votre organisation, vous pouvez le supprimer sans impacter un principal de service.
Pour accorder un accès à une plateforme CI/CD à votre espace de travail Azure Databricks, procédez comme suit :
Choisissez un des mécanismes d’authentification MS Entra pris en charge suivants avec une connexion de service :
Fédération des identités de charge de travail Microsoft Entra, en utilisant Azure CLI comme mécanisme d’authentification.
- Un principal de service Microsoft Entra, en utilisant une clé secrète client Microsoft Entra comme mécanisme d’authentification.
- Une identité managée Microsoft Entra ID.
Pour plus d’informations sur l’implémentation de l’authentification avec Microsoft Entra, consultez Authentifier avec Azure DevOps sur Azure Databricks.
Pour savoir comment authentifier spécifiquement l’accès aux dossiers Git Azure Databricks à l’aide d’Azure DevOps, consultez Autoriser un principal de service Microsoft Entra à accéder aux dossiers Git.
- Un principal de service Microsoft Entra, en utilisant une clé secrète client Microsoft Entra comme mécanisme d’authentification.
Spécifications
- Jeton OAuth Azure Databricks ou jeton Microsoft Entra ID pour un principal de service géré Azure Databricks ou un principal de service géré Microsoft Entra ID. Pour créer un principal de service géré Azure Databricks ou un principal de service géré Microsoft Entra ID et son jeton OAuth Azure Databricks ou son jeton Microsoft Entra ID, consultez Principaux de Service.
- Un compte avec votre fournisseur Git.
Configurer GitHub Actions
GitHub Actions doit pouvoir accéder à votre espace de travail Azure Databricks. Si vous souhaitez utiliser des dossiers Git Azure Databricks, votre espace de travail doit également être en mesure d’accéder à GitHub.
Pour permettre à GitHub Actions d’accéder à votre espace de travail Azure Databricks, vous devez fournir des informations sur votre principal de service géré Azure Databricks ou votre principal de service géré Microsoft Entra ID à GitHub Actions. Cela peut inclure des informations telles que l’ID d’application (client),l’ID d’annuaire (locataire) pour un principal de service managé Microsoft Entra ID, le secret client du principal de service managé Azure Databricks ou Microsoft Entra ID, ou la access_token valeur pour un principal de service managé Azure Databricks, selon les exigences spécifiques de GitHub Action. Pour plus d’informations, consultez les principaux de service et la documentation de GitHub Action.
Si vous souhaitez permettre à votre espace de travail Azure Databricks d’accéder à GitHub lorsque vous utilisez des dossiers Git Azure Databricks, vous devez ajouter le jeton d’accès personnel GitHub pour un utilisateur de machine GitHub à votre espace de travail.
Fournir des informations concernant votre principal de service à GitHub Actions
Cette section explique comment permettre à GitHub Actions d’accéder à votre espace de travail Azure Databricks.
Comme meilleure pratique de sécurité, Databricks vous recommande de ne pas renseigner les informations sur votre principal de service directement dans le corps d’un fichier GitHub Actions. Vous devez à la place fournir ces informations à GitHub Actions à l’aide de secrets chiffrés GitHub.
GitHub Actions, telles que celles que Databricks répertorie dans GitHub Actions, reposent sur différents secrets chiffrés GitHub tels que :
-
DATABRICKS_HOST, qui est la valeurhttps://suivie du nom de votre instance d’espace de travail, par exempleadb-1234567890123456.7.azuredatabricks.net. -
AZURE_CREDENTIALS, un document JSON qui représente la sortie de l'exécution de l'Azure CLI pour obtenir des informations sur un principal de service géré par Microsoft Entra ID. Pour plus d’informations, consultez la documentation relative à GitHub Actions. -
AZURE_SP_APPLICATION_ID, la valeur de l’ID d’application (client) pour un principal de service géré de Microsoft Entra ID. -
AZURE_SP_TENANT_ID, la valeur de l’ID de l’annuaire (locataire) pour un principal de service géré Microsoft Entra ID. -
AZURE_SP_CLIENT_SECRET, qui est la valeur de la clé secrète du principal de service géré par Microsoft Entra ID.
Pour plus d’informations sur les secrets chiffrés de GitHub qui sont nécessaires pour une action GitHub, consultez Gérer les principaux de service et la documentation relative à cette action GitHub.
Pour ajouter ces secrets chiffrés GitHub à votre référentiel GitHub, consultez Création de secrets chiffrés pour un référentiel dans la documentation GitHub. Pour découvrir d’autres approches d’ajout de ces secrets de référentiel GitHub, consultez Secrets chiffrés dans la documentation GitHub.
Ajouter le jeton d’accès personnel GitHub pour un utilisateur de machine GitHub à votre espace de travail Azure Databricks
Cette section explique comment permettre à votre espace de travail Azure Databricks d’accéder à GitHub avec les dossiers Git Azure Databricks. Il s’agit d’une tâche facultative dans les scénarios CI/CD.
Comme meilleure pratique en matière de sécurité, Databricks recommande d’utiliser des identifiants GitHub générés par ordinateur plutôt que vos identifiants personnels GitHub, pour les mêmes raisons que celles pour lesquelles vous devez utiliser un principal de service au lieu d’un nom d’utilisateur Azure Databricks. Pour ajouter le jeton d’accès personnel GitHub pour un utilisateur de machine GitHub à votre espace de travail Azure Databricks, procédez comme suit :
Créez un utilisateur de machine GitHub, si vous n’en avez pas déjà un. Un utilisateur de machine GitHub est un compte personnel GitHub, distinct de votre propre compte personnel GitHub, que vous pouvez utiliser pour automatiser l’activité sur GitHub. Créez un compte GitHub distinct à utiliser en tant qu’utilisateur de machine GitHub, si vous n’en avez pas déjà un.
Remarque
Lorsque vous créez un compte GitHub distinct en tant qu’utilisateur de machine GitHub, vous ne pouvez pas l’associer à l’adresse e-mail de votre propre compte personnel GitHub. Au lieu de cela, consultez l’administrateur de messagerie de votre organisation sur l’obtention d’une adresse e-mail distincte que vous pouvez associer à ce nouveau compte GitHub distinct en tant qu’utilisateur de machine GitHub.
Consultez l’administrateur de compte de votre organisation sur la gestion de l’adresse e-mail distincte et de son utilisateur d’ordinateur GitHub associé et de ses jetons d’accès personnels GitHub au sein de votre organisation.
Donnez à l’utilisateur de machine GitHub l’accès à votre référentiel GitHub. Consultez Inviter une équipe ou une personne dans la documentation GitHub. Pour accepter l’invitation, vous devrez peut-être d’abord vous déconnecter de votre compte personnel GitHub, puis vous reconnecter en tant qu’utilisateur de machine GitHub.
Connectez-vous à GitHub en tant qu’utilisateur de machine, puis créez un jeton d’accès personnel GitHub pour cet utilisateur de machine. Consultez Créer un jeton d’accès personnel dans la documentation GitHub. Veillez à accorder au jeton d’accès personnel GitHub un accès au référentiel.
Rassemblez le jeton Microsoft Entra ID pour votre principal de service, votre nom d’utilisateur de machine GitHub, puis consultez Utiliser un principal de service avec les dossiers Git Databricks.
Configurer Azure Pipelines
Azure Pipelines doit pouvoir accéder à votre espace de travail Azure Databricks. Si vous souhaitez également utiliser des dossiers Git Azure Databricks, votre espace de travail doit être en mesure d’accéder à Azure Pipelines.
Les fichiers de pipeline YAML Azure Pipelines reposent sur des variables d’environnement pour accéder à votre espace de travail Azure Databricks. Ces variables d’environnement sont notamment les suivantes :
-
DATABRICKS_HOST, qui est la valeurhttps://suivie du nom de votre instance d’espace de travail, par exempleadb-1234567890123456.7.azuredatabricks.net. -
DATABRICKS_TOKEN, qui est la valeurtoken_valueque vous avez copiée après avoir créé le jeton Microsoft Entra ID du principal de service géré Microsoft Entra ID.
Pour ajouter ces variables d’environnement à votre pipeline Azure, consultez Utiliser des secrets Azure Key Value dans Azure Pipelines et Définir des variables secrètes dans la documentation Azure.
Consultez également le blog Databricks suivant :
Facultatif pour les scénarios CI/CD : si votre espace de travail utilise des dossiers Git Azure Databricks et que vous souhaitez permettre à votre espace de travail d’accéder à Azure Pipelines, rassemblez :
- Le jeton Microsoft Entra ID pour un principal de service
- Votre nom d’utilisateur Azure Pipelines
Ensuite, consultez Utiliser un principal de service avec des dossiers Git Databricks.
Configurer GitLab CI/CD
GitHub CI/CD doit pouvoir accéder à votre espace de travail Azure Databricks. Si vous souhaitez également utiliser des dossiers Git Azure Databricks, votre espace de travail doit être en mesure d’accéder à GitLab CI/CD.
Pour accéder à votre espace de travail Azure Databricks, les fichiers .gitlab-ci.yml GITLab CI/CD, tels que ceux qui font partie du modèle Python de base dans dbx, s’appuient sur des variables CI/CD personnalisées telles que :
-
DATABRICKS_HOST, qui est la valeurhttps://suivie du nom de votre instance d’espace de travail, par exempleadb-1234567890123456.7.azuredatabricks.net. -
DATABRICKS_TOKENétant la valeur detoken_valueque vous avez copiée après avoir créé le jeton Microsoft Entra ID pour le principal de service.
Pour ajouter ces variables personnalisées à votre projet CI/CD GitLab, consultez Ajouter une variable CI/CD à un projet dans la documentation GitLab CI/CD.
Si votre espace de travail utilise des dossiers Git Databricks et que vous souhaitez permettre à votre espace de travail d’accéder à GitLab CI/CD, rassemblez :
- Le jeton Microsoft Entra ID pour un principal de service
- Votre nom d’utilisateur GitLab CI/CD
Ensuite, consultez Utiliser un principal de service avec des dossiers Git Databricks.