Согласие с конкретным ресурсом (RSC)Resource-specific consent (RSC)

Важно!

Эти API доступны в https://graph.microsoft.com/beta конечной точке.These APIs are accessible in the https://graph.microsoft.com/beta endpoint. Конечная точка версии бета-версии включает API, которые в настоящее время находятся в режиме предварительной версии и еще не доступны.The beta version endpoint includes APIs that are currently in preview and are not yet generally available. API в конечной точке бета-версии могут быть изменены, и их не рекомендуется использовать в рабочих приложениях.The APIs in the beta endpoint are subject to change and we don't recommend that you use them in your production apps.

Согласие с конкретными ресурсами (RSC) — это интеграция Microsoft Teams и API Microsoft Graph, которая позволяет приложению использовать конечные точки API для управления определенными командами в Организации.Resource-specific consent (RSC) is a Microsoft Teams and Microsoft Graph API integration that enables your app to use API endpoints to manage specific teams within an organization. Модель разрешений согласия для определенных ресурсов (RSC) позволяет владельцам групп предоставлять согласие на доступ к данным приложения и/или изменять их.The resource-specific consent (RSC) permissions model enables team owners to grant consent for an application to access and/or modify a team's data. Детализация, зависящие от Teams, разрешения RSC определяют, что приложение может выполнять в определенной команде:The granular, Teams-specific, RSC permissions define what an application can do within a specific team:

Разрешения для определенных ресурсовResource-specific permissions

Разрешение приложенияApplication permission ActionAction
TeamSettings.Read.GroupTeamSettings.Read.Group Получение параметров для этой команды.Get the settings for this team.
TeamSettings.ReadWrite.GroupTeamSettings.ReadWrite.Group Обновление параметров для команды.Update the settings for this team.
ChannelSettings.Read.GroupChannelSettings.Read.Group Получите имена каналов, описания каналов и параметры канала для этой команды.Get the channel names, channel descriptions, and channel settings for this team.
ChannelSettings.ReadWrite.GroupChannelSettings.ReadWrite.Group Обновите имена каналов, описания каналов и параметры канала для этой команды.Update the channel names, channel descriptions, and channel settings for this team.
Channel.Create.GroupChannel.Create.Group Создание каналов в этой команде.Create channels in this team.
Channel.Delete.GroupChannel.Delete.Group Удаление каналов в этой команде.Delete channels in this team.
ChannelMessage.Read.GroupChannelMessage.Read.Group Получение сообщений о каналах этой группы.Get this team's channel messages.
TeamsAppInstallation.Read.GroupTeamsAppInstallation.Read.Group Получение списка установленных приложений этой группы.Get a list of this team's installed apps.
TeamsTab.Read.GroupTeamsTab.Read.Group Получение списка вкладок этой группы.Get a list of this team's tabs.
TeamsTab.Create.GroupTeamsTab.Create.Group Создание вкладок в этой команде.Create tabs in this team.
TeamsTab.ReadWrite.GroupTeamsTab.ReadWrite.Group Обновление вкладок этой команды.Update this team's tabs.
TeamsTab.Delete.GroupTeamsTab.Delete.Group Удаление вкладок этой команды.Delete this team's tabs.
TeamMember.Read.GroupTeamMember.Read.Group Получение сведений о членах этой группы.Get this team's members.

Примечание

Разрешения, связанные с ресурсами, доступны только для приложений Teams, установленных в клиенте Teams и в настоящее время не входят в состав портала Azure Active Directory.Resource-specific permissions are only available to Teams apps installed on the Teams client and are currently not part of the Azure Active Directory portal.

Ниже приведены действия по включению RSC в приложении.The steps for enabling RSC in your application are as follows:

  1. Настройте параметры разрешения владельца группы на портале Azure Active Directory.Configure group owner consent settings in the Azure Active Directory portal.
  2. Зарегистрируйте свое приложение с помощью платформы удостоверений Майкрософт через портал Azure AD.Register your app with Microsoft identity platform via the Azure AD portal.
  3. Просмотрите разрешения приложения на портале Azure AD.Review your application permissions in the Azure AD portal.
  4. Получите маркер доступа от платформы идентификации Майкрософт.Obtain an access token from the Microsoft Identity platform.
  5. Обновите манифест приложения Teams.Update your Teams app manifest.
  6. Установка приложения непосредственно в Teams.Install your app directly in Teams.
  7. Проверьте приложение на наличие добавленных разрешений RSC.Check your app for added RSC permissions.

Вы можете включать и отключать согласие владельца группы непосредственно на портале Azure:You can enable or disable group owner consent directly within the Azure portal:

  • Войдите на портал Azure в качестве глобального администратора или администратора компании.Sign in to the Azure portal as a Global Administrator/Company Administrator.
  • Выберите параметры разрешения пользователей для корпоративных приложений Azure Active Directory => Enterprise applications => и соответствующие разрешения => User consent settings.Select Azure Active Directory => Enterprise applications => Consent and permissions => User consent settings.
  • Разрешите, запретите или ограничьте согласие пользователя с помощью элемента управления " согласие владельца группы" для приложений, обращающихся к данным (по умолчанию разрешено согласие владельца группы всем владельцам группы).Enable, disable, or limit user consent with the control labeled Group owner consent for apps accessing data (The default is Allow group owner consent for all group owners). Чтобы владелец команды установил приложение с помощью RSC, для него должно быть включено согласие владельца группы.For a team owner to install an app using RSC, group owner consent must be enabled for that user.

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

Чтобы включить или отключить согласие владельца группы на портале Azure с помощью PowerShell, выполните действия, описанные в разделе Настройка разрешения владельца группы с помощью PowerShell.To enable or disable group owner consent within the Azure portal using PowerShell, follow the steps outlined in Configure group owner consent using PowerShell.

Регистрация приложения с помощью платформы удостоверений Майкрософт через портал Azure ADRegister your app with Microsoft identity platform via the Azure AD portal

Портал Azure Active Directory предоставляет центральную платформу для регистрации и настройки приложений.The Azure Active Directory portal provides a central platform for you to register and configure your apps. Ваше приложение должно быть зарегистрировано на портале Azure AD, чтобы интегрироваться с платформой идентификации Майкрософт и вызывать API Microsoft Graph.Your app must be registered in the Azure AD portal to integrate with the Microsoft identity platform and call Microsoft Graph APIs. В разделе Регистрация приложения с помощью платформы удостоверений Майкрософт.See Register an application with the Microsoft identity platform.

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

Не регистрировать несколько приложений Teams в одном идентификаторе приложения Azure AD. Идентификатор приложения должен быть уникальным для каждого приложения.Do not register multiple Teams apps to the same Azure AD app id. The app id must be unique for each app. Попытки установить несколько приложений для одного идентификатора приложения завершатся неудачей.Attempts to install multiple apps to the same app id will fail.

Просмотр разрешений приложения на портале Azure ADReview your application permissions in the Azure AD portal

Перейдите на страницу Home => регистрации домашнего приложения и выберите приложение RSC.Navigate to the Home => App registrations page and select your RSC app. Выберите разрешения API в левой панели навигации и просмотрите список настроенных разрешений для вашего приложения.Choose API permissions from the left nav bar and examine the list of configured permissions for your app. Если ваше приложение будет выполнять только вызовы API Graph RSC, удалите все разрешения на этой странице.If your app will only make RSC Graph API calls, delete all the permission on that page. Если ваше приложение также сделает вызовы, не входящие в RSC,, не будут иметь соответствующих разрешений.If your app will also make non-RSC calls, keep those permissions as needed.

Важно!

Портал Azure AD не может использоваться для запроса разрешений RSC.The Azure AD portal cannot be used to request RSC permissions. Разрешения RSC в настоящее время являются эксклюзивными для приложений Teams, установленных в клиенте Teams, и объявляются в файле манифеста приложения (JSON).RSC permissions are currently exclusive to Teams applications installed in the Teams client and are declared in the app manifest (JSON) file.

Получение маркера доступа от платформы удостоверений МайкрософтObtain an access token from the Microsoft identity platform

Чтобы сделать вызовы API Graph, необходимо получить маркер доступа для приложения из платформы удостоверений.To make Graph API calls, you must obtain an access token for your app from the identity platform. Прежде чем приложение сможет получить маркер от платформы удостоверений Майкрософт, его необходимо зарегистрировать на портале Azure AD.Before your app can get a token from the Microsoft identity platform, it must be registered in the Azure AD portal. Маркер доступа содержит сведения о приложении и его разрешениях на доступ к ресурсам и API, доступным через Microsoft Graph.The access token contains information about your app and the permissions it has for the resources and APIs available through Microsoft Graph.

Для получения маркера доступа от платформы удостоверений необходимо иметь следующие значения из процесса регистрации Azure AD:You'll need to have the following values from the Azure AD registration process to retrieve an access token from the identity platform:

  • Идентификатор приложения , назначенный порталом регистрации приложений.The Application ID assigned by the app registration portal. Если ваше приложение поддерживает единый вход (SSO), необходимо использовать тот же идентификатор приложения для приложения и единого входа.If your app supports single sign-on (SSO) you should use the same Application ID for your app and SSO.
  • Секрет и пароль клиента или открытый/закрытый ключ (сертификат).The Client secret/password or a public/private key pair (Certificate). Это необязательно для нативных приложений;This is not required for native apps.
  • URI перенаправления (или URL-адрес ответа) для приложения на получение ответов от Azure AD.A Redirect URI (or reply URL) for your app to receive responses from Azure AD.

В разделе Получение доступа от имени пользователя и Получение доступа без пользователяSee Get access on behalf of a user and Get access without a user

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

Разрешения RSC объявляются в файле манифеста приложения (JSON).The RSC permissions are declared in your app manifest (JSON) file. Добавьте в манифест приложения ключ webApplicationInfo со следующими значениями:Add a webApplicationInfo key to your app manifest with the following values:

Важно!

Разрешения, отличные от RSC, хранятся на портале Azure.Non-RSC permissions are stored in the Azure portal. Не добавляйте их в манифест приложения.Do not add them to the app manifest.

"webApplicationInfo": {
    "id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
    "resource": "https://RscBasedStoreApp",
    "applicationPermissions": [
      "TeamSettings.Read.Group",
      "ChannelMessage.Read.Group",
      "TeamSettings.Edit.Group",
      "ChannelSettings.ReadWrite.Group",
      "Channel.Create.Group",
      "Channel.Delete.Group",
      "TeamsApp.Read.Group",
      "TeamsTab.Read.Group",
      "TeamsTab.Create.Group",
      "TeamsTab.ReadWrite.Group",
      "TeamsTab.Delete.Group",
      "Member.Read.Group",
      "Owner.Read.Group"
    ]
  }

Установка приложения непосредственно в TeamsInstall your app directly in Teams

После создания приложения вы можете отправить пакет приложения непосредственно определенной команде.Once you've created your app you can upload your app package directly to a specific team. Для этого необходимо включить параметр " Отправить настраиваемые политики приложений " в рамках настраиваемых политик установки приложений.To do so, the Upload custom apps policy setting must be enabled as part of the custom app setup policies. Просмотрите Настраиваемые параметры политики приложений.See Custom app policy settings.

Проверка приложения на наличие добавленных разрешений RSCCheck your app for added RSC permissions

Важно!

Разрешения RSC не заносятся в атрибуты пользователя.The RSC permissions are not attributed to a user. Звонки выполняются с разрешениями приложения, а не делегированными разрешениями пользователя.Calls are made with app permissions, not user delegated permissions. Таким образом, приложению может быть разрешено выполнять действия, которые пользователь не может выполнить, например создание канала или удаление вкладки. Перед выполнением вызовов API RSC необходимо проанализировать назначение владельца команды для вашего варианта использования.Thus, the app may be allowed to perform actions that the user cannot, such as creating a channel or deleting a tab. You should review the team owner's intent for your use case prior to making RSC API calls. Ознакомьтесь с обзором API Microsoft Teams.See Microsoft Teams API overview.

После установки приложения в команду можно использовать проводник диаграмм для просмотра разрешений, предоставленных приложению в команде:Once the app has been installed to a team, you can use Graph Explorer to view the permissions that have been granted to the app in a team:

  • Получение группы клиентов группы из клиента Teams.Get the team's groupId from the Teams client.
  • В клиенте Teams выберите Teams (Teams ) в крайней левой панели навигации.In the Teams client, select Teams from the far left nav bar.
  • В раскрывающемся меню выберите команду, в которой установлено приложение.Select the team where the app is installed from the drop-down menu.
  • Выберите значок Дополнительные параметры (⋯).Select the More options icon (⋯).
  • Выберите команду получить ссылку на команду.Select Get link to team.
  • Скопируйте и сохраните значение groupId из строки.Copy and save the groupId value from the string.
  • Войдите в проводник Graph.Log into Graph Explorer.
  • Выполните вызов Get для следующей конечной точки: https://graph.microsoft.com/beta/groups/{teamGroupId}/permissionGrants .Make a GET call to the following endpoint: https://graph.microsoft.com/beta/groups/{teamGroupId}/permissionGrants. Поле Клиентаппид в отклике будет сопоставляться с appId, указанным в манифесте приложения Teams.The clientAppId field in the response will map to the appId specified in the Teams app manifest. Ответ в проводнике Graph для получения вызова.Graph explorer response to GET call.