Authentification back-end
Si vous disposez d'une brique nécessitant une authentification auprès d'un fournisseur d'identités, vous pouvez configurer un service d'authentification pour activer l'interaction entre Digital Assistant et ce fournisseur d'identités.
Par exemple, vous devrez peut-être configurer un service d'authentification si vous créez une brique pour un canal Microsoft Teams, une brique qui accède à un calendrier Google ou Outlook, ou une brique qui est appelée par une conversation lancée par une application et utilisant un ID utilisateur authentifié pour identifier l'utilisateur.
Vous devez également configurer un service d'authentification si votre brique utilise un client OAuth 2.0, un lien de compte OAuth 2.0 ou un composant intégré Réinitialiser les jetons OAuth2.
Si vous avez une instance Digital Assistant couplée à un abonnement à un service Oracle Cloud Applications basé sur Fusion, tel qu'Oracle Sales Automation ou Oracle Fusion Cloud Human Capital Management, vous n'avez rien à faire pour configurer l'authentification back-end pour les briques fournies. Tout est déjà effectué.
Composants de sécurité intégrés
Oracle Digital Assistant fournit les composants de sécurité suivants :
- OAuth 2.0, client : obtient un jeton d'accès OAuth2 de type d'octroi d'informations d'identification client qu'un composant personnalisé peut utiliser pour accéder aux ressources client sécurisées par OCI IAM ou Oracle Access Manager (OAM).
(Si votre flux de dialogue est développé en mode YAML, utilisez
System.OAuth2Client
.)Avant d'utiliser ce composant dans une brique, inscrivez une application comme décrit dans Inscription de fournisseur d'identités, puis demandez à l'administrateur d'ajouter un service pour le client comme décrit dans Services d'authentification. Si vous avez une instance Digital Assistant couplée à un abonnement à un service Oracle Cloud Applications basé sur Fusion, tel qu'Oracle Sales Cloud ou Oracle Human Capital Management Cloud, votre domaine d'identité OCI IAM comporte déjà une application inscrite et un service d'authentification créé.
- OAuth 2.0 Lien de compte : obtient un jeton d'accès OAuth2 de type d'octroi Code d'autorisation qu'un composant personnalisé peut utiliser pour accéder aux ressources sécurisées par l'un des fournisseurs d'identités suivants :
- OCI IAM
- Oracle Access Manager (OAM)
- Plate-forme d'identité Microsoft
- Plate-forme d'identité Google
(Si votre flux de dialogue est développé en mode YAML, utilisez
System.OAuth2AccountLink
.)Une autre utilisation de ce composant consiste à authentifier les utilisateurs pour les conversations lancées par l'application qui identifient les utilisateurs mobiles à l'aide de leur nom utilisateur, comme décrit dans Création d'un canal pour l'application externe.
Avant d'utiliser ce composant dans une brique, inscrivez une application comme décrit dans Inscription de fournisseur d'identités, puis demandez à l'administrateur d'ajouter un service pour le client comme décrit dans Services d'authentification. Si vous disposez d'une instance Digital Assistant couplée à un abonnement à un service Oracle Cloud Applications basé sur Fusion, tel qu'Oracle Sales Cloud ou Oracle Human Capital Management Cloud, votre domaine d'identité OCI IAM comporte déjà une application inscrite et un service d'authentification a déjà été créé.
-
Réinitialiser les jetons OAuth 2.0 : révoque tous les jetons d'accès et d'actualisation de l'utilisateur connecté du service d'authentification indiqué. Il s'agit des flux de dialogue qui utilisent le composant Lien de compte OAuth 2.0.
(Si votre flux de dialogue est développé en mode YAML, utilisez
System.OAuth2ResetTokens
.)Vous ne pouvez pas utiliser ce composant avec la plate-forme d'identité Microsoft car il ne prend pas en charge la révocation des jetons d'accès via des appels REST, mais uniquement via l'interface de ligne de commande.
-
OAuth Lien de compte : obtient le code d'autorisation pour les fournisseurs d'identités qui prennent en charge le protocole OAuth2. Le composant personnalisé doit échanger ce code pour un jeton d'accès. Ce composant n'utilise pas de service d'authentification.
(Si votre flux de dialogue est développé en mode YAML, utilisez
System.OAuthAccountLink
.)
Inscription de fournisseur d'identités
Un administrateur doit enregistrer une application (également appelée client OAuth) auprès du fournisseur d'identités pour que vous puissiez utiliser le composant OAuth2Client
, OAuth2AccountLink
ou OAuthAccountLink
dans le cadre d'une brique.
Inscription d'une application auprès d'OCI IAM ou d'OAM
Pour pouvoir utiliser un composant OAuth2Client
, OAuth2AccountLink
ou OAuthAccountLink
dans une brique, un administrateur doit inscrire une application confidentielle (également appelée client OAuth) avec OCI IAM ou OAM.
Si vous disposez d'une instance Digital Assistant couplée à un abonnement à un service Oracle Cloud Applications basé sur Fusion, tel qu'Oracle Sales Cloud ou Oracle Human Capital Management Cloud, votre domaine d'identité OCI IAM comporte déjà une application inscrite pour ce service.
Pour savoir comment inscrire une application auprès d'OCI IAM, reportez-vous à Ajout d'une application confidentielle dans la documentation Oracle Cloud Infrastructure. Vous trouverez des informations sur l'inscription d'une application auprès d'OAM dans Configuration des services OAuth dans Administration d'Oracle Access Management.
Lorsque vous inscrivez une application (client) auprès d'OCI IAM ou d'OAM, vous devez fournir les informations suivantes :
-
Types d'octroi autorisés : l'application doit utiliser le type d'octroi de code d'autorisation ou d'informations d'identification client.
-
Portées ou rôles : incluent les ressources auxquelles vos composants personnalisés doivent accéder. Si vous incluez le type d'octroi de jeton d'actualisation, vous devez également ajouter la portée correspondante,
offline_access
pour OCI IAM. -
URL de réacheminement ou de callback : vous devrez fournir l'URL que le fournisseur d'identités utilise pour renvoyer le code d'autorisation. Certains fournisseurs d'identités font référence à cette URL de réacheminement ou à l'URL de callback. Afin de trouver les informations à utiliser pour l'URL de réacheminement, accédez à la page Canaux et ouvrez un canal de webhook ou Facebook (si vous n'en avez pas, créez-en un). Utilisez le domaine et le port de l'URL de webhook du canal (par exemple,
https://<domain>:<port>/connectors/v2/tenants/<tenantId>/listeners/facebook/channels/<channelId>
) pour créer l'URL de réacheminement, qui doit être au formathttps://<domain>:<port>/connectors/v2/callback
. Par exemple,https://example.com:443/connectors/v2/callback
.Si votre instance est provisionnée sur Oracle Cloud Platform (comme toutes les instances de la version 19.4.1), utilisez
v1
au lieu dev2
.
Si vous utilisez OAuth2Client
ou OAuth2AccountLink
pour l'authentification auprès du fournisseur d'identités, après avoir créé l'application (client OAuth), notez les informations d'identification client, le jeton de fournisseur d'identités et l'URL d'autorisation. Vous aurez besoin de ces informations lors de la création d'un service d'authentification comme décrit dans Services d'authentification.
Inscription d'une application auprès de la plate-forme d'identité Microsoft
Pour inscrire une application auprès de la plate-forme d'identité Microsoft, suivez les instructions fournies par Microsoft dans Démarrage rapide : Inscrire une application avec la plate-forme d’identités Microsoft.
Définissez le type d'application sur Web.
Vous devez fournir l'URL que la plate-forme utilise pour renvoyer le code d'autorisation. Afin de trouver les informations à utiliser pour l'URL, accédez à la page Canaux de l'assistant numérique et ouvrez un canal de webhook ou Facebook (si vous n'en avez pas, créez-en un). Utilisez le domaine et le port de l'URL de webhook du canal (par exemple, https://<domain>:<port>/connectors/v2/tenants/<tenantId>/listeners/facebook/channels/<channelId>
) pour créer l'URL de réacheminement, qui doit être au format https://<domain>:<port>/connectors/v2/callback
. Par exemple, https://example.com:443/connectors/v2/callback
.
Une fois l'application inscrite, vous devez créer une clé secrète client comme décrit dans la rubrique Microsoft Créer un secret d'application. Cette clé secrète vous servira lors de la création d'un service d'authentification pour l'application.
Inscription d'une application pour autorisation auprès de Google OAuth2
Pour inscrire une application auprès de Google OAuth2, créez un projet et activez les API nécessaires comme indiqué dans la rubrique Google sur l'activation des API pour votre projet. Si vous prévoyez d'utiliser les composants de calendrier, veillez à activer les API Google Agenda et CalDAV.
Obtenez ensuite l'ID et la clé secrète client de l'application, comme décrit dans la rubrique Google sur la création des informations d'identification d'autorisation.
Sur l'écran de consentement OAuth, indiquez les portées sur lesquelles votre application aura besoin de droits d'accès. Pour plus d'informations, reportez-vous à la rubrique Google sur l'identification des portées d'accès.
Services d'authentification
Pour utiliser les composants de sécurité Client OAuth 2.0 et OAuth 2.0 AccountLink, l'administrateur doit d'abord ajouter un service pour le fournisseur d'identités sur la page Services d'authentification. Vous pouvez créer des services pour les types d'octroi de code d'autorisation et d'informations d'identification client. Les services d'authentification prennent en charge les fournisseurs d'identités OCI IAM et OAM R2PS3.
Si vous disposez d'une instance Digital Assistant couplée à un abonnement à un service Oracle Cloud Applications basé sur Fusion, tel qu'Oracle Sales Cloud ou Oracle Human Capital Management Cloud, un service d'authentification a déjà été créé pour le domaine d'identité OCI IAM associé à votre instance Digital Assistant.
Avant de créer un service, vous devez demander à l'administrateur de votre fournisseur d'identités de vous donner les informations dont vous avez besoin pour ajouter un service.
Ajout d'un service de code d'autorisation
Afin de créer un service d'authentification pour le type d'octroi Code d'autorisation sur OCI IAM, OAM, la plate-forme d'identité Microsoft et la plate-forme d'identité Google, procédez comme suit. Ce type d'octroi s'authentifie à l'aide du nom utilisateur et du mot de passe.
Conseil :
Pour OCI IAM, lorsqu'un utilisateur se connecte via un composant de lien de compte OAuth 2 (Visual Flow Designer) ou un composantSystem.OAuth2AccountLink
(mode YAML), vous pouvez stocker automatiquement les informations de profil de l'utilisateur IAM pendant la durée d'une session. Reportez-vous à Stockage du profil utilisateur pour la durée de la session.
Identité de l'utilisateur dans Digital Assistant
Dans Oracle Digital Assistant, vous disposez de deux options principales pour gérer les identités des utilisateurs d'une brique donnée :
- Laissez Digital Assistant assembler un profil utilisateur temporaire et provisoire basé sur le canal de l'utilisateur et tous les détails de l'utilisateur, le cas échéant, sont fournis par le fournisseur de ce canal. Dans ce cas, une personne qui accède à la même compétence via différents canaux aurait des profils différents pour chaque canal. Les détails de ce profil sont conservés pendant 14 jours. Comportement par défaut.
- Créez une identité d'utilisateur unifiée pour chaque utilisateur reconnu sur plusieurs canaux et pouvant être rendu persistant pendant une période plus longue (ou plus courte). Dans ce mode, vous pouvez donner aux utilisateurs la possibilité de consentir ou de refuser la liaison de leurs détails d'identité et de les stocker avec l'identité unifiée de l'utilisateur. Cette approche est disponible pour les canaux Twilio, Slack et MS Teams.
L'association à un utilisateur unifié facilite également les notifications push. Il permet au service de notification de déterminer lequel des canaux de l'utilisateur est viable pour recevoir une notification et donc transmettre le message à ce canal.
Configuration de l'identité utilisateur unifiée
Vous pouvez configurer des briques pour des identités utilisateur unifiées en procédant comme suit :
- Activez la liaison de comptes de canal dans l'instance Digital Assistant.
- Ajoutez un service de code d'autorisation dans votre instance Digital Assistant.
- Dans le flux de dialogue de la brique, ajoutez un composant OAuth 2.0 Account Link (pour le mode de dialogue Visual) ou System.OAuth2AccountLink (pour le mode YAML).
- Dans le composant, configurez la gestion du consentement utilisateur pour stocker les données d'identité utilisateur unifiées.
L'ID utilisateur unifié d'un utilisateur donné est défini la première fois que l'utilisateur accède à l'assistant numérique et s'authentifie avec une autorisation à l'aide du composant OAuth 2.0. C'est-à-dire que l'identité authentifiée initiale devient le "point de vérité". Tous les ID de compte de canal pour le même utilisateur authentifié OAuth 2.0 sont associés à l'ID utilisateur unifié.
Activer la liaison de comptes de canal
Vous pouvez activer la liaison de comptes de canal pour permettre la reconnaissance des identités utilisateur sur plusieurs canaux d'une brique. Par exemple, si un utilisateur démarre une conversation dans un canal et attend une réponse, il peut également recevoir une notification de cette réponse dans l'autre canal.
Pour activer la liaison de canal :
- Cliquez sur
pour ouvrir le menu latéral et sélectionnez Paramètres > Services d'identité unifiés.
- Activez la bascule Liaison de compte de canal.
Avant la version 22.12, il était possible d'activer la liaison de compte de canal dans des briques individuelles en incluant un composant OAuth 2.0 Account Link dans la brique et en définissant sa propriété
associateWithUnifiedUser
sur true
. A partir de la version 22.12, cette propriété est obsolète et n'a aucun effet, même si elle reste dans le YAML d'un composant.
Confidentialité de l'utilisateur final : Options de consentement de l'utilisateur
Lorsque vous avez activé la liaison de compte de canal, vous pouvez configurer la gestion du consentement utilisateur pour chaque brique individuellement, à l'aide de la propriété requiresAssociationConsent
du composant Lien de compte OAuth 2.0 de la brique. Vous disposez des options suivantes :
Yes
: présente à l'utilisateur les choix de consentement suivants pour l'association des données de compte de canal à un ID utilisateur unifié :- Compte associé. Confirme que l'utilisateur a approuvé la liaison de l'identité de canal en cours avec l'ID utilisateur unifié centralisé.
- Ne jamais lier ce compte. Indique que ce compte de canal spécifique ne doit pas être associé à l'ID utilisateur unifié. L'utilisateur n'est pas invité par la suite à lier ce compte à l'avenir (bien que l'utilisateur puisse ensuite annuler cette décision).
- Non pour le moment. Ne lie pas les comptes de la session en cours, mais n'empêche pas l'utilisateur d'être invité à approuver les sessions suivantes. L'invite de consentement est temporairement supprimée après que l'utilisateur a sélectionné cette option, mais elle peut réapparaître lorsque l'utilisateur s'authentifie à nouveau plus de 24 heures plus tard.
No
. Le compte de canal utilisateur est automatiquement lié à l'ID utilisateur unifié sans que l'utilisateur soit invité à donner son consentement.Notify
. Le compte de canal utilisateur est automatiquement lié à l'ID utilisateur unifié et l'utilisateur en est informé.
La valeur par défaut de la propriété est Yes
.
Personnalisation des invites et des messages de consentement utilisateur
Un ensemble d'invites et de messages s'affiche dans la conversation lorsqu'un utilisateur est informé que ses informations d'identité de compte de canal sont liées à une identité d'utilisateur unifiée ou qu'il dispose d'options de consentement. Vous pouvez ajuster la formulation de ces invites dans les messages du groupe de ressources de la brique.
Pour accéder à ces invites et à ces messages particuliers dans le regroupement de ressources, procédez comme suit :
- Dans la brique, cliquez sur
pour ouvrir le groupe de ressources.
- Sélectionnez l'onglet Configuration.
- Dans le champ Filtre, entrez
OAuthAccount2Link - consent
pour afficher les entrées de bundle liées au consentement.
Conservation des données utilisateur unifiées
La durée de stockage des données d'identité utilisateur unifiées est définie au niveau de l'instance.
Pour configurer la durée de stockage de ces données, procédez comme suit :
- Cliquez sur
pour ouvrir le menu latéral et sélectionnez Paramètres > Services d'identité unifiés.
- Définissez l'option Supprimer les données de compte de canal de l'utilisateur après la période de conservation indiquée sur Activé.
Si elle n'est pas activée, les données de compte de canal de l'utilisateur seront conservées indéfiniment.
- Dans Période de conservation des données utilisateur de compte de canal (en jours), entrez le nombre de jours pendant lesquels les données doivent être stockées.
Le minimum est de 7 et le maximum est de 1100.
Remarque
Les travaux permettant de purger les données ne s'exécutent qu'une fois toutes les 24 à 48 heures. Ainsi, selon l'heure du travail, les données peuvent être conservées jusqu'à 48 heures de plus que la période de conservation que vous désignez.
La suppression des données de compte de canal de l'utilisateur après la période de conservation indiquée affecte uniquement les données liées aux canaux stockées dans le cadre d'une identité utilisateur unifiée. Lorsque la liaison de compte de canal n'est pas activée, les données de profil de l'utilisateur du canal sont conservées pendant 14 jours.
Pour les canaux pour lesquels la liaison de canal n'est pas prise en charge, la période de 14 jours s'applique également, même si la liaison de compte de canal a été activée globalement.