Share via


Configurer la sécurité du canal Web et Direct Line

Important

Les capacités et les fonctionnalités de Power Virtual Agents font maintenant partie de Microsoft Copilot Studio, suite à des investissements significatifs dans l’IA générative et des intégrations améliorées dans Microsoft Copilot.

Certains articles et captures d’écran peuvent faire référence à Power Virtual Agents pendant que nous mettons à jour la documentation et le contenu de la formation.

Lorsque vous créez un copilote Microsoft Copilot Studio, il est immédiatement disponible dans les canaux Site de démonstration et Site Web personnalisé à toute personne connaissant l’ID du copilote. Ces canaux sont disponibles par défaut et aucune configuration n’est nécessaire.

Pour l’application Microsoft Teams, vous pouvez configurer les options avancées de sécurité du canal web.

Note

Si vous disposez d’une licence Teams uniquement, vous ne pourrez pas générer de secrets pour activer l’accès sécurisé. Les jetons d’accès sécurisé sont créés automatiquement pour vous et l’accès sécurisé est activé par défaut.

Les utilisateurs peuvent trouver l’ID du copilote directement à partir de Microsoft Copilot Studio ou en le recevant de quelqu’un. Mais, selon la fonctionnalité du copilote et son caractère sensible, cela peut ne pas être souhaitable.

Avec la sécurité basée sur Direct Line, vous pouvez activer l’accès uniquement aux emplacements que vous contrôlez en activant l’accès sécurisé avec les secrets ou jetons Direct Line.

Vous pouvez également échanger et régénérer les secrets et actualiser les jetons, et vous pouvez facilement désactiver l’accès sécurisé si vous ne souhaitez plus l’utiliser.

Note

Microsoft Copilot Studio utilise le canal Bot Framework Direct Line pour connecter votre page Web ou votre application au copilote.

Activer ou désactiver la sécurité du canal Web

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

Une fois cette option activée, les canaux ont besoin du client pour authentifier leurs demandes soit en utilisant un secret, soit en utilisant un jeton généré à l’aide du secret obtenu lors de l’exécution.

Tout accès au copilote qui ne fournit pas cette mesure de sécurité sera vain.

  1. Dans votre copilote, dans Paramètres, sélectionnez Sécurité. Ensuite, sélectionnez la vignette Sécurité du canal Web.

    Capture d’écran montrant la sécurité du canal Web en surbrillance sur le menu volant Paramètres.

  2. Basculez le commutateur Exiger un accès sécurisé vers Activé.

    Capture d’écran montrant la page de sécurité du canal Web.

Avertissement

Une fois que l’option « Exiger un accès sécurisé » est activée ou désactivée, le système peut prendre jusqu’à deux heures pour propager les paramètres et les appliquer. Dans cette attente, les paramètres précédents s’appliquent. Vous n’avez pas besoin de publier le copilote pour que cette modification prenne effet.

Vous devez planifier à l’avance pour éviter d’exposer votre copilote par accident.

Si vous devez désactiver l’option de sécurité du canal Web, vous pouvez le faire en basculant Exiger un accès sécurisé sur Désactivé. La désactivation de l’accès sécurisé peut prendre jusqu’à deux heures pour se propager.

Capture d’écran montrant un message de confirmation lors de la désactivation de l’accès sécurisé, indiquant que cette action présente le site Web de démonstration et tout canal Direct Line n’utilisant pas de secret ou de jeton disponible. Cette action peut nécessiter jusqu’à deux heures avant d’être effective.

Utiliser des secrets ou des jetons

Si vous créez une application de service à service, préciser le secret dans les demandes d’en-tête d’autorisation peut se révéler l’approche la plus simple.

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.

Avertissement

Nous déconseillons fortement d’exposer le secret dans tout code qui s’exécute dans le navigateur, soit codé en dur, soit transféré via un appel réseau.

L’acquisition du jeton en utilisant le secret de votre code de service est le moyen le plus sécurisé de protéger votre copilote Microsoft 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. Sélectionnez l’icône de visibilité Icône de visibilité. pour révéler le secret. Un message d’avertissement apparaît avant que vous puissiez le révéler.

Changer les secrets

Si vous devez modifier le secret utilisé par votre copilote, vous pouvez le faire sans aucun temps d’arrêt ni interruption.

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

Régénérer un secret

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

Avertissement 

Tout utilisateur connecté à l’aide du secret d’origine ou d’un jeton obtenu à partir de ce secret sera déconnecté.

Générer un jeton

Vous pouvez générer un jeton qui peut être utilisé lors du démarrage d’une seule conversation de copilote. Pour plus d’informations, consultez la section Obtenir un jeton Direct Line dans l’article Ajouter un copilote aux applications mobiles et personnalisées.

  1. Obtenir le secret.

  2. Émettez la demande suivante dans votre code de service pour échanger le secret contre un jeton. Remplacez <SECRET> avec la valeur du secret obtenu à l’étape 1.

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

Les extraits de code suivants fournissent des exemples de la requête de jeton générée et de sa réponse.

Exemple de demande de génération de jeton

POST https://directline.botframework.com/v3/directline/tokens/generate
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0

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

HTTP/1.1 200 OK
[other headers]
{
  "conversationId": "abc123",
  "token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
  "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 que le jeton reste utile, vous devez actualiser le jeton avant son expiration.

Actualiser un jeton

Un jeton peut être actualisé un nombre de fois illimité, tant qu’il n’a pas expiré.

Un jeton expiré ne peut pas être actualisé.

Pour actualiser un jeton, émettez la demande suivante et remplacez <TOKEN TO BE REFRESHED> avec le jeton que vous souhaitez actualiser.

POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer <TOKEN TO BE REFRESHED>

Les extraits de code suivants fournissent des exemples de la requête d’actualisation de jeton et de sa réponse.

Exemple de demande d’actualisation

POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer CurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn

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 que le nouveau jeton reste utile, vous devez actualiser à nouveau le jeton avant son expiration.

HTTP/1.1 200 OK
[other headers]
{
  "conversationId": "abc123",
  "token": "RCurR_XV9ZA.cwA.BKA.y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xniaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0",
  "expires_in": 1800
}

Pour plus d’information sur l’actualisation d’un jeton, consultez la section Actualiser un jeton Direct Line dans l’article API Direct Line – Authentification.