Partager via


Sécuriser les workflows de l’agent conversationnel avec Easy Auth (authentification App Service) dans Azure Logic Apps (version préliminaire)

S’applique à : Azure Logic Apps (Standard)

Important

Cette fonctionnalité est en préversion et elle est soumise aux conditions d’utilisation supplémentaires des préversions de Microsoft Azure.

Les flux de travail d’agent étendent les options d’intégration, car ils peuvent échanger des messages avec des appelants plus diversifiés, tels que des personnes, des agents, des serveurs mcP (Model Context Protocol) et des clients, des répartiteurs d’outils et des services externes. Bien que les flux de travail non-agent interagissent avec un ensemble restreint et fixe d'appelants connus, les appelants d'agent peuvent provenir de réseaux dynamiques, inconnus et non approuvés. Par conséquent, vous devez authentifier et appliquer des autorisations pour chaque appelant.

Pour protéger les flux de travail de l’agent conversationnel en production, configurez Easy Auth pour authentifier et autoriser les appelants ou les personnes qui souhaitent interagir avec votre agent conversationnel. L’authentification simple, également appelée authentification App Service, offre les fonctionnalités suivantes pour vous permettre d’utiliser :

  • Fournissez une identité validée pour chaque demande de l’appelant.
  • Attribuez des connexions à chaque utilisateur.
  • Appliquer des stratégies d’accès conditionnel.
  • Émettez des informations d’identification révocables.
  • Accordez des autorisations basées sur le principe du moindre privilège, des rôles et des étendues.
  • Fournissez un client de conversation externe en dehors du portail Azure afin que les personnes puissent interagir avec votre agent conversationnel.

Ces mesures vous permettent d’authentifier et d’autoriser chaque appelant à un niveau précis et de révoquer rapidement l’accès si nécessaire. Sans ces contrôles, vous risquez un accès non contrôlé, des secrets fuites tels que des URL de signature d’accès partagé (SAP) et des clés d’accès, des pistes d’audit faibles et d’autres risques de sécurité.

Easy Auth fonctionne avec Microsoft Entra ID comme couche de sécurité distincte pour fournir des fonctionnalités d’authentification et d’autorisation intégrées qui répondent à vos besoins. Avec l’application de la sécurité en dehors de votre flux de travail, vous pouvez vous concentrer davantage sur le développement de la logique métier à la place. Cette séparation des préoccupations simplifie et facilite la création, le débogage, l’exploitation, la surveillance, la maintenance, la gouvernance et l’audit des workflows d’agent.

La sécurité des flux de travail non-agent implique généralement une SAP statique, la rotation des secrets et des contrôles de limites réseau comme les restrictions d’accès, les listes d’autorisation IP, les balises de service, l’intégration de réseau virtuel et les points de terminaison privés. Avec les workflows de l’agent, vous concevez l’autorisation autour des utilisateurs finaux, des identités managées, des principaux de service et leurs étendues et rôles. Cette approche permet une portée globale plus sûre, mais permet toujours aux actions de flux de travail en aval de respecter les autorisations affinées.

Ce guide montre comment créer une inscription d’application, puis configurer l’authentification simple pour votre ressource d’application logique Standard, qui peut contenir des flux de travail d’agent et non agents.

Important

Easy Auth stocke les informations de configuration dans les paramètres d’application sous-jacents de votre ressource d’application logique, par exemple , WEBSITE_AUTH_ENABLED, WEBSITE_AUTH_DEFAULT_PROVIDER et MICROSOFT_PROVIDER_AUTHENTICATION_SECRET. Ne modifiez pas manuellement ces paramètres, sauf si vous souhaitez configurer l’automatisation à l’aide de modèles ARM, de modèles Bicep ou de modèles Terraform.

Pour plus d’informations, consultez les articles suivants :

Prerequisites

Créer une inscription d’application

Pour commencer la configuration d'Easy Auth, créez une inscription d'application dans Microsoft Entra ID directement à partir de votre ressource Logic App. Si vous devez réutiliser une inscription d’application existante à la place, vous devez mettre à jour l’inscription de l’application pour qu’elle fonctionne correctement avec les clients Easy Auth et Azure.

  1. Dans le portail Azure, ouvrez votre ressource d’application logique Standard.

  2. Dans le menu de la barre latérale des ressources, sous Paramètres, sélectionnez Authentification.

  3. Dans la page Authentification, sélectionnez Ajouter un fournisseur d’identité.

    Capture d’écran montrant l’application logique standard avec la page Authentification ouverte.

    La page Authentification affiche désormais l’onglet Informations de base pour configurer le fournisseur d’identité.

  4. Sous l’onglet Informations de base , pour le fournisseur d’identité, sélectionnez Microsoft pour Microsoft Entra ID.

  5. Dans la section Inscription d’application, pour le type d’inscription d’application, sélectionnez (Recommandé pour les agents conversationnels) Créer une inscription d’application, qui affiche les options correspondantes pour cette sélection.

  6. Fournissez un nom d'affichage unique pour l’inscription de votre application, par exemple : agent-logic-app-reg-prod

  7. Pour l’identité managée affectée par l’utilisateur, sélectionnez Créer une identité managée affectée par l’utilisateur.

    Vous pouvez créer une identité en fournissant un nom ou en sélectionnant une identité existante.

  8. Pour les types de comptes pris en charge, sélectionnez Locataire actuel - Locataire unique , sauf si vous souhaitez accepter intentionnellement d’autres locataires.

    Le paramètre monolocataire fait seulement référence aux comptes dans le répertoire organisationnel actuel. Ainsi, tous les comptes d’utilisateur et d’invité de cet annuaire peuvent utiliser votre application ou VOTRE API. Par exemple, si votre public cible est interne à votre organisation, utilisez ce paramètre.

    L’exemple suivant montre comment une inscription d’application peut ressembler :

    Capture d’écran montrant les informations de base de l’inscription d’application.

    Important

    Sauf si vous avez configuré des stratégies explicites de gouvernance et d’accès conditionnel, ne choisissez pas n’importe quel répertoire Microsoft Entra - Multilocataire.

    Pour plus d’informations, consultez les articles suivants :

  9. Sous Vérifications supplémentaires, sélectionnez les valeurs suivantes s’il n’est pas déjà sélectionné :

    Réglage Valeur
    Condition requise pour l’application cliente Autoriser uniquement les demandes de cette application elle-même
    Condition requise pour l’identité Autoriser les demandes provenant d’identités spécifiques
    Identités autorisées S’affiche uniquement avec l’option Autoriser les demandes provenant d’identités spécifiques sélectionnées.

    La valeur préremplie par défaut est l’ID d’objet qui représente l’utilisateur actuel, à savoir vous-même. Vous pouvez mettre à jour cette valeur de la manière suivante :

    - Inclure des ID d’objet pour d’autres développeurs ou utilisateurs.
    - Utilisez des revendications de groupe pour inclure un groupe spécifique, plutôt que des ID d’objet individuels.
    - Sélectionnez un enregistrement d’application existant pour votre ressource Logic App. Si vous le faites, veillez à mettre à jour l’inscription de l’application pour fonctionner correctement avec Easy Auth.

    Pour plus d’informations, consultez Utiliser une stratégie d’autorisation intégrée.
    Condition requise pour le locataire Autoriser uniquement les demandes du locataire émetteur
  10. Ignorez la section Chemins exclus .

  11. Si vous le souhaitez, sous paramètres d’authentification App Service, passez en revue les paramètres suivants et effectuez les actions appropriées :

    Réglage Action
    Restreindre l’accès Sauf si vous envisagez d’autoriser certains points de terminaison authentifiés, sélectionnez Exiger l’authentification pour bloquer toutes les demandes anonymes.
    Demandes non authentifiées Selon que les appelants sont des agents ou basés sur un agent, sélectionnez HTTP 302 Redirection trouvée : recommandé pour les agents.
  12. Lorsque vous avez terminé, sélectionnez Ajouter pour terminer l’ajout du fournisseur d’identité.

    Azure crée l’inscription de l’application, met à jour les paramètres de votre application et active le runtime d’authentification facile. Une fois Azure terminé, la page Authentification de l’application logique répertorie Microsoft en tant que fournisseur d’identité. Les clients et les appelants doivent maintenant authentifier leurs identités. Votre application logique rejette les clients et appelants non authentifiés comme prévu et émet une réponse de redirection 302 trouvée ou une réponse non autorisée 401 lorsque les demandes n’incluent pas de jetons valides.

    Une fois l’inscription de l’application terminée, conservez la configuration de votre application logique aussi minimale que possible jusqu’à ce que vous puissiez confirmer que l’authentification fonctionne comme prévu. Vous pouvez ajouter ultérieurement toutes les étendues d’autorisation ou rôles d’application que vous souhaitez appliquer en accédant aux pages suivantes sur votre ressource d’inscription d’application :

    • Dans la barre latérale d’inscription de votre application, sous Gérer, sélectionnez Exposer une API pour ajouter une étendue d’autorisation. Pour plus d'informations, consultez Ajouter une étendue.

    • Dans la barre latérale d’inscription de votre application, sous Gérer, sélectionnez Rôles d’application pour attribuer un rôle d’application. Pour plus d’informations, consultez Affecter un rôle d’application.

    Vous pouvez également passer en revue les étapes correspondantes dans la section suivante, mettre à jour une inscription d’application existante.

  13. Pour vérifier que l’inscription de votre application est correctement configurée, consultez Test et validation de l’authentification simple.

Mettre à jour une inscription d’application existante

Si vous devez réutiliser une inscription d’application existante partagée avec une autre API ou un prototype antérieur, suivez ces étapes pour revoir et ajuster les paramètres spécifiés afin que l'inscription de l'application puisse fonctionner efficacement avec Easy Auth et les clients agents.

  1. Dans la zone de recherche du portail Azure, recherchez et sélectionnez Microsoft Entra ID.

  2. Dans le menu de la barre latérale, sous Gérer, sélectionnez Inscriptions d’applications, puis recherchez et sélectionnez votre inscription d’application.

  3. Dans le menu de la barre latérale d’inscription de l’application, déroulez Gérer.

  4. Sous Gérer, sélectionnez Personnalisation et propriétés, puis vérifiez que le paramètre d’URL de la page d’accueil spécifie l’URL du site web de votre application logique.

    Note

    L’URL de la page d’accueil est facultative pour les API back-end uniquement ou agent. Définissez cette valeur uniquement si les utilisateurs finaux ont besoin d’une page d’accueil ou de documentation. Les redirections de jeton n’utilisent pas cette valeur.

  5. Sous Gérer, sélectionnez Authentification.

    1. Sous Configurations de la plateforme, vérifiez que l’entrée web existe.

    2. Dans l’entrée Web, sous les URI de redirection, recherchez l’URI de rappel Easy Auth (Authentification App Service) prérempli qui suit cette syntaxe :

      https://<logic-app-name>.azurewebsites.net/.auth/login/aad/callback

      Conservez cette valeur par défaut, sauf si votre scénario vous a besoin d’exposer des ID d’application d’API personnalisés. Cet URI de rappel est le paramètre par défaut de l’audience du jeton d’accès et spécifie les ressources qui peuvent accepter les jetons d’accès des clients souhaitant accéder à ces ressources.

      L’objectif d’une audience de jetons autorisée est d’honorer uniquement les demandes qui présentent des jetons valides pour ces ressources. Une demande de jeton d’accès implique deux parties : le client qui demande le jeton et la ressource qui accepte le jeton. Le destinataire est connu sous le nom d’« audience » du jeton, qui, dans ce cas est votre application logique.

      Pour plus d’informations, consultez Qu’est-ce qu’un URI de redirection ?

    3. Si Azure ne préremplit pas le paramètre d’URI de redirection , entrez manuellement l’URI avec le nom de votre application logique, par exemple :

      https://my-chatbox-logic-app.azurewebsites.net/.auth/login/aad/callback

      Important

      N’utilisez pas d’URI de redirection personnalisés, sauf si vous hébergez un serveur frontal interactif.

    4. Veuillez ne pas tenir compte du paramètre d’URL de déconnexion du canal frontal.

    5. Pour les flux d’octroi implicite et hybride, sélectionnez les deux options suivantes :

      • Jetons d’accès (utilisés pour les flux implicites)
      • Jetons d’ID (utilisés pour les flux implicites et hybrides)

      Pour plus d’informations, consultez la documentation suivante :

    6. Sous Types de comptes pris en charge, sélectionnez l’option correspondant à vos besoins professionnels.

      Dans la plupart des cas, choisissez Comptes dans cet annuaire organisationnel uniquement (Microsoft uniquement - Client unique). Pour l’option multilocataire, vérifiez que vous disposez d’une gouvernance Azure explicite et de stratégies d’accès conditionnel configurées. Pour plus d’informations sur ces options, consultez Les différences de validation par les types de comptes pris en charge.

    7. Sous Paramètres avancés, pour Autoriser les flux clients publics, conservez le paramètre Non pour activer les flux mobiles et de bureau spécifiés.

      L’exception existe lorsque des clients publics natifs doivent éviter le processus ROPC (Resource Owner Password Credentials) en utilisant un code d’appareil ou un code d’authentification.

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

  6. Sous Gérer, sélectionnez Certificats et secrets. Sous l’onglet Informations d’identification fédérées , configurez une nouvelle identité managée affectée par l’utilisateur qui dispose d’un accès d’application logique afin de pouvoir utiliser l’identité managée comme informations d’identification d’identité fédérée sur votre inscription d’application.

    Si vous n’avez pas d'identité managée assignée par l'utilisateur avec accès à l'application de logique, procédez comme suit :

    1. Créer une identité managée attribuée par l’utilisateur.
    2. Ajoutez l’identité affectée par l’utilisateur à votre application logique.
    3. Configurez l'identité attribuée à l'utilisateur en tant que crédentiel d'identité fédérée lors de l'enregistrement de votre application.
  7. Si vous avez besoin de configurer des assertions telles que des rôles, des périmètres, des groupes d’utilisateurs ou XMS_CC, procédez comme suit :

    1. Dans Gérer, sélectionnez Configuration de jetons.

    2. Dans la section Revendications facultatives , ajoutez vos revendications.

      Note

      Pour éviter l’encombrement de jetons, configurez des vérifications de rôle ou d’étendue, plutôt que de grandes revendications de groupes.

  8. Sous Gérer, sélectionnez les autorisations d’API et procédez comme suit :

    1. Sous Autorisations configurées, sélectionnez Ajouter une autorisation.
    2. Dans le volet Demander des autorisations d’API , sous l’onglet API Microsoft , recherchez et sélectionnez Microsoft Graph.
    3. Pour le type d’autorisations, sélectionnez Autorisations déléguées.
    4. Dans la zone Sélectionner des autorisations , entrez User.Read.
    5. Dans la colonne Autorisation , développez Utilisateur, puis sélectionnez l’autorisation User.Read .

    Pour plus d’informations, consultez Ajouter des autorisations pour accéder à Microsoft Graph.

  9. Si vous le souhaitez, sous Gérer, sélectionnez Exposer une API. Vous pouvez donc définir et exposer des étendues d’autorisation.

    Pour le paramètre URI de l'ID d'application, l'URI prérempli est un identifiant unique qui représente votre ressource d'application logique en tant que public cible dans les jetons d'accès et utilise le format suivant :

    api://<application-client-ID>

    Dans la section Étendues définies par cette API, si vous souhaitez vous appuyer uniquement sur la validation des rôles et de l’auditoire, vous n’avez pas besoin de définir ou d’exposer des étendues d'autorisations. Toutefois, si vous souhaitez que les clients Azure demandent des autorisations déléguées, définissez ces étendues en procédant comme suit :

    1. Sélectionnez Ajouter une étendue et fournissez les informations suivantes :

      Réglage Obligatoire Valeur
      Nom de l'étendue Oui user_impersonation
      Qui peut donner son consentement Oui Administrateurs et utilisateurs
      Nom d'affichage du consentement administrateur Oui Étiquette ou nom de l’étendue d’autorisation que le message de consentement affiche lorsque les administrateurs du locataire donnent leur consentement pour l’étendue.

      Par exemple:
      Accéder au <nom de l’application logique>
      Définition du consentement administrateur Oui Description détaillée de l’étendue d’autorisation que l’écran de consentement affiche lorsque les administrateurs clients étendent l’étendue sur l’écran de consentement.

      Par exemple:
      Autorisez l'application à accéder à <logic-app-name> pour le compte de l'utilisateur authentifié.
      Nom d'affichage du consentement de l'utilisateur Non Nom facultatif de l’étendue d’autorisation que l’écran de consentement affiche lorsque les utilisateurs finaux fournissent le consentement pour cette étendue.

      Par exemple:
      Accéder au <nom de l’application logique>
      Définition du consentement de l’utilisateur Non Description détaillée facultative de l’étendue d’autorisation que l’écran de consentement affiche lorsque les utilisateurs finaux étendent l’étendue sur l’écran de consentement.

      Par exemple:
      Autorisez l’application à accéder <logic-app-name> pour vous.
      State Oui Activé
    2. Lorsque vous avez terminé, sélectionnez Ajouter une étendue.

    3. Dans la liste Étendues , passez en revue les paramètres d’étendue mis à jour pour confirmer qu’ils apparaissent comme prévu.

  10. Lorsque vous avez terminé la mise à jour de l’enregistrement de votre application, accédez à votre ressource de logique d’application Standard.

  11. Dans la barre latérale de l’application logique, sous Paramètres, sélectionnez Authentification.

  12. Dans la page Authentification , en regard des paramètres d’authentification, sélectionnez Modifier pour passer en revue les paramètres. Dans le volet Modifier les paramètres d’authentification , confirmez les valeurs suivantes :

Réglage Valeur Descriptif
Authentification de l'App Service Activé Votre application logique est configurée et activée avec Easy Auth.
Restreindre l’accès Exiger l’authentification Les clients et les appelants doivent authentifier leurs identités.
Demandes non authentifiées Oui Votre application logique rejette les clients et appelants non authentifiés comme prévu et émet une réponse de redirection 302 trouvée ou une réponse non autorisée 401 lorsque les demandes n’incluent pas de jetons valides.

Tester et valider l’installation d’authentification facile

Une fois que vous avez configuré Easy Auth, l’interface de conversation interne sur la page Conversation de votre flux de travail dans le portail Azure devient indisponible. Au lieu de cela, vous devez interagir avec votre agent conversationnel à l’aide du client de conversation externe disponible en dehors du portail Azure. Pour confirmer que l’authentification facile fonctionne comme prévu, effectuez vos tests dans le client de conversation externe en procédant comme suit :

  1. Dans la barre d’outils du concepteur ou la barre latérale du flux de travail, sélectionnez Conversation.

    L’interface de conversation interne n’apparaît plus sur la page Conversation .

  2. Dans la section Essentials , sélectionnez le lien URL du client chat , qui ouvre un nouvel onglet de navigateur.

  3. À l’invite de demande d’autorisations, fournissez votre consentement et acceptez la demande.

    Capture d’écran montrant l’invite de consentement de demande d’autorisations.

    La page du navigateur actualise et affiche l’interface du client de conversation externe.

    Conseil / Astuce

    Vous pouvez également incorporer l’URL du client de conversation dans un élément HTML iFrame que vous pouvez utiliser avec votre site web où vous souhaitez fournir le client de conversation, par exemple :

    <iframe src="https:/<logic-app-name>.azurewebsites.net/api/agentsChat/<workflow-name>/IFrame" title="<chat-client-name>"></iframe>

  4. Dans l’interface de conversation externe, démarrez ou continuez à interagir avec votre agent conversationnel.

  5. Pour passer en revue l’historique des exécutions de votre workflow, procédez comme suit :

    1. Revenez au flux de travail dans le portail Azure.

    2. Dans la barre latérale du flux de travail, sous Outils, sélectionnez Historique des exécutions, puis sélectionnez la dernière exécution du flux de travail.

    3. Dans l’affichage du monitoring, vérifiez que l’historique des exécutions et les états des opérations apparaissent comme prévu.

Résoudre les erreurs lors du test d’authentification facile

Le tableau suivant décrit les problèmes courants que vous pouvez rencontrer lorsque vous configurez l’authentification facile, les causes possibles et les actions que vous pouvez effectuer :

Problème ou erreur Cause probable Action
401 avec invalid_token + error_description cela fait référence au public Une incompatibilité existe entre l’audience du jeton d’accès et les audiences de jeton autorisées spécifiées. Assurez-vous que l’audience du jeton d’accès et l’audience autorisée du jeton correspondent.
403 Interdit Peut indiquer que le flux de travail ou l’agent de la demande n’a pas été trouvé. Vérifiez les actions dans votre flux de travail pour un problème d’autorisation.

Utiliser une identité dans le flux de travail

Lorsque Easy Auth valide une demande, Easy Auth injecte des données d’identité dans des en-têtes de requête basés sur le fournisseur d’identité. Votre application logique utilise ces en-têtes pour authentifier l’appelant.

Pour plus d’informations, consultez les articles suivants :