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).

Diagramme illustrant le processus d’authentification de l’application d’appels de Fabrikam pour les utilisateurs Microsoft 365 et sa ressource Azure Communication Services.

Le diagramme de séquence suivant détaille l’authentification monolocataire.

Diagramme de séquence qui détaille l’authentification des utilisateurs Microsoft 365 de Fabrikam. L’application cliente obtient un jeton d’accès Azure Communication Services pour une application Microsoft Entra 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 :

  1. 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 valeur A2. 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.
  2. 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 artefacts A1, A2 et A3. Le jeton d’accès Azure Communication Services D 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 artefacts A2 et A3 sont passés avec l’artefact A1 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 artefacts A, consultez Recevoir le jeton utilisateur Microsoft Entra et l’ID d’objet via la bibliothèque MSAL et Obtenir un ID d’application.
  3. 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
  • 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.

Diagramme de séquence illustrant la manière dont l’application Contoso authentifie les utilisateurs Fabrikam avec la ressource Azure Communication Services de Contoso.

Le diagramme de séquence suivant détaille l’authentification multilocataire.

Un diagramme de séquence détaillant l’authentification des utilisateurs Microsoft 365 et les jetons d’accès Azure Communication Services pour les applications Microsoft Entra multilocataires.

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 :

  1. 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 valeur A2. 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.
  2. 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 artefacts A1, A2 et A3. Un jeton d’accès Azure Communication Services D 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 artefacts A2 et A3 sont passés avec l’artefact A1. 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 artefacts A, consultez Recevoir le jeton utilisateur Microsoft Entra et l’ID d’objet via la bibliothèque MSAL et Obtenir un ID d’application.
  3. 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>/ ou https://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
  • 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

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é.