Configurer la sécurité des canaux web et Direct Line

La sécurité des canaux Web et Direct Line contrôle si les clients doivent fournir un secret ou un jeton Direct Line pour se connecter à votre agent Copilot Studio. Sans accès sécurisé, toute personne connaissant l’ID de l’assistant peut se connecter via les canaux Site web de démonstration et Site web personnalisé.

Note

Dans l’expérience Teams uniquement, vous ne pouvez pas générer de secrets. Les jetons d’accès sécurisés sont créés automatiquement, et l’accès sécurisé est activé par défaut. Pour les exigences de licence, consultez les Conditions des produits Microsoft.

Activez « Exiger un accès sécurisé » pour exiger que les clients présentent un secret ou un jeton. Ces identifiants autorisent l'accès au canal Direct Line ; ils n'authentifient pas l'utilisateur final ni ne restreignent l'accès à un site web particulier en eux-mêmes. Configurez l’authentification utilisateur séparément lorsque les utilisateurs doivent se connecter.

Vous pouvez remplacer et régénérer des secrets, rafraîchir des tokens, ou désactiver l’accès sécurisé quand il n’est plus nécessaire.

Copilot Studio utilise le canal Direct Line Bot Framework pour connecter votre page web ou votre application à l’agent.

Activez ou désactivez la sécurité des canaux web

Vous pouvez imposer l’utilisation de secrets et de jetons pour chaque agent individuel.

Lorsque vous activez cette option, les canaux ont besoin que le client authentifie ses demandes à l’aide d’un secret ou à l’aide d’un jeton généré à l’aide du secret obtenu au moment de l’exécution.

Les tentatives d’accès à l’agent qui ne fournissent pas cette mesure de sécurité ne fonctionnent pas.

  1. Accédez à la page Paramètres de votre agent, sélectionnez Sécurité, puis sélectionnez Sécurité du canal web.

    Capture d’écran de la sécurité du canal web mise en surbrillance dans le panneau Paramètres.

  2. Activez Exiger un accès sécurisé.

Warning

Lorsque vous activez ou désactivez Exiger un accès sécurisé, il peut falloir jusqu’à deux heures pour que les nouveaux paramètres système entrent en vigueur. Jusqu’à présent, le paramètre précédent est en vigueur. Vous n’avez pas besoin de publier l’agent pour que cette modification prenne effet.

Planifiez l’avance pour éviter d’exposer votre agent involontairement.

Pour désactiver la sécurité des canaux web, désactivez « Exiger un accès sécurisé » et confirmez le changement. Le changement peut prendre jusqu’à deux heures pour faire effet.

Capture d’écran de la confirmation que désactiver l’accès sécurisé rend le site de démonstration et les canaux Direct Line non sécurisés disponibles.

Utiliser des secrets ou des jetons

Pour une application service-à-service, spécifiez le secret dans l’en-tête d’autorisation des requêtes de votre service.

Si vous écrivez une application où le client s’exécute dans un navigateur Web ou une application mobile ou où le code peut être visible par les clients, vous devez échanger votre secret contre un jeton. Si vous n’utilisez pas de jeton, votre secret peut être compromis. Lorsque vous faites la demande pour acquérir le jeton dans votre service, spécifiez le secret dans l’en-tête d’autorisation.

Les jetons ne fonctionnent que pour une seule conversation et expirent à moins d’être actualisés.

Choisissez le modèle de sécurité qui convient le mieux à votre situation.

Warning

N’exposez pas le secret dans un code qui s’exécute dans le navigateur, codé en dur ou transféré par le biais d’un appel réseau.

L’acquisition du jeton à l’aide du secret dans votre code de service est le moyen le plus sécurisé de protéger votre agent Copilot Studio.

Obtenir les secrets

Vous avez besoin du secret pour pouvoir le spécifier dans les demandes d’en-tête d’autorisation de votre application ou similaire.

  1. Dans le menu de navigation, sous Paramètres, sélectionnez Sécurité. Ensuite, sélectionnez la vignette Sécurité du canal Web.

  2. Sélectionnez Copier pour Secret 1 ou Secret 2 pour le copier dans le presse-papiers. Pour révéler le secret, sélectionnez l’icône de visibilité et consultez l’invite d’avertissement.

Échanger les secrets

Si vous devez modifier le secret que votre agent utilise, vous pouvez le modifier sans temps d’arrêt ni interruption.

Copilot Studio vous fournit deux secrets, qui fonctionnent simultanément. Vous pouvez échanger le secret que votre agent utilise avec l’autre. Une fois les secrets échangés et que vos utilisateurs sont tous connectés à l’aide du nouveau secret, vous pouvez régénérer le secret.

Régénérer un secret

Pour régénérer un secret, sélectionnez Régénérer en regard du secret.

Warning

Profil utilisateur qui se connecte à l’aide du secret d’origine ou d’un jeton obtenu à partir de ce secret est déconnecté.

Générer un jeton

Vous pouvez générer un jeton pour lancer une conversation avec un seul agent. Cette procédure échange un secret Direct Line contre un jeton de conversation dans votre code de service. Pour l’option de point de terminaison de jeton Copilot Studio, en savoir plus dans Get Direct Line token.

  1. Obtenir le secret.

  2. Dans votre code de service, envoyez l’exemple de requête GenerateToken. Remplacez <DirectLineSecret> par le secret que vous avez copié.

Exemple de demande de génération de jeton

POST https://directline.botframework.com/v3/directline/tokens/generate
Authorization: Bearer <DirectLineSecret>

Exemple de réponse de génération de jeton

HTTP/1.1 200 OK
[other headers]
{
  "conversationId": "abc123",
  "token": "<DirectLineToken>",
  "expires_in": 1800
}

Si la demande aboutit, la réponse contient un jeton valide pour une conversation et une valeur expires_in qui indique le nombre de secondes avant l’expiration du jeton.

Pour conserver le jeton utile, vous devez actualiser le jeton avant son expiration.

Actualiser un jeton

Vous pouvez actualiser un jeton un nombre illimité de fois, tant qu’il n’a pas expiré.

Vous ne pouvez pas actualiser un jeton expiré.

Envoyez la demande d’actualisation de l’échantillon. Remplacez <DirectLineToken> par le jeton non expiré à actualiser. Utilisez le jeton de conversation, pas le secret de Direct Line.

Exemple de demande d’actualisation

POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer <DirectLineToken>

Exemple de réponse d’actualisation

Si la demande aboutit, la réponse contient un nouveau jeton valide pour la même conversation que le précédent jeton et une valeur expires_in qui indique le nombre de secondes avant l’expiration du nouveau jeton.

Pour conserver le nouveau jeton utile, actualisez à nouveau le jeton avant son expiration.

HTTP/1.1 200 OK
[other headers]
{
  "conversationId": "abc123",
  "token": "<DirectLineToken>",
  "expires_in": 1800
}

En savoir plus dans Actualiser un jeton Direct Line.