Principes de base de l'authentification Bot Framework

S'APPLIQUE À : SDK v4

Il arrive souvent qu'un bot doive accéder à des ressources protégées, par exemple un compte de messagerie, au nom de l'utilisateur. Pour ce faire, le bot doit être autorisé en fonction des informations d'identification de l'utilisateur. Au préalable, l'utilisateur doit d'abord être authentifié. Le bot doit être une entité connue, autrement dit, elle doit être authentifiée dans le contexte Azure AI Bot Service. Cette opération a lieu avant que le bot ne soit autorisé à fonctionner pour le compte de l'utilisateur.

Essayons de démêler ce nœud en commençant par une vue d'ensemble du contexte d'authentification du Bot Framework.

Bot authentication context

  • Lorsque vous inscrivez un bot dans Azure à l'aide d'une ressource Azure Bot, Azure crée une application d'inscription Microsoft Entra ID. Cette application a un ID d'application (MicrosoftAppId) et une clé secrète client (MicrosoftAppPassword). Vous utilisez ces valeurs dans les fichiers de configuration du bot, comme décrit ci-dessous.

  • Microsoft Entra ID est un service d'identité cloud qui vous permet de créer des applications qui authentifient en toute sécurité les utilisateurs à l'aide de protocoles standard comme OAuth 2.0. Vous créez une application Active Directory et utilisez son ID d'application et son mot de passe pour sélectionner un fournisseur d'identité et générer une connexion d'authentification. Vous ajoutez cette connexion à votre ressource de bot. Vous ajoutez également le nom de connexion dans les fichiers de configuration du bot, comme décrit ci-dessous.

  • Un bot est identifié par son ID d'application de ressource Azure Bot et son mot de passe. Vous ajoutez les valeurs associées dans le fichier de configuration du bot ou à un gestionnaire de secrets ou de clés. Vous ajoutez également le nom de la connexion. Le bot utilise un jeton basé sur l'ID d'application et le mot de passe pour accéder aux ressources protégées. Le bot utilise différents jetons, basés sur la connexion d'authentification, pour accéder aux ressources protégées de l'utilisateur.

authentification et autorisation du bot

Les principales étapes de l'authentification d'un bot et de son autorisation à accéder aux ressources protégées de l'utilisateur sont décrites ci-dessous :

  1. créer une application d'inscription aux canaux de bots.
  2. Ajoutez l'identifiant et le mot de passe de l'application d'inscription au fichier de configuration du bot. Cette opération permet au bot d'être authentifié pour accéder aux ressources protégées.
  3. Créez une application Microsoft Entra ID pour sélectionner un fournisseur d'identité pour authentifier l'utilisateur.
  4. Créez une connexion d'authentification et ajoutez-la aux paramètres d'inscription du canal.
  5. Ajouter le nom de la connexion aux fichiers de configuration du bot. Cette opération permet au bot d'être autorisé à accéder aux ressources protégées de l'utilisateur.

Pour obtenir un exemple complet, consultez Ajouter l'authentification à un bot.

Bonnes pratiques

  • Limitez l'inscription à l'application Microsoft Entra ID à son objectif initial d'application de service à service.
  • Créez une application Microsoft Entra ID supplémentaire pour toute authentification utilisateur-service, pour un contrôle plus limité sur la désactivation des connexions d'authentification, les secrets propagés ou la réutilisation de l'application Microsoft Entra ID avec d'autres applications.

Les problèmes que vous rencontrez si vous utilisez également l'application d'inscription Microsoft Entra ID pour l'authentification sont les suivants :

  • Si le certificat attaché à l'inscription de l'application Microsoft Entra ID doit être renouvelé, il aura un impact sur les utilisateurs qui se sont authentifiés auprès d'autres services Microsoft Entra ID à l'aide du certificat.
  • En général, il crée un point unique de défaillance et de contrôle pour toutes les activités liées à l'authentification avec le bot.

Les articles suivants fournissent des informations détaillées et des exemples sur l'authentification dans Bot Framework. Examinez d'abord les types d'authentification, puis les fournisseurs d'identité.

Article Description
Types d’authentification Décrit les deux types d'authentification Bot Framework et les jetons qu'ils utilisent.
Fournisseurs d’identité Décrit l'utilisation des fournisseurs d'identité. Ils vous permettent de créer des applications qui identifient les utilisateurs en toute sécurité à l'aide de protocoles standard comme OAuth2.0.
Authentification utilisateur Décrit l'authentification de l'utilisateur et le jeton associé pour autoriser un bot à effectuer des tâches au nom de l'utilisateur.
Authentification unique Décrit l'authentification d'un seul utilisateur pour l'accès à plusieurs ressources protégées.
Inscrire un bot auprès d'Azure Explique comment inscrire un bot auprès d'Azure AI Bot Service.
Instructions de sécurité de Bot Framework Décrit la sécurité en général et la manière dont elle s'applique à Bot Framework.
Ajouter une authentification à un bot Explique comment créer une inscription de canal de bot, créer une connexion d'authentification et préparer le code.
Ajouter une authentification unique à un bot Explique comment ajouter l'authentification unique à un bot.