Модель удостоверений

Службы коммуникации Azure — это служба, не зависящая от удостоверений, которая предлагает несколько преимуществ:

  • Повторно используйте существующие удостоверения из системы управления удостоверениями и просто сопоставите их с удостоверениями Службы коммуникации Azure.
  • Обеспечивает гибкость интеграции, так как модель, не зависящая от удостоверений, хорошо работает с существующей системой удостоверений.
  • Вы можете сохранить данные пользователя, такие как их имя, закрытые, так как не нужно дублировать его в Службы коммуникации Azure.

Службы коммуникации Azure модель идентификации работает с двумя ключевыми понятиями.

Удостоверение пользователя и сопоставление

Уникально идентифицирует пользователя с помощью идентификатора пользователя, который создается Службы коммуникации Azure при создании пользователя. Внешние идентификаторы, такие как номера телефонов, пользователи, устройства, приложения и идентификаторы GUID, нельзя использовать для идентификации в Службах коммуникации Azure. Вы можете бесплатно создавать удостоверения пользователей Службы коммуникации Azure. Плата взимается только в том случае, если пользователь использует модальности связи, например чат или звонок. Удостоверение пользователей можно сопоставить с Службы коммуникации Azure удостоверения пользователя в конфигурациях 1:1, 1:N, N:1, N:N. Пользователь может участвовать в нескольких сеансах связи, одновременно используя несколько устройств. Сопоставление между удостоверением пользователя Службы коммуникации Azure и частным удостоверением пользователя клиента сохраняется и поддерживается клиентом. Например, клиенты могут добавить CommunicationServicesId столбец в таблицу пользователей для хранения связанного удостоверения Службы коммуникации Azure.

Маркеры доступа

После создания удостоверения пользователя пользователь получает возможность участвовать в взаимодействии с помощью чата или звонков с помощью маркеров доступа. Например, только пользователь с маркером чата может участвовать в чате, а пользователь с токеном VoIP может участвовать в вызове VoIP. Пользователь может одновременно иметь несколько маркеров. Службы коммуникации Azure поддерживает несколько типов маркеров для учетной записи пользователей, которым требуется полный доступ и ограниченный доступ. Маркеры доступа имеют следующие свойства.

Свойство Description
Идентификация Уникально идентифицирует токен
Истечение срока действия Маркер доступа действителен в течение периода времени от 1 до 24 часов. После истечения срока действия маркер доступа становится недействительным и не может быть использован для получения доступа к примитивам. Чтобы создать маркер с пользовательским сроком действия, укажите требуемый срок действия при создании маркера. Если пользовательский срок действия не указан, маркер будет действителен в течение 24 часов. Мы рекомендуем использовать короткие маркеры времени существования для одноуровневых собраний и более длительных маркеров времени существования для агентов, использующих приложение в течение длительного периода времени.
Область Параметр область определяет непустый набор примитивов (Chat/VoIP), который можно использовать.

Маркер доступа — это веб-токен JSON (JWT) и имеет защиту целостности. Это значит, что после выдачи маркера его утверждения нельзя изменить. Изменение свойств, таких как удостоверение, срок действия или области, делает маркер недействительным. Использование примитивов с помощью с недействительных маркеров приведет к запрету доступа. Службы коммуникации Azure поддерживают следующие области для маркеров доступа.

Маркер чата область

Поддерживаются три типа маркеров чата область. Ниже описаны разрешения для каждого маркера.

  • чат
  • chat.join
  • chat.join.limited
Возможность / область маркера чат chat.join chat.join.limited
Создание потока чата Y N N
Обновление потока чата с идентификатором Y N N
Удаление потока чата с идентификатором Y N N
Добавление участника в поток чата Y Y N
Удаление участника из потока чата Y Y N
Получение потоков чата Y Y Y
Получение потока чата с идентификатором Y Y Y
Получение ReadReceipt Y Y Y
Создание ReadReceipt Y Y Y
Создание сообщения для потока чата с идентификатором Y Y Y
Получение сообщения с идентификатором сообщения Y Y Y
Обновление собственного сообщения с идентификатором сообщения Y Y Y
Удаление собственного сообщения с идентификатором сообщения Y Y Y
Индикатор ввода текста Y Y Y
Получение участника для идентификатора потока Y Y Y

Область токена VoIP

Поддерживаются два типа токенов VoIP область. Ниже описаны разрешения для каждого маркера.

  • Voip
  • voip.join
Возможность / область маркера Voip voip.join
Запуск вызова VoIP Y N
Запустите вызов VoIP в виртуальных комнатах, когда пользователь уже приглашен в комнату Y Y
Присоединение вызова VoIP InProgress Y Y
Присоединение вызова VoIP InProgress в виртуальных комнатах, когда пользователь уже приглашен в комнату Y Y
Все остальные операции в вызове, такие как отключение или отключение звука, общий доступ к экрану и т. д. Y Y
Все остальные операции в вызове, такие как отключение или отключение звука, общий доступ к экрану и т. д. в виртуальных комнатах. Определяется ролью пользователя Определяется ролью пользователя

Отзыв или обновление маркера доступа

  • Службы коммуникации Azure библиотеку удостоверений можно использовать для отзыва маркера доступа до истечения срока действия. Отзыв маркера не производится немедленно. Для распространения может потребоваться до 15 минут.
  • Удаление удостоверения, ресурса или подписки отменяет все маркеры доступа.
  • Чтобы удалить для пользователя возможность доступа к определенным функциям, отмените все маркеры доступа. Затем выдайте новый маркер доступа с ограниченным набором областей.
  • Смена ключей доступа отменяет все активные маркеры доступа, созданные с помощью бывшего ключа доступа. В этом случае все удостоверения теряют доступ к Службы коммуникации Azure, и они должны выдавать новые маркеры доступа.

Рекомендации

  • Рекомендуется выдавать маркеры доступа в службе на стороне сервера, а не в приложении клиента, Причина заключается в том, что для выдачи требуется ключ доступа или проверка подлинности Microsoft Entra. По соображениям безопасности не рекомендуется предоставлять общий доступ к секретам приложения клиента.
  • Клиентское приложение должно использовать конечную точку доверенной службы, которая может проходить проверку подлинности клиентов. Конечная точка должна выдавать маркеры доступа от их имени. Дополнительные сведения см. в статье Архитектура клиента и сервера.
  • При кэшировании маркеров доступа в резервное хранилище рекомендуется использовать шифрование. Маркер доступа содержит конфиденциальные данные. При отсутствии защиты он может быть использован для совершения вредоносных действий. Злоумышленник, получивший маркер доступа, может запустить пакет SDK и получить доступ к API. Права доступа API ограничены только областью действия, установленной для маркера доступа.
  • Рекомендуется выдавать маркеры доступа, которые включают в себя только необходимые области.

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