Authentification monolocataire et multilocataire pour les utilisateurs Microsoft 365
Cet article vous donne des informations sur le processus d’authentification pour les applications Microsoft Entra ID monolocataires et multilocataires. Vous pouvez utiliser l’authentification quand vous créez des expériences d’appel pour des utilisateurs Microsoft 365 avec le Kit de développement logiciel (SDK) Appels disponible dans Azure Communication Services. Les cas d’usage de cet article décomposent également les artefacts d’authentification individuels.
Cas 1 : Exemple d’application monolocataire
La société Fabrikam a créé une application pour une utilisation interne. Tous les utilisateurs de l’application ont Microsoft Entra ID. L’accès à Azure Communication Services est contrôlé via le contrôle d’accès en fonction du rôle Azure (RBAC Azure).
Le diagramme de séquence suivant détaille l’authentification monolocataire.
Avant de commencer :
- Alice ou son administrateur Microsoft Entra doit donner le consentement de l’application Teams personnalisée avant la première tentative de connexion. En savoir plus sur le consentement.
- L’administrateur de la ressource Azure Communication Services doit accorder à Alice l’autorisation d’avoir ce rôle. En savoir plus sur l’attribution de rôle RBAC Azure.
Étapes :
- Authentifier Alice à l’aide de Microsoft Entra ID : Alice est authentifiée à l’aide d’un flux OAuth standard avec Microsoft Authentication Library (MSAL). Si l’authentification réussit, l’application cliente reçoit un jeton d’accès Microsoft Entra avec la valeur
A1
et un ID d’objet d’un utilisateur Microsoft Entra avec la valeurA2
. Les jetons sont décrits plus loin dans cet article. L’authentification du point de vue du développeur est explorée dans ce guide de démarrage rapide. - Obtenir un jeton d’accès pour Alice : l’application Fabrikam, en utilisant un artefact d’authentification personnalisé avec la valeur
B
, exécute une logique d’autorisation pour décider si Alice est autorisée à échanger le jeton d’accès Microsoft Entra contre un jeton d’accès Azure Communication Services. Une fois l’autorisation réussie, l’application Fabrikam exécute une logique de plan de contrôle en utilisant les artefactsA1
,A2
etA3
. Le jeton d’accès Azure Communication ServicesD
est généré pour Alice dans l’application Fabrikam. Ce jeton d’accès peut être utilisé pour les actions du plan de données dans Azure Communication Services, comme les appels. Les artefactsA2
etA3
sont passés avec l’artefactA1
pour validation. La validation garantit que le jeton Microsoft Entra a été émis à l’utilisateur attendu. L’application empêche les attaquants d’utiliser les jetons d’accès Microsoft Entra émis pour d’autres applications ou d’autres utilisateurs. Pour plus d’informations sur la façon d’obtenir des artefactsA
, consultez Recevoir le jeton utilisateur Microsoft Entra et l’ID d’objet via la bibliothèque MSAL et Obtenir un ID d’application. - Appeler Bob : Alice passe un appel à l’utilisateur Microsoft 365 dénommé Bob, avec l’application de Fabrikam. L’appel a lieu via le KIT SDK appelant avec un jeton d’accès Azure Communication Services. En savoir plus sur le développement d’applications pour les utilisateurs Microsoft 365.
Artefacts :
- Artefact
A1
- Type : jeton d’accès Microsoft Entra
- Audience :
Azure Communication Services
, plan de contrôle - Source : locataire Microsoft Entra de Fabrikam
- Autorisations :
https://auth.msft.communication.azure.com/Teams.ManageCalls
,https://auth.msft.communication.azure.com/Teams.ManageChats
- Artefact
A2
- Type : ID d’objet d’un utilisateur Microsoft Entra
- Source : locataire Microsoft Entra de Fabrikam
- Autorité :
https://login.microsoftonline.com/<tenant>/
- Artefact
A3
- Type : ID de l’application Microsoft Entra
- Source : locataire Microsoft Entra de Fabrikam
- Artefact
B
- Type : artefact d’autorisation Fabrikam personnalisé (émis par Microsoft Entra ou un autre service d’autorisation)
- Artefact
C
- Type : artefact d’autorisation des ressources Azure Communication Services.
- Source : en-tête HTTP « Authorization » avec un jeton du porteur pour l’authentification Microsoft Entra ou une charge utile HMAC (Hash-based Message Authentication Code) et une signature pour l’authentification par clé d’accès.
- Artefact
D
- Type : jeton d’accès Azure Communication Services
- Audience :
Azure Communication Services
, plan de données - ID de ressource Azure Communication Services :
Azure Communication Services Resource ID
de Fabrikam
Cas 2 : Exemple d’application multilocataire
La société Contoso a créé une application pour des clients externes. Cette application utilise l’authentification personnalisée dans l’infrastructure de Contoso. Contoso utilise une chaîne de connexion pour récupérer les jetons à partir de l’application de Fabrikam.
Le diagramme de séquence suivant détaille l’authentification multilocataire.
Avant de commencer :
- Alice ou son administrateur Microsoft Entra doit donner son consentement à l’application Microsoft Entra de Contoso avant la première tentative de connexion. En savoir plus sur le consentement.
Étapes :
- Authentifier Alice à l’aide de l’application Fabrikam : Alice est authentifiée via l’application de Fabrikam. Un flux OAuth standard avec Microsoft Authentication Library (MSAL) est utilisé. Veillez à configurer MSAL avec une autorité correcte. Si l’authentification réussit, l’application cliente de Contoso reçoit un jeton d’accès Microsoft Entra avec la valeur
A1
et un ID d’objet d’utilisateur Microsoft Entra avec la valeurA2
. Les détails du jeton sont décrits ci-dessous. L’authentification du point de vue du développeur est explorée dans ce guide de démarrage rapide. - Obtenir un jeton d’accès pour Alice : l’application Contoso, en utilisant un artefact d’authentification personnalisé avec la valeur
B
, exécute une logique d’autorisation pour décider si Alice est autorisée à échanger le jeton d’accès Microsoft Entra contre un jeton d’accès Azure Communication Services. Une fois l’autorisation réussie, l’application Contoso exécute une logique de plan de contrôle en utilisant les artefactsA1
,A2
etA3
. Un jeton d’accès Azure Communication ServicesD
est généré pour Alice dans l’application Contoso. Ce jeton d’accès peut être utilisé pour les actions du plan de données dans Azure Communication Services, comme les appels. Les artefactsA2
etA3
sont passés avec l’artefactA1
. La validation garantit que le jeton Microsoft Entra a été émis à l’utilisateur attendu. L’application empêche les attaquants d’utiliser les jetons d’accès Microsoft Entra émis pour d’autres applications ou d’autres utilisateurs. Pour plus d’informations sur la façon d’obtenir des artefactsA
, consultez Recevoir le jeton utilisateur Microsoft Entra et l’ID d’objet via la bibliothèque MSAL et Obtenir un ID d’application. - Appeler Bob : Alice passe un appel à l’utilisateur Microsoft 365 dénommé Bob, avec l’application de Fabrikam. L’appel a lieu via le KIT SDK appelant avec un jeton d’accès Azure Communication Services. Découvrez plus d’informations sur le développement d’applications pour les utilisateurs Microsoft 365 dans ce guide de démarrage rapide.
Artefacts :
- Artefact
A1
- Type : jeton d’accès Microsoft Entra
- Audience :
Azure Communication Services
, plan de contrôle - Source : locataire Microsoft Entra de l’inscription d’application Contoso
- Autorisation :
https://auth.msft.communication.azure.com/Teams.ManageCalls
,https://auth.msft.communication.azure.com/Teams.ManageChats
- Artefact
A2
- Type : ID d’objet d’un utilisateur Microsoft Entra
- Source : locataire Microsoft Entra de Fabrikam
- Autorité :
https://login.microsoftonline.com/<tenant>/
ouhttps://login.microsoftonline.com/organizations/
(en fonction de votre scénario)
- Artefact
A3
- Type : ID de l’application Microsoft Entra
- Source : locataire Microsoft Entra de l’inscription d’application Contoso
- Artefact
B
- Type : artefact d’autorisation Contoso personnalisé (émis par Microsoft Entra ou un autre service d’autorisation)
- Artefact
C
- Type : artefact d’autorisation des ressources Azure Communication Services.
- Source : en-tête HTTP « Authorization » avec un jeton du porteur pour l’authentification Microsoft Entra ou une charge utile HMAC (Hash-based Message Authentication Code) et une signature pour l’authentification par clé d’accès
- Artefact
D
- Type : jeton d’accès Azure Communication Services
- Audience :
Azure Communication Services
, plan de données - ID de ressource Azure Communication Services :
Azure Communication Services Resource ID
de Contoso
Étapes suivantes
- Découvrez-en plus sur l’authentification.
- Essayez ce guide de démarrage rapide pour authentifier les utilisateurs Microsoft 365.
- Essayez ce guide de démarrage rapide pour appeler un utilisateur Microsoft 365.
Les exemples d’applications suivants peuvent vous intéresser :
Essayez l’exemple d’application, qui montre un processus d’acquisition de jetons d’accès Azure Communication Services pour les utilisateurs Microsoft 365 dans des applications mobiles et de bureau.
Pour voir comment les jetons d’accès Azure Communication Services pour les utilisateurs Microsoft 365 sont acquis dans une application monopage, consultez un exemple d’application monopage.
Pour en découvrir plus sur une implémentation serveur d’un service d’authentification pour Azure Communication Services, consultez l’exemple de service d’authentification approuvé.