Partager via


Résoudre les problèmes de connexion de service Azure Resource Manager

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Cet article présente des scénarios de résolution des problèmes courants pour vous aider à résoudre les problèmes que vous pouvez rencontrer lors de la création d’une connexion de service Azure Resource Manager (ARM). Consultez Gérer les connexions de service pour savoir comment créer, modifier et sécuriser des connexions de service. Consultez Résoudre les problèmes liés à une connexion de service d’identité de charge de travail Azure Resource Manager pour savoir comment résoudre les problèmes liés à l’identité de charge de travail.

Cet article utilise les termes « locataire » et « répertoire » de manière qui pourrait se chevaucher. Un tenant est une instance dédiée et isolée de Microsoft Entra ID que votre organisation reçoit et pour laquelle elle gère toutes les identités et le contrôle d'accès de vos services cloud. Un répertoire est un conteneur au sein de ce locataire qui contient des objets tels que des utilisateurs, des groupes et des applications utilisés pour gérer l’accès aux ressources.

Conseil / Astuce

Vous pouvez demander à Copilot d’obtenir de l’aide pour résoudre les messages d’erreur. Pour en savoir plus, consultez Utiliser l’IA pour résoudre une erreur de connexion de service Azure DevOps.

Que se passe-t-il lorsque vous créez une connexion de service Azure Resource Manager

Vous avez plusieurs options d’authentification pour vous connecter à Azure avec une connexion de service Azure Resource Manager. Nous vous recommandons d’utiliser la fédération d’identité de charge de travail avec une inscription d’application ou une identité gérée.

Une fois le processus de création de connexion de service réussi, Azure DevOps effectue automatiquement ces étapes dans votre locataire Microsoft Entra. Si vous rencontrez des erreurs pendant ce processus, consultez les scénarios de résolution des problèmes ci-dessous.

Lorsque vous enregistrez votre nouvelle connexion de service Azure Resource Manager, Azure DevOps effectue les actions suivantes :

  1. Se connecte à l'espace Entra de Microsoft pour l’abonnement sélectionné.
  2. Crée une application dans l’ID Entra pour le compte de l’utilisateur.
  3. Assigne l’application en tant que contributeur à l’abonnement sélectionné.
  4. Crée une connexion de service de type Azure Resource Manager en utilisant les détails de cette application.

Remarque

Pour créer des connexions de service, vous devez vous voir attribuer le rôle de créateur ou d'administrateur pour le groupe Endpoint Creator dans les paramètres de votre projet : Paramètres du projet>Connexions de service>Plus d'actions>Sécurité. Les contributeurs au projet sont ajoutés à ce groupe par défaut.

L’utilisateur dispose uniquement de l’autorisation d’invité dans le répertoire

Cette erreur se produit lors du processus de création automatique de la connexion de service quand Azure DevOps tente de créer une application et d’attribuer des autorisations dans l’ID Microsoft Entra (étapes 2 à 3 dans Ce qui se passe lorsque vous créez une connexion de service Azure Resource Manager). Cela se produit lorsqu’un utilisateur disposant uniquement d’autorisations invitées dans un répertoire Microsoft Entra ID tente de créer une connexion de service Azure Resource Manager dans Azure DevOps, mais dispose d’autorisations insuffisantes.

Pour résoudre ce problème :

  1. Connectez-vous au portail Azure avec un compte d’administrateur. Le compte doit être un propriétaire ou un administrateur de compte utilisateur.

  2. Sélectionnez Microsoft Entra ID dans la barre de navigation gauche.

  3. Vérifiez que vous modifiez le répertoire approprié qui correspond à l’abonnement utilisateur. Si ce n’est pas le cas, sélectionnez Changer de répertoire et connectez-vous avec les informations d’identification appropriées si nécessaire.

  4. Sélectionnez Utilisateurs dans la section Gérer.

  5. Sélectionnez Paramètres utilisateur.

  6. Sélectionnez Gérer les paramètres de collaboration externe dans la section Utilisateurs externes .

  7. Remplacez l’option Les autorisations d’utilisateur invité sont limitées par Non.

Sinon, si vous êtes prêt à accorder les autorisations d’administrateur utilisateur, vous pouvez faire de l’utilisateur un membre d’un rôle d’administrateur. Terminez la procédure suivante :

Avertissement

Attribuer aux utilisateurs le rôle d’administrateur général leur permet de lire et de modifier tous les paramètres administratifs de votre organisation Microsoft Entra. Comme bonne pratique, attribuez ce rôle à moins de cinq personnes dans votre organisation.

  1. Connectez-vous au portail Azure avec un compte d’administrateur. Le compte doit être un propriétaire ou un administrateur de compte utilisateur.

  2. Sans le volet de navigation de gauche, sélectionnez Microsoft Entra ID.

  3. Vérifiez que vous modifiez le répertoire approprié qui correspond à l’abonnement utilisateur. Si ce n’est pas le cas, sélectionnez Changer de répertoire et connectez-vous avec les informations d’identification appropriées si nécessaire.

  4. Sélectionnez Utilisateurs dans la section Gérer.

  5. Utilisez la zone de recherche pour rechercher l’utilisateur que vous souhaitez gérer.

  6. Sélectionnez Rôle de répertoire dans la section Gérer, puis modifiez le rôle. Lorsque vous avez terminé, sélectionnez Enregistrer.

L’application globale des modifications prend généralement de 15 à 20 minutes. L’utilisateur peut ensuite essayer de recréer la connexion de service.

L’utilisateur n’est pas autorisé à ajouter des applications dans le répertoire

Cette erreur se produit lors du processus de création automatique de la connexion de service lorsque Azure DevOps tente de créer une application dans Microsoft Entra ID en votre nom (étape 2 dans Ce qui se passe lorsque vous créez une connexion de service Azure Resource Manager). Vous n’êtes pas autorisé à ajouter des applications intégrées dans le répertoire. L’administrateur d’annuaire est autorisé à modifier ce paramètre.

Pour résoudre ce problème :

  1. Sélectionnez Microsoft Entra ID dans le volet de navigation gauche.

  2. Vérifiez que vous modifiez le répertoire approprié qui correspond à l’abonnement utilisateur. Si ce n’est pas le cas, sélectionnez Changer de répertoire et connectez-vous avec les informations d’identification appropriées si nécessaire.

  3. Sélectionnez Utilisateurs, puis sélectionnez Paramètres utilisateur.

  4. Sous Inscriptions d’applications, modifiez l’option Utilisateurs pour inscrire des applications sur Oui.

Vous pouvez également créer le principal de service avec un utilisateur existant disposant déjà des autorisations requises dans Entra ID. Pour plus d’informations, consultez Créer une connexion de service Azure Resource Manager avec un principal de service existant.

Échec de l’obtention d’un jeton d’accès ou jeton d’actualisation valide introuvable

Ces erreurs se produisent généralement lorsque votre session expire.

Pour résoudre ces problèmes :

  1. Déconnectez-vous d’Azure DevOps.

  2. Ouvrez une fenêtre de navigateur InPrivate ou incognito et accédez à Azure DevOps.

  3. Connectez-vous avec les informations d’identification appropriées.

  4. Sélectionnez votre organisation et votre projet.

  5. Réessayez de créer votre connexion de service. Pour obtenir des instructions détaillées, consultez Gérer les connexions de service.

Vous ne semblez pas avoir d’abonnement Azure actif lors de la tentative de modification ou de création d’une connexion de service

Cette erreur se produit généralement lorsque vous faites partie de plusieurs locataires Entra ID.

Pour résoudre ce problème :

  1. Accédez au profil VS.

  2. Vérifiez si vous avez plusieurs locataires.

  3. Sélectionnez chaque locataire, puis réauthenticez.

  4. Essayez de créer une connexion de service, puis vérifiez si l’abonnement se charge.

Échec de l’attribution du rôle contributeur

Cette erreur se produit lors du processus de création automatique de la connexion de service lorsque Azure DevOps tente d’affecter l’application en tant que contributeur à votre abonnement (étape 3 dans Ce qui se passe lorsque vous créez une connexion de service Azure Resource Manager). Cette erreur se produit généralement lorsque vous n’avez pas d’autorisation d’écriture pour l’abonnement Azure sélectionné.

Pour résoudre ce problème, demandez à l’administrateur de l’abonnement de vous attribuer le rôle approprié dans Microsoft Entra ID.

L’abonnement n’est pas listé au moment de la création d’une connexion de service

Il existe plusieurs causes possibles de ce problème.

  • Dépassé le maximum de 50 abonnements Azure répertoriés dans les différents menus déroulants d’abonnement Azure (facturation, connexion de service, etc.) : si vous configurez une connexion de service et que vous avez plus de 50 abonnements Azure, certains de vos abonnements ne sont pas répertoriés. Dans ce scénario, effectuez les étapes suivantes :

    1. Créez un utilisateur Microsoft Entra natif dans l’instance Microsoft Entra de votre abonnement Azure.

    2. Configurez l’utilisateur Microsoft Entra afin qu’il dispose des autorisations appropriées pour configurer la facturation ou créer des connexions de service. Pour plus d’informations, consultez Ajouter un utilisateur pouvant configurer la facturation pour Azure DevOps.

    3. Ajoutez l’utilisateur Microsoft Entra à l’organisation Azure DevOps avec un niveau d’accès DE Partie prenante, puis ajoutez-le au groupe Administrateurs de la collection de projets (pour la facturation), ou vérifiez que l’utilisateur dispose d’autorisations suffisantes dans le projet d’équipe pour créer des connexions de service.

    4. Connectez-vous à Azure DevOps avec les nouvelles informations d’identification d’utilisateur, puis configurez la facturation. Vous ne verrez qu’un seul abonnement Azure dans la liste.

  • Ancien jeton utilisateur mis en cache dans Azure DevOps Services : Si votre abonnement Azure n’apparaît pas lorsque vous créez une connexion de service Azure Resource Manager (ARM), cela peut être dû à un ancien jeton utilisateur mis en cache dans Azure DevOps Services. Ce scénario n’est pas évident de prime abord, car l’écran de la liste des abonnements Azure n'affiche aucune erreur ni aucun message d’avertissement indiquant que le jeton utilisateur est obsolète. Pour résoudre ce problème, mettez à jour manuellement le jeton utilisateur mis en cache dans Azure DevOps Services en procédant comme suit :

    1. Déconnectez-vous d'Azure DevOps Services, puis reconnectez-vous. Cette action peut actualiser le jeton utilisateur.
    2. Effacez le cache et les cookies de votre navigateur pour vous assurer que tous les anciens jetons ont été supprimés.
    3. À partir du portail Azure DevOps, accédez aux connexions de service et réautorisez la connexion à Azure. Au cours de cette étape, Azure DevOps est invité à utiliser un nouveau jeton.
  • Paramètres de type de compte de prise en charge incorrects : Corrigez ce problème en modifiant les paramètres de types de comptes pris en charge et en définissant qui peut utiliser votre application. Suivez ces étapes :

    1. Connectez-vous au portail Azure.

    2. Si vous avez accès à plusieurs locataires, utilisez le filtre Répertoire + abonnement dans le menu du haut pour sélectionner le locataire dans lequel vous voulez inscrire une application.

      Capture d’écran montrant l’icône de répertoire et d’abonnements dans le portail Azure.

    3. Sélectionnez Microsoft Entra ID à partir du volet gauche.

    4. Sélectionnez Inscriptions d’applications.

    5. Sélectionnez votre application dans la liste des applications inscrites.

    6. Sous Authentification, sélectionnez Types de comptes pris en charge.

    7. Sous Types de comptes pris en charge, Qui peut utiliser cette application ou accéder à cette API ? sélectionnez Comptes dans un annuaire organisationnel.

      Capture d’écran montrant les types de comptes pris en charge.

    8. Lorsque vous avez terminé, sélectionnez Enregistrer.

Principal de service ou secret expiré

Les principaux de service ou les secrets qu’Azure DevOps crée automatiquement expirent et nécessitent un renouvellement. Si vous rencontrez des problèmes lors de l’actualisation du jeton, consultez Échec de l’obtention d’un jeton d’accès ou d’un jeton d’actualisation valide introuvable. Pour éviter d’avoir à renouveler des secrets, utilisez la fédération des identités de charge de travail avec Azure Resource Manager.

Si votre jeton expire, vous pouvez voir l’un des messages d’erreur suivants :

  • AADSTS7000215: Invalid client secret is provided
  • AADSTS7000222: The provided client secret keys for app '***' are expired
  • Invalid client id or client secret

Pour renouveler le jeton d'accès d'un principal ou d'un secret de service créé automatiquement :

  1. Accédez aux paramètres du projet>connexions de service, puis sélectionnez la connexion de service à actualiser.

  2. Sélectionnez Rotation du secret.

    Capture d’écran de l’option permettant de faire pivoter un secret ARM.

Le jeton de votre principal ou secret de service est maintenant renouvelé pour trois mois supplémentaires.

Remarque

Cette opération est disponible même si le token du principal de service n’a pas expiré. Assurez-vous que l’utilisateur effectuant l’opération dispose des autorisations appropriées sur l’abonnement et sur l’ID Microsoft Entra, car cela met à jour le secret de l’application enregistrée pour le principal de service. Pour plus d’informations, consultez Créer une inscription d’application avec un secret et que se passe-t-il lorsque vous créez une connexion de service Resource Manager ?

Échec de l’obtention du JWT à l’aide de l’ID client du principal de service

Ce problème se produit lorsque vous essayez d’enregistrer une connexion de service ayant un secret expiré ou d’autres problèmes au niveau de l’ID Microsoft Entra.

Pour résoudre ce problème :

  1. Accédez à Paramètres du projet>Connexions de service, puis sélectionnez la connexion de service que vous souhaitez modifier.

  2. Sélectionnez Modifier dans le coin supérieur droit, puis apportez des modifications à votre connexion de service. La modification la plus simple et recommandée consiste à ajouter une description.

  3. Sélectionnez Enregistrer pour enregistrer la connexion au service.

Remarque

Si vous obtenez une erreur telle que Failed to obtain the Json Web Token(JWT) using service principal client ID. Exception message: AADSTS7000112: Application is disabled., collaborez avec votre équipe d’ID Microsoft Entra pour confirmer que l’option Activé pour permettre aux utilisateurs de se connecter dans l’application d’entreprise liée à votre principal de service n’est pas désactivée.

L’abonnement Azure n’est pas passé à partir de la sortie de tâche précédente

Vous pouvez rencontrer ce problème lorsque vous définissez votre abonnement Azure dynamiquement pour votre pipeline de mise en production et que vous souhaitez utiliser la variable de sortie d’une tâche précédente.

Pour résoudre le problème, vérifiez que les valeurs sont définies dans la section variables de votre pipeline. Vous pouvez ensuite passer cette variable entre les tâches de votre pipeline.

Quels sont les mécanismes d’authentification pris en charge ? Comment fonctionnent les identités managées ?

Une connexion de service Azure Resource Manager peut se connecter à un abonnement Azure à l’aide de l’authentification par principal de service (SPA) ou de l’authentification d’identité managée.

La connexion de service Azure Resource Manager peut se connecter à un abonnement Azure, un groupe d’administration ou un espace de travail Machine Learning à l’aide de :

  • Inscription d’application (recommandé) : authentifiez la connexion à l’aide d’une fédération d’identité de charge de travail ou d’un secret.
  • L’identité gérée : Les identités gérées pour les ressources Azure fournissent aux services Azure une identité gérée automatiquement dans Microsoft Identity Management. Vous pouvez également utiliser une identité gérée attribuée par un agent.

Lorsque vous configurez la connexion de service avec une identité managée comme méthode d’authentification, le processus ne crée pas d’identité managée. Il établit simplement la connexion de service. Pour que cette méthode d’authentification fonctionne correctement, certaines conditions doivent être remplies. Plus précisément, étant donné que l’identité managée est la méthode d’authentification choisie, la machine virtuelle que vous utilisez doit avoir une identité affectée par le système. En outre, cette machine virtuelle doit agir en tant qu'agent auto-hébergé au sein des pipelines pour que le workflow soit entièrement exécuté, permettant ainsi au pipeline de déployer les modifications via la connexion de service. L’identité assignée par le système sur la VM identifie que la même VM sert d’agent dans le pipeline, permettant l’authentification. Cette configuration vous permet de tirer parti de l’identité managée existante.

Pour en savoir plus sur les identités managées pour les machines virtuelles, consultez Attribution de rôles.

Remarque

Les agents hébergés par Microsoft ne prennent pas en charge les identités managées. Dans ce scénario, vous devez configurer un agent auto-hébergé sur une machine virtuelle Azure et configurer une identité managée pour cette machine virtuelle.

Utiliser l’IA pour résoudre une erreur de connexion au service Azure DevOps

Cet exemple d’invite pour Copilot Chat aide Copilot à résoudre votre code d’erreur et votre message. Copiez et collez cette invite dans Copilot Chat, en remplaçant l’espace réservé par votre message d’erreur spécifique.

I'm getting this Azure DevOps service connection error: [PASTE YOUR ERROR MESSAGE HERE]

Can you help me troubleshoot this issue? Please provide step-by-step instructions to:
1. Identify the root cause
2. Fix the configuration in Azure or Entra ID
3. Verify the solution works

Context: This is for an Azure Resource Manager service connection in Azure DevOps.