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

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

Cet article présente les scénarios courants de dépannage pour vous aider à résoudre les problèmes que vous pourriez rencontrer lors de la création d’une connexion de service Azure Resource Manager. Consultez Gérer les connexions de service pour savoir comment créer, modifier et sécuriser des connexions de service.

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

Si vous n’avez pas de connexion de service, vous pouvez en créer une comme suit :

  1. Dans votre projet, sélectionnez Paramètres du projet, puis Connexions de service.

    Capture d’écran montrant comment accéder aux connexions de service à partir des paramètres du projet

  2. Sélectionnez Nouvelle connexion de service pour ajouter une nouvelle connexion de service, puis sélectionnez Azure Resource Manager. Sélectionnez Suivant lorsque vous avez terminé.

    Capture d’écran montrant les types de connexions de service.

  3. Sélectionnez Enregistrement d'application (automatique) et Fédération d'identité de charge de travail comme méthode d'authentification.

  4. Sélectionnez Abonnement, puis sélectionnez votre abonnement dans la liste déroulante. Remplissez le reste du formulaire et sélectionnez Enregistrer une fois terminé.

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

  1. Permet de se connecter au tenant Microsoft Entra de l’abonnement sélectionné.
  2. Crée une application dans Microsoft Entra ID au nom de l’utilisateur.
  3. Assigne l’application en tant que contributeur à l’abonnement sélectionné.
  4. Crée une connexion de service Azure Resource Manager à l’aide des détails de cette application.

Remarque

Pour créer des connexions de service, ajoutez-vous au groupe Endpoint Creator dans les paramètres de votre projet : Paramètres du projet>Connexions de service>Sécurité. Les contributeurs sont ajoutés à ce groupe par défaut.

Scénarios de résolution des problèmes

Les problèmes suivants peuvent survenir lorsque vous créez des connexions de service :

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

  1. Connectez-vous au portail Azure en utilisant 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é correspondant à l’abonnement utilisateur. Si ce n'est pas le cas, sélectionnez Changer de répertoire et connectez-vous à l'aide des 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 à donner à l’utilisateur des permissions de niveau administrateur, vous pouvez faire de l’utilisateur un membre d’un rôle Administrateur. Procédez comme suit :

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 en utilisant 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é correspondant à l’abonnement utilisateur. Si ce n'est pas le cas, sélectionnez Changer de répertoire et connectez-vous à l'aide des 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

Vous devez disposer des autorisations nécessaires pour ajouter des applications intégrées dans le répertoire. L’administrateur d’annuaire est autorisé à modifier ce paramètre.

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

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

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

  4. Sous Inscriptions d’applications, puis remplacez l’option Les utilisateurs peuvent inscrire des applications par Oui.

Vous pouvez également créer le principal de service avec un utilisateur existant qui dispose déjà des autorisations requises dans Microsoft 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 a expiré. 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 à l’aide des informations d’identification appropriées.
  4. Sélectionnez votre organisation et votre projet.
  5. Créez votre connexion de service.

Échec de l’attribution du rôle contributeur

Cette erreur se produit généralement lorsque vous ne disposez pas de l’autorisation É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

  • 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’est pas répertorié 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.

Certains abonnements sont manquants dans la liste des abonnements

  • Modifier les paramètres des types de comptes de support : Ce problème peut être résolu en modifiant les paramètres des types de comptes pris en charge et en définissant qui peut utiliser votre application. Procédez comme suit :

    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.

    1. Sélectionnez Microsoft Entra ID à partir du volet gauche.
    2. Sélectionnez Inscriptions d’applications.
    3. Sélectionnez votre application dans la liste des applications inscrites.
    4. Sous Authentification, sélectionnez Types de comptes pris en charge.
    5. 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.

    1. Lorsque vous avez terminé, sélectionnez Enregistrer.
  • Ancien jeton utilisateur mis en cache dans Azure DevOps Services : si votre abonnement Azure n’est pas répertorié 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.

Le jeton du principal de service a expiré

Un problème qui se produit souvent avec les principaux de service créés automatiquement est que le jeton du principal de service expire et doit être renouvelé. Toutefois, si vous rencontrez un problème avec l’actualisation du jeton, consultez Jeton d’actualisation valide introuvable.

Si votre jeton a expiré, vous pouvez voir l’un des messages d’erreur :

  • 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 pour un principal de service créé automatiquement :

  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 sélectionnez Vérifier.

  3. Cliquez sur Enregistrer.

Le jeton de votre principal de service a été renouvelé pour trois mois supplémentaires.

Remarque

Cette opération est disponible même si le jeton 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 l’ID Microsoft Entra, car il met à jour le secret de l’application inscrite pour le principal de service. Pour plus d’informations, consultez Créer une connexion de service Azure Resource Manager à l’aide d’une sécurité automatisée 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 de vérifier une connexion de service dont le secret a expiré.

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.

    Notes

    Sélectionnez Enregistrer. N’essayez pas de vérifier la connexion de service à cette étape.

  4. Quittez la fenêtre de modification de la connexion de service, puis actualisez la page connexions de service.

  5. Sélectionnez Modifier dans le coin supérieur droit, puis sélectionnez Vérifier.

  6. Sélectionnez Enregistrer pour enregistrer votre connexion au service.

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 d’une authentification de principal de service (SPA) ou d’une authentification d’identité managée. Les identités managées pour les ressources Azure fournissent aux services Azure une identité automatiquement gérée dans Microsoft Entra ID. Vous pouvez utiliser cette identité pour vous authentifier auprès de n’importe quel service prenant en charge l’authentification Microsoft Entra sans persistance des informations d’identification dans le code ou dans la connexion de service.

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

Notes

Les identités managées ne sont pas prises en charge dans les agents hébergés par Microsoft. 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.