Intégrer Azure Machine Learning aux outils DevOps
Imaginez que vous travaillez avec une équipe de science des données sur un projet de Machine Learning. Votre équipe peut choisir d’utiliser Azure DevOps ou GitHub pour planifier le travail, stocker le référentiel de code et automatiser les workflows.
Avec les deux ensembles d’outils, il existe généralement deux rôles :
- Administrateur : configure l’environnement DevOps et gère les outils.
- Utilisateur final : contribue au projet en collaboration avec le développement. Se connecte aux outils, mais a un accès restreint à la configuration de l’environnement DevOps.
L’administrateur est chargé de connecter Azure Machine Learning à Azure DevOps ou GitHub. Pour comprendre comment l’intégration avec Azure Machine Learning est configurée, examinons comment un administrateur connecterait en toute sécurité Azure DevOps et GitHub à Azure Machine Learning.
Configurer Azure DevOps
Pour connecter Azure DevOps à Azure Machine Learning, vous devez d’abord créer une organisation et un projet. Vous allez utiliser l’organisation pour regrouper et gérer des projets.
Commencez par vous connecter à Azure DevOps avec un compte Microsoft ou un compte GitHub.
Une fois connecté, vous pouvez créer une organisation.
Vous pouvez créer plusieurs projets au sein d’un organisation.
Pour chaque projet, vous aurez accès à des outils tels que Boards, Repos et Pipelines pour appliquer des principes DevOps à votre projet.
Connecter Azure DevOps à Azure Machine Learning
Pour accéder en toute sécurité à votre espace de travail Azure Machine Learning à partir d’Azure DevOps, vous devez créer une connexion de service.
Lorsque vous créez une connexion de service, vous définissez la façon dont Azure DevOps sera authentifié pour la connexion à un autre service. Lorsque vous travaillez avec Azure Machine Learning, l’option recommandée consiste à laisser Azure DevOps créer un principal de service pour vous.
Un principal de service est créé en tant qu’identité dans Microsoft Entra ID. Au lieu d’utiliser les informations d’identification d’un membre de l’équipe pour se connecter à Azure Machine Learning, Azure DevOps utilise les informations d’identification du principal de service.
Lorsqu’un projet Azure DevOps est créé, vous pouvez vous connecter à un espace de travail Azure Machine Learning existant :
- Dans un projet, accédez à Paramètres du projet.
- Sélectionnez Connexions de service et créez-en une.
- Choisissez Azure Resource Manager.
- Choisissez de vous authentifier à l’aide d’un principal de service automatique.
- Définissez le niveau d’étendue sur l’Espace de travail Machine Learning et connectez-vous à un espace de travail Azure Machine Learning existant auquel vous avez accès.
- Accorder une autorisation d’accès à tous les pipelines.
- Donnez un nom à votre connexion de service. Vous utiliserez le nom lorsque vous devrez authentifier Azure DevOps pour gérer l’espace de travail Azure Machine Learning.
Une fois la connexion de service créée, vous remarquerez qu’un principal de service nouvellement créé a l’accès Contributeur à votre espace de travail Azure Machine Learning.
Configurer GitHub
Pour connecter GitHub à Azure Machine Learning, vous devez d’abord créer un référentiel GitHub.
Commencez par vous connecter à GitHub.
Après vous être connecté à GitHub, vous pouvez choisir si vous, en tant qu’individu, souhaitez posséder le référentiel ou s’il doit être détenu par une organisation GitHub.
Conseil
En savoir plus sur l’utilisation des organisations GitHub pour gérer les référentiels.
Connectez GitHub à Azure Machine Learning
Pour utiliser GitHub pour automatiser les workflows Machine Learning, vous pouvez authentifier GitHub pour vous connecter à Azure Machine Learning. Pour configurer une connexion sécurisée, vous devez :
- Créer un principal de service dans Azure.
- Ajoutez les informations d’identification du principal de service aux secrets de votre référentiel.
Pour créer un principal de service, vous pouvez utiliser Azure CLI. Pour utiliser l’interface de ligne de commande, une option consiste à envoyer des commandes dans Azure Cloud Shell.
Vous pouvez créer un principal de service nommé github-aml-sp
qui reçoit l’accès Contributeur à l’espace de travail Azure Machine Learning à l’aide de la commande suivante :
az ad sp create-for-rbac --name "github-aml-sp" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name> \
--sdk-auth
Une fois le principal de service créé, un texte JSON est renvoyé comme sortie qui inclut les informations d’identification que GitHub doit connecter à votre groupe de ressources Azure. Copiez le texte JSON et enregistrez-le pour l’étape suivante.
Pour stocker ces informations d’identification dans GitHub :
- Accédez aux Paramètres de votre référentiel.
- Accédez à la page Secrets.
- Sélectionnez Actions.
- Ajoutez un nouveau secret de référentiel.
- Saisir
AZURE_CREDENTIALS
comme nom. - Collez le code JSON de sortie avec les informations d’identification et ajoutez le secret.
Une fois le secret ajouté à GitHub, vous pouvez utiliser le secret AZURE_CREDENTIALS
chaque fois que vous avez besoin que GitHub soit authentifié pour travailler avec votre espace de travail Azure Machine Learning.
Conseil
Approfondissez vos connaissances sur l’intégration de GitHub à Azure Machine Learning et découvrez comment utiliser GitHub Actions avec Azure Machine Learning. Le tutoriel utilise le secret AZURE_CREDENTIALS
pour se connecter à Azure.