Teams 应用的特定于资源的许可

特定于资源的同意 (RSC) 是由 Microsoft Teams 构建的授权框架,Microsoft 标识平台允许授予对应用的范围访问权限。

通过 RSC,授权用户可以向应用授予对资源类型特定实例的数据的访问权限。 他们不需要向应用授予对整个租户中资源类型每个实例的访问权限。

例如,同时拥有团队 A 和团队 B 的人员可以决定授予 Contoso 应用仅对团队 A 的数据的访问权限,而不授予团队 B 的访问权限。范围数据访问的相同概念也适用于聊天和会议。

以下是 RSC 权限的类型:

  1. 要对其授予数据访问权限的资源类型:

    • Teams (,这些团队中的频道)
    • 与这些聊天关联的聊天 (和会议)
    • 用户
  2. 数据访问模式:

    • 应用程序:应用在没有登录用户的情况下访问数据。
    • 委托:应用仅访问已登录用户会话上下文中的数据。 在没有登录用户的情况下,它不允许访问。
  应用程序上下文 RSC 权限 委托的上下文 RSC 权限
资源类型    
团队 ✔️ ✔️
聊天或会议 ✔️ ✔️
User ✔️ ✔️

在本部分中,你将详细了解:

RSC 权限的类型

使用 RSC 权限确定应用的数据访问方法。 用户授予 RSC 权限的能力因资源类型和访问模式而异。 以下是基于访问模式的应用的 RSC 权限类型:

  • 应用程序上下文 RSC 权限 (应用程序权限) :允许应用在不登录用户的情况下访问数据。 只有资源所有者才能授予应用程序 RSC 权限。

  • 委托的上下文 RSC 权限 (委托的权限) :允许应用仅代表已登录用户访问数据。 如果没有已登录的用户,则不允许访问。 只有经过授权的用户才能在特定范围内安装应用。 他们还可以在应用安装时授予应用在该特定范围内请求的任何委托 RSC 权限。 例如,如果普通成员有权在团队中安装应用,则他们还可以向该特定团队中的应用授予委派 RSC 权限。

基本 RSC 权限

Microsoft 隐私和安全团队已审查了一组有限的 RSC 权限,并被视为低风险。 安装和使用应用时,任何用户都可以随时同意这些权限。 安装时始终同意以下低风险基本权限。

权限名称 操作 类型:委派 类型:应用程序
TeamsActivity.Send.Group 向此团队中的用户发送活动源通知。 不适用 支持
TeamsActivity.Send.User 向用户发送活动源通知。 不适用 支持

基于 RSC 的数据访问 API

Microsoft Graph SDK、Microsoft Bot Framework SDK 和 Microsoft TeamsJS 客户端库支持通过 RSC 进行精细的数据访问。 支持的模式和资源类型因 API 图面而异。

RSC 模式 支持的 SDK 应用清单版本 资源类型 整个租户的 RSC 相关控件 谁可以同意 RSC 权限?
应用程序 • Microsoft Graph
• Microsoft Bot Framework
>=v1.6 Teams、聊天和会议 • 基于 Microsoft Graph 的聊天和会议控件
• Teams 基于Microsoft Entra 管理中心控件
• 团队:团队所有者或成员
• 聊天:聊天成员
• 会议:会议组织者或演示者
Delegated Microsoft Teams 客户端 >=v1.12 Teams、聊天、会议和用户 始终打开 有权在特定范围内安装应用的任何用户。

注意

RSC TeamsActivity.Send 应用程序权限始终在租户级别启用。 应用用户无需管理员同意即可使用该权限。

支持的 RSC 权限

以下列表提供了根据资源类型分类的所有 RSC 权限。 每个表还说明哪些数据访问模式可用于每个权限。

注意

与此处列出的某些权限关联的功能可能无法正式发布 (GA) 。

团队的 RSC 权限

下表提供了团队的 RSC 应用程序权限及其适用的数据访问模式:

权限名称 操作 类型:委派 类型:应用程序
Channel.Create.Group 在团队中创建频道。 不适用 支持
Channel.Delete.Group 删除此团队的频道。 不适用 支持
ChannelMeeting.ReadBasic.Group 阅读此团队中频道会议的基本属性。 不适用 支持
ChannelMeetingParticipant.Read.Group 阅读参与者信息,包括与此团队关联的频道会议的名称、角色、ID、加入和离开时间。 不适用 支持
ChannelMeetingRecording.Read.Group 阅读与此团队关联的所有频道会议的录制内容。 不适用 支持
ChannelMeetingTranscript.Read.Group 阅读与此团队关联的所有频道会议脚本。 不适用 支持
ChannelMeetingNotification.Send.Group 在此团队关联的所有频道会议中发送通知。 不适用 支持
ChannelMessage.Read.Group 阅读此团队的频道消息。 不适用 支持
ChannelMessage.Send.Group 将消息发送到此团队的频道。 不适用 支持
ChannelSettings.Read.Group 阅读此团队频道的名称、说明和设置。 不适用 支持
ChannelSettings.ReadWrite.Group 更新此团队频道的名称、说明和设置。 不适用 支持
Member.Read.Group 读取此组的成员。 不适用 支持
Owner.Read.Group 读取此组的所有者。 不适用 支持
TeamsActivity.Send.Group 向此团队中的用户发送活动源通知。 不适用 支持
TeamsAppInstallation.Read.Group 阅读此团队中安装的应用。 不适用 支持
TeamMember.Read.Group 读取此团队的成员。 不适用 支持
TeamSettings.Read.Group 读取此团队设置。 不适用 支持
TeamSettings.ReadWrite.Group 读取和写入此团队的设置。 不适用 支持
TeamsTab.Create.Group 在此团队中创建选项卡。 不适用 支持
TeamsTab.Delete.Group 删除此团队的选项卡。 不适用 支持
TeamsTab.Read.Group 读取此团队的选项卡。 不适用 支持
TeamsTab.ReadWrite.Group 管理此团队的选项卡。 不适用 支持
ChannelMeetingActiveSpeaker.Read.Group 读取当前正在向与此团队关联的频道会议发送音频的参与者。 支持 不适用
ChannelMeetingAudioVideo.Stream.Group Stream与此团队关联的频道会议的音频视频内容。 支持 不适用
ChannelMeetingIncomingAudio.Detect.Group 检测与此团队关联的频道会议中的传入音频。 支持 不适用
ChannelMeetingStage.Write.Group 显示与此团队关联的频道会议的会议阶段的内容。 支持 不适用
InAppPurchase.Allow.Group 显示并完成此团队中的用户的应用内购买。 支持 不适用
LiveShareSession.ReadWrite.Group 为与此团队关联的会议创建和同步 Live Share 会话。  支持 不适用
MeetingParticipantReaction.Read.Group 读取与此团队关联的频道会议中参与者的反应。 支持 不适用

有关详细信息,请参阅 特定于团队资源的许可权限

聊天或会议的 RSC 权限

如果聊天具有与之关联的会议或通话,则相关的 RSC 权限也适用于这些资源。

下表提供了聊天或会议的 RSC 权限及其适用的数据访问模式:

权限名称 操作 类型:委派 类型:应用程序
Calls.AccessMedia.Chat 访问与此聊天或会议关联的通话中的媒体流。 不适用 支持
Calls.JoinGroupCalls.Chat 加入与此聊天或会议关联的通话。 不适用 支持
ChatSettings.Read.Chat 读取此聊天的设置。 不适用 支持
ChatSettings.ReadWrite.Chat 读取和写入此聊天的设置。 不适用 支持
ChatMessage.Read.Chat 读取此聊天的消息。 不适用 支持
ChatMessage.Send.Chat 向此聊天发送消息。 不适用 支持
ChatMessageReadReceipt.Read.Chat 阅读此聊天中上次看到的消息的 ID。 不适用 支持
ChatMember.Read.Chat 读取此聊天的成员。 不适用 支持
Chat.Manage.Chat 管理此聊天。 不适用 支持
TeamsTab.Read.Chat 读取此聊天的选项卡。 不适用 支持
TeamsTab.Create.Chat 在此聊天中创建选项卡。 不适用 支持
TeamsTab.Delete.Chat 删除此聊天的选项卡。 不适用 支持
TeamsTab.ReadWrite.Chat 管理此聊天的选项卡。 不适用 支持
TeamsAppInstallation.Read.Chat 阅读聊天中安装的应用。 不适用 支持
TeamsActivity.Send.Chat 向此聊天中的用户发送活动源通知。 不适用 支持
OnlineMeetingTranscript.Read.Chat 阅读与此聊天关联的会议脚本。 不适用 支持
OnlineMeeting.ReadBasic.Chat 读取与此聊天关联的会议的基本属性,例如名称、日程安排、组织者、加入链接以及开始或结束通知。 不适用 支持
OnlineMeetingRecording.Read.Chat 阅读与此聊天关联的会议的录制内容。 不适用 支持
OnlineMeetingNotification.Send.Chat 在此聊天关联的会议中发送通知。 不适用 支持
InAppPurchase.Allow.Chat 显示并完成此聊天和任何关联会议中的用户的应用内购买。 支持 不适用
LiveShareSession.ReadWrite.Chat 为与此聊天关联的会议创建和同步 Live Share 会话。 支持 不适用
MeetingStage.Write.Chat 显示与此聊天关联的会议的会议阶段的内容。 支持 不适用
MeetingParticipantReaction.Read.Chat 阅读与此聊天关联的会议中参与者的反应。 支持 不适用
OnlineMeetingIncomingAudio.Detect.Chat 检测与此聊天关联的会议中的传入音频。 支持 不适用
OnlineMeetingActiveSpeaker.Read.Chat 阅读当前正在向与此聊天关联的会议发送音频的参与者。 支持 不适用
OnlineMeetingAudioVideo.Stream.Chat Stream与此聊天关联的会议的音频和视频内容。 支持 不适用
OnlineMeetingParticipant.Read.Chat 读取与此聊天关联的会议的参与者信息,包括姓名、角色、ID、加入时间和离开时间。 支持 支持
OnlineMeetingParticipant.ToggleIncomingAudio.Chat 为与此聊天关联的会议中的参与者切换传入音频。 支持 不适用

有关详细信息,请参阅 聊天资源特定的许可权限

提示

RSC 权限仅适用于安装在 Teams 客户端上的 Teams 应用,而不适用于Microsoft Entra 管理中心。 如果想要了解与应用关联的 RSC 权限,请参阅 Teams 客户端中的应用安装或应用信息对话框。

用户访问的 RSC 权限

下表提供了用户的 RSC 权限及其适用的数据访问模式:

权限名称 操作 类型:委派 类型:应用程序
CameraStream.Read.User 读取用户的相机流。 支持 不适用
InAppPurchase.Allow.User 显示并完成应用内购买。 支持 不适用
MicrophoneStream.Read.User 读取用户的麦克风流。 支持 不适用
MeetingParticipantReaction.Read.User 读取用户在参加会议时的反应。 支持 不适用
OutgoingVideoStream.Write.User 修改用户的传出视频。 支持 不适用
TeamsActivity.Send.User 向用户发送活动通知。 不适用 支持

后续步骤

另请参阅