Согласие для определенных ресурсов

Примечание

Согласие на доступ к области чата с конкретными ресурсами доступно только для предварительного просмотра общедоступных разработчиков.

Согласие для конкретного ресурса (RSC) — это интеграция API Microsoft Teams и Microsoft Graph, которая позволяет приложению использовать конечные точки API для управления определенными ресурсами, группами или чатами, в организации. Модель разрешений RSC позволяет владельцам команд и владельцам чатов предоставлять согласие приложению на доступ и изменение данных группы и данных чата соответственно.

Примечание: Если в чате есть связанные с ним собрания или вызовы, соответствующие разрешения RSC применяются и к этим ресурсам.

Разрешения, определенные для ресурсов

Разрешения RSC, Teams, определяют, что приложение может сделать в определенном ресурсе.

Разрешения на использование ресурсов для группы

Разрешение приложения Action
TeamSettings.Read.Group Получите параметры этой группы.
TeamSettings.ReadWrite.Group Обновление параметров этой группы.
ChannelSettings.Read.Group Получите имена каналов этой группы, описания каналов и параметры канала.
ChannelSettings.ReadWrite.Group Обновим имена каналов этой группы, описания каналов и параметры канала.
Channel.Create.Group Создание каналов в этой команде.
Channel.Delete.Group Удаление каналов в этой группе.
ChannelMessage.Read.Group Получите сообщения канала этой группы.
TeamsAppInstallation.Read.Group Получите список установленных приложений этой группы.
TeamsTab.Read.Group Получите список вкладок этой группы.
TeamsTab.Create.Group Создание вкладок в этой команде.
TeamsTab.ReadWrite.Group Обновление вкладок этой команды.
TeamsTab.Delete.Group Удаление вкладок этой команды.
TeamMember.Read.Group Получите членов этой группы.
TeamsActivity.Send.Group Создание новых уведомлений в каналах действий пользователей этой группы.

Дополнительные сведения см. в дополнительных сведениях о разрешениях на согласие, определенных ресурсами группы.

Разрешения на доступ к ресурсам для чата

В следующей таблице вы можете получить разрешения на доступ к ресурсам для чата:

Разрешение приложения Action
ChatSettings.Read.Chat Получите параметры этого чата.
ChatSettings.ReadWrite.Chat Обновление параметров этого чата.
ChatMessage.Read.Chat Получите сообщения этого чата.
ChatMember.Read.Chat Получите участников этого чата.
Chat.Manage.Chat Управление чатом.
TeamsTab.Read.Chat Получите вкладки этого чата.
TeamsTab.Create.Chat Создание вкладок в чате.
TeamsTab.Delete.Chat Удаление вкладок чата.
TeamsTab.ReadWrite.Chat Управление вкладками чата.
TeamsAppInstallation.Read.Chat Получите, какие приложения установлены в этом чате.
OnlineMeeting.ReadBasic.Chat Ознакомьтесь с основными свойствами, такими как имя, расписание, организатор, ссылка на соединение и уведомления о встрече, связанной с этим чатом.
Calls.AccessMedia.Chat Доступ к мультимедийным потокам в звонках, связанных с этим чатом или собранием.
Calls.JoinGroupCalls.Chat Присоединение к звонкам, связанным с этим чатом или собранием.
TeamsActivity.Send.Chat Создание новых уведомлений в каналах активности пользователей в этом чате.

Дополнительные сведения см. в материале Chat Resource-specific consent permissions.

Примечание

Разрешения на использование ресурсов доступны только Teams приложениям, установленным на клиенте Teams и в настоящее время не являются частью портала Azure Active Directory (AAD).

Включить RSC в приложении

  1. Настройка параметров согласия на AAD портале.
    1. Настройка параметров согласия владельца группы для RSC в команде.
    2. Настройка параметров согласия пользователей для RSC в чате.
  2. Зарегистрируйте свое приложение платформа удостоверений Майкрософт с помощью AAD портала.
  3. Просмотрите разрешения приложения на портале AAD.
  4. Получение маркера доступа с платформы удостоверений.
  5. Обновление манифеста Teams приложения.
  6. Установите приложение непосредственно в Teams.
  7. Проверьте приложение для дополнительных разрешений RSC.
    1. Проверьте приложение для добавленных разрешений RSC в команде.
    2. Проверьте приложение для добавленных разрешений RSC в чате.

Вы можете включить или отключить согласие владельца группы непосредственно на портале Azure:

  1. Во входе на портал Azure в качестве глобального администратора или администратора компании.

  2. Выберите Azure Active Directory > Enterprise приложений Согласие и > разрешения параметров согласия > пользователя.

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

    Конфигурация команды Azure RSC

Кроме того, вы можете включить или отключить согласие владельца группы с помощью PowerShell, следуйте шагам, описанным в настройке согласия владельца группы с помощью PowerShell.

Вы можете включить или отключить согласие пользователя непосредственно на портале Azure:

  1. Во входе на портал Azure в качестве глобального администратора или администратора компании.

  2. Выберите Azure Active Directory > Enterprise приложений Согласие и > разрешения параметров согласия > пользователя.

  3. Включить, отключить или ограничить согласие пользователя с разрешением пользователя с меткой управления для приложений. По умолчанию разрешается согласие пользователя для приложений. Чтобы участник чата устанавливал приложение с помощью RSC, для этого пользователя необходимо включить согласие пользователя.

    Конфигурация чата Azure RSC

Кроме того, вы можете включить или отключить согласие пользователя с помощью PowerShell, следуйте шагам, описанным в настройке согласия пользователя с помощью PowerShell.

Регистрация приложения с помощью платформа удостоверений Майкрософт с помощью AAD портала

Портал AAD предоставляет центральную платформу для регистрации и настройки приложений. Ваше приложение должно быть зарегистрировано на портале AAD для интеграции с платформой удостоверений и вызова API microsoft Graph API. Дополнительные сведения см. в примере зарегистрировать приложение с помощью платформы удостоверений.

Предупреждение

ID AAD приложения не должен быть общим для нескольких Teams приложений. Должно быть сопоставление 1:1 между приложением Teams и AAD приложением. Попытки установить несколько Teams приложений, связанных с одинаковым AAD, могут привести к сбоям в установке или запуске.

Просмотрите разрешения приложения на AAD портале

  1. Перейдите на страницу > регистрации домашнего приложения и выберите приложение RSC.
  2. Выберите разрешения API с левой области и перейдите по списку настроенных разрешений для вашего приложения. Если приложение делает вызовы API Graph RSC, удалите все разрешения на этой странице. Если ваше приложение также вызывает не RSC, храните эти разрешения по мере необходимости.

Важно!

Портал AAD не может использоваться для запроса разрешений RSC. Разрешения RSC в настоящее время являются исключительными для Teams приложений, установленных в клиенте Teams и объявляются в файле манифеста Teams приложения (JSON).

Получение маркера доступа из платформа удостоверений Майкрософт

Чтобы сделать Graph API, необходимо получить маркер доступа для приложения с платформы удостоверений. Прежде чем приложение сможет получить маркер с платформы удостоверений, его необходимо зарегистрировать на AAD портале. Маркер доступа содержит сведения о приложении и его разрешениях на доступ к ресурсам и API, доступным через Microsoft Graph.

Для получения маркера доступа с платформы удостоверений должны быть следующие значения AAD процесса регистрации:

  • ID приложения, присвоенный порталом регистрации приложений. Если приложение поддерживает один вход (SSO), необходимо использовать тот же ИД приложения для приложения и SSO.
  • Секрет клиента/пароль или пара ключей общего или частного доступа, которая является сертификатом. Это необязательно для нативных приложений;
  • URL-адрес URI перенаправления или ответ для приложения для получения ответов из AAD.

Дополнительные сведения см. в статью Получить доступ от имени пользователя и получить доступ без пользователя.

Обновление манифеста Teams приложения

Разрешения RSC объявляются в файле JSON манифеста приложения. Добавьте ключ webApplicationInfo в манифест приложения со следующими значениями:

Имя Тип Описание
id Строка ID AAD приложения. Дополнительные сведения см. в приложении напортале AAD.
resource Строка Это поле не имеет операции в RSC, но должно быть добавлено и иметь значение, чтобы избежать ответа на ошибку; любая строка будет делать.
applicationPermissions Массив строк Разрешения RSC для вашего приложения. Дополнительные сведения см. в ресурсных разрешениях.

Важно!

Разрешения не RSC хранятся на портале Azure. Не добавляйте их в манифест приложения.

Пример RSC в команде

"webApplicationInfo": {
    "id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
    "resource": "https://RscBasedStoreApp",
    "applicationPermissions": [
        "TeamSettings.Read.Group",
        "TeamSettings.ReadWrite.Group",
        "ChannelSettings.Read.Group",
        "ChannelSettings.ReadWrite.Group",
        "Channel.Create.Group",
        "Channel.Delete.Group",
        "ChannelMessage.Read.Group",
        "TeamsAppInstallation.Read.Group",
        "TeamsTab.Read.Group",
        "TeamsTab.Create.Group",
        "TeamsTab.ReadWrite.Group",
        "TeamsTab.Delete.Group",
        "TeamMember.Read.Group",
        "TeamsActivity.Send.Group"
    ]
  }

Пример RSC в чате

"webApplicationInfo": {
    "id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
    "resource": "https://RscBasedStoreApp",
    "applicationPermissions": [
        "ChatSettings.Read.Chat",
        "ChatSettings.ReadWrite.Chat",
        "ChatMessage.Read.Chat",
        "ChatMember.Read.Chat",
        "Chat.Manage.Chat",
        "TeamsTab.Read.Chat",
        "TeamsTab.Create.Chat",
        "TeamsTab.Delete.Chat",
        "TeamsTab.ReadWrite.Chat",
        "TeamsAppInstallation.Read.Chat",
        "OnlineMeeting.ReadBasic.Chat",
        "Calls.AccessMedia.Chat",
        "Calls.JoinGroupCalls.Chat",
        "TeamsActivity.Send.Chat"
    ]
  }

Примечание

Если приложение предназначено для поддержки установки в командных и чатных сферах, в одном манифесте могут быть указаны разрешения как группы, так и applicationPermissions чата.

Sideload ваше приложение в Teams

Если администратор Teams позволяет настраивать загрузки приложений, вы можете загрузить приложение непосредственно в определенную группу или чат.

Проверьте приложение на дополнительные разрешения RSC

Важно!

Разрешения RSC не приписываются пользователю. Вызовы сделаны с разрешениями приложения, а не с делегированием разрешений пользователя. Приложению может быть разрешено выполнять действия, которые пользователь не может выполнять, например удаление вкладки. Перед вызовами API RSC необходимо просмотреть намерения владельца группы или владельца чата. Дополнительные сведения см. в Microsoft Teams API.

После установки приложения на ресурс можно использовать Graph Explorer для просмотра разрешений, предоставленных приложению на ресурсе.

Проверьте приложение на дополнительные разрешения RSC в команде

  1. Получите группуId группы из Teams.

  2. В Teams выберите Teams из левой области.

  3. Выберите команду, в которой будет установлено приложение.

  4. Выберите эллипсы, ●●● для этой группы.

  5. Выберите Получить ссылку на команду из меню отсев команды.

  6. Скопируйте и сохраните значение groupId из ссылки на диалоговое окно всплывающее окно группы.

  7. Во входе в Graph Explorer.

  8. Сделайте вызов GET в эту конечную точку: https://graph.microsoft.com/beta/teams/{teamGroupId}/permissionGrants . Поле clientAppId в ответе будет соедино указанному в webApplicationInfo.id манифесте Teams приложения.

    Graph ответа обозревателя на вызов GET для разрешений RSC группы

Дополнительные сведения о том, как получить сведения о приложениях, установленных в определенной группе, см. в материале "Имена и другие сведения о приложениях, установленных в указанной группе".

Проверьте приложение на дополнительные разрешения RSC в чате

  1. Получите ID потока чата из веб Teams клиента.

  2. В веб Teams клиенте выберите Чат с левой области.

  3. Выберите чат, в котором установлено приложение из меню отсев.

  4. Скопируйте веб-URL-адрес и сохраните ID потока чата из строки.

    ID потока чата с веб-URL-адреса

  5. Во входе в Graph Explorer.

  6. Вызов GET на следующую конечную точку: https://graph.microsoft.com/beta/chats/{chatId}/permissionGrants . Поле clientAppId в ответе будет соедино указанному в webApplicationInfo.id манифесте Teams приложения.

    Graph исследователя на вызов GET для разрешений RSC чата

Дополнительные сведения о том, как получить сведения о приложениях, установленных в определенном чате, см. в материале "Имена и другие сведения о приложениях, установленных в указанном чате".

Пример кода

Название примера Описание .NET Node.js
Resource-Specific согласия (RSC) Используйте RSC для вызова Graph API. View Просмотр

Дополнительные ресурсы