Бөлісу құралы:


Однотенантная и мультитенантная проверка подлинности для пользователей Microsoft 365

В этой статье приводятся сведения о процессе проверки подлинности для приложений с одним клиентом и мультитенантным приложением Microsoft Entra ID (Microsoft Entra ID ). Вы можете использовать проверку подлинности при создании возможностей звонков для пользователей Microsoft 365 с помощью пакета SDK для вызова программного обеспечения, который Службы коммуникации Azure предоставляется. Варианты использования в этой статье также разбиваются на отдельные артефакты проверки подлинности.

Случай 1. Пример однотенантного приложения

Компания Fabrikam создала приложение для внутреннего использования. У всех пользователей приложения есть идентификатор Microsoft Entra. Доступ к Службы коммуникации Azure управляется управлением доступом на основе ролей Azure (Azure RBAC).

Схема, описывающая процесс проверки подлинности для вызывающего приложения Fabrikam для пользователей Microsoft 365 и его Службы коммуникации Azure ресурса.

На следующей схеме последовательности описана проверка подлинности с одним клиентом.

Схема последовательности, которая содержит сведения о проверке подлинности пользователей Microsoft 365 Fabrikam. Клиентское приложение получает маркер доступа Службы коммуникации Azure для одного клиентского приложения Microsoft Entra.

Прежде чем начать, выполните приведенные ниже действия.

  • Алиса или ее администратор Microsoft Entra должен предоставить пользовательское согласие приложения Teams до первой попытки входа. Дополнительные сведения о согласии.
  • Администратору ресурсов Службы коммуникации Azure необходимо предоставить Алисе разрешение на выполнение ее роли. Дополнительные сведения о назначении ролей Azure RBAC.

Пошаговые инструкции

  1. Проверка подлинности Алисы с помощью идентификатора Microsoft Entra: Алиса проходит проверку подлинности с помощью стандартного потока OAuth с помощью библиотеки проверки подлинности Майкрософт (MSAL). Если проверка подлинности выполнена успешно, клиентское приложение получает маркер доступа Microsoft Entra со значением A1 и идентификатором объекта пользователя Microsoft Entra со значением A2. Маркеры описаны далее в этой статье. Проверка подлинности с точки зрения разработчика рассматривается в этом кратком руководстве.
  2. Получение маркера доступа для Алисы: приложение Fabrikam с помощью пользовательского артефакта проверки подлинности со значением B выполняет логику авторизации, чтобы решить, имеет ли Алиса разрешение на обмен маркером доступа Microsoft Entra для маркера доступа Службы коммуникации Azure. После успешной авторизации приложение Fabrikam выполняет логику плоскости управления, используя артефакты A1иA2A3. Службы коммуникации Azure маркер D доступа создается для Алисы в приложении Fabrikam. Этот маркер доступа можно использовать для действий плоскости данных в Службы коммуникации Azure, таких как вызовы. A3 Артефакты A2 передаются вместе с артефактом A1 для проверки. Проверка гарантирует, что маркер Microsoft Entra был выдан ожидаемому пользователю. Приложение запрещает злоумышленникам использовать маркеры доступа Microsoft Entra, выданные другим приложениям или другим пользователям. Дополнительные сведения о том, как получить A артефакты, см. в разделе "Получение маркера пользователя Microsoft Entra" и идентификатора объекта через библиотеку MSAL и получение идентификатора приложения.
  3. Вызов Боба: Алиса вызывает пользователя Microsoft 365 Bob с приложением Fabrikam. Вызов выполняется через пакет SDK для вызовов с маркером доступа Службы коммуникации Azure. Дополнительные сведения о разработке приложения для пользователей Microsoft 365.

Артефакты —

  • Артефакт A1
    • Тип: маркер доступа Microsoft Entra
    • Аудитория: Azure Communication Services, плоскость управления
    • Источник: клиент Microsoft Entra Fabrikam
    • Разрешения: https://auth.msft.communication.azure.com/Teams.ManageCalls, https://auth.msft.communication.azure.com/Teams.ManageChats
  • Артефакт A2
    • Тип: идентификатор объекта пользователя Microsoft Entra
    • Источник: клиент Microsoft Entra Fabrikam
    • Центр авторизации: https://login.microsoftonline.com/<tenant>/
  • Артефакт A3
    • Тип: идентификатор приложения Microsoft Entra
    • Источник: клиент Microsoft Entra Fabrikam
  • Артефакт B
    • Тип: артефакт авторизации Fabrikam (выдан идентификатором Microsoft Entra или другой службой авторизации)
  • Артефакт C
    • Тип: артефакт авторизации ресурсов Службы коммуникации Azure.
    • Источник: заголовок HTTP "Authorization" с маркером носителя для проверки подлинности Microsoft Entra или полезных данных кода проверки подлинности на основе хэша (HMAC) и подписи для проверки подлинности на основе ключей доступа.
  • Артефакт D
    • Тип: маркер доступа Службы коммуникации Azure
    • Аудитория: Azure Communication Services, плоскость данных
    • идентификатор ресурса Службы коммуникации Azure: FabrikamAzure Communication Services Resource ID

Случай 2. Пример мультитенантного приложения

Компания Contoso создала приложение для внешних клиентов. Это приложение использует пользовательскую проверку подлинности в собственной инфраструктуре Contoso. Компания Contoso использует строка подключения для получения маркеров из приложения Fabrikam.

Схема последовательности, демонстрирующая, как приложение Contoso проверяет подлинность пользователей Fabrikam с помощью собственного Службы коммуникации Azure ресурса Contoso.

На следующей схеме последовательности описана многотенантная проверка подлинности.

Схема последовательности, которая описывает проверку подлинности пользователей Microsoft 365 и Службы коммуникации Azure маркеры доступа для мультитенантных приложений Microsoft Entra.

Прежде чем начать, выполните приведенные ниже действия.

  • Алиса или ее администратор Microsoft Entra должен предоставить согласие приложения Microsoft Entra Contoso перед первой попыткой входа. Дополнительные сведения о согласии.

Пошаговые инструкции

  1. Проверка подлинности Алисы с помощью приложения Fabrikam: Алиса проходит проверку подлинности с помощью приложения Fabrikam. Используется стандартный поток OAuth с библиотекой проверки подлинности Майкрософт (MSAL). Убедитесь, что вы настроите MSAL с правильным центром. Если проверка подлинности выполнена успешно, клиентское приложение Contoso получает маркер доступа Microsoft Entra со значением и идентификатором объекта пользователя Microsoft Entra со значением A1 A2. Сведения о маркере описаны ниже. Проверка подлинности с точки зрения разработчика рассматривается в этом кратком руководстве.
  2. Получение маркера доступа для Алисы: приложение Contoso с помощью пользовательского артефакта проверки подлинности со значением B выполняет логику авторизации, чтобы решить, имеет ли Алиса разрешение на обмен маркером доступа Microsoft Entra на маркер доступа Службы коммуникации Azure. После успешной авторизации приложение Contoso выполняет логику плоскости управления, используя артефакты A1иA2A3. Маркер доступа D Службы коммуникации Azure создается для Алисы в приложении Contoso. Этот маркер доступа можно использовать для действий плоскости данных в Службы коммуникации Azure, таких как вызовы. A3 Артефакты A2 передаются вместе с артефактомA1. Проверка гарантирует, что маркер Microsoft Entra был выдан ожидаемому пользователю. Приложение запрещает злоумышленникам использовать маркеры доступа Microsoft Entra, выданные другим приложениям или другим пользователям. Дополнительные сведения о том, как получить A артефакты, см. в разделе "Получение маркера пользователя Microsoft Entra" и идентификатора объекта через библиотеку MSAL и получение идентификатора приложения.
  3. Вызов Боба: Алиса вызывает пользователя Microsoft 365 Bob с приложением Fabrikam. Вызов выполняется через пакет SDK для вызовов с маркером доступа Службы коммуникации Azure. Дополнительные сведения о разработке приложений для пользователей Microsoft 365 см. в этом кратком руководстве.

Артефакты —

  • Артефакт A1
    • Тип: маркер доступа Microsoft Entra
    • Аудитория: Azure Communication Services, плоскость управления
    • Источник: клиент Microsoft Entra регистрации приложений Contoso
    • Разрешение: https://auth.msft.communication.azure.com/Teams.ManageCalls, https://auth.msft.communication.azure.com/Teams.ManageChats
  • Артефакт A2
    • Тип: идентификатор объекта пользователя Microsoft Entra
    • Источник: клиент Microsoft Entra Fabrikam
    • Центр: https://login.microsoftonline.com/<tenant>/ или https://login.microsoftonline.com/organizations/ (на основе вашего сценария )
  • Артефакт A3
    • Тип: идентификатор приложения Microsoft Entra
    • Источник: клиент Microsoft Entra регистрации приложений Contoso
  • Артефакт B
    • Тип: настраиваемый артефакт авторизации Contoso (выданный идентификатором Microsoft Entra или другой службой авторизации)
  • Артефакт C
  • Артефакт D
    • Тип: маркер доступа Службы коммуникации Azure
    • Аудитория: Azure Communication Services, плоскость данных
    • идентификатор ресурса Службы коммуникации Azure: ContosoAzure Communication Services Resource ID

Следующие шаги

Следующие примеры приложений могут быть интересными для вас:

  • Попробуйте пример приложения, который демонстрирует процесс получения маркеров доступа Службы коммуникации Azure для пользователей Microsoft 365 в мобильных и классических приложениях.

  • Чтобы узнать, как Службы коммуникации Azure маркеры доступа для пользователей Microsoft 365 получаются в одностраничном приложении, проверка пример приложения SPA.

  • Чтобы узнать больше о реализации службы проверки подлинности для Службы коммуникации Azure, проверка образец героя службы проверки подлинности.