Teams 应用的特定于资源的许可
特定于资源的许可 (RSC) 是由 Microsoft Teams 构建的授权框架,Microsoft 标识平台允许授予对应用的范围访问权限。
通过 RSC,授权用户可以向应用授予对资源类型特定实例的数据的访问权限。 他们不需要向应用授予对整个租户中资源类型每个实例的访问权限。
例如,同时拥有团队 A 和团队 B 的人员可以决定授予 Contoso 应用仅对团队 A 的数据的访问权限,而不授予团队 B 的访问权限。范围数据访问的相同概念也适用于聊天和会议。
以下是 RSC 权限的类型:
要对其授予数据访问权限的资源类型:
- Teams (,这些团队中的频道)
- 与这些聊天关联的聊天 (和会议)
- 用户
数据访问模式:
- 应用程序:应用在没有登录用户的情况下访问数据。
- 委托:应用仅访问已登录用户会话上下文中的数据。 在没有登录用户的情况下,它不允许访问。
应用程序上下文 RSC 权限 | 委托的上下文 RSC 权限 | |
---|---|---|
资源类型 | ||
团队 | ✔️ | ✔️ |
聊天或会议 | ✔️ | ✔️ |
用户 | ✔️ | ✔️ |
在本部分中,你将详细了解:
RSC 权限的类型
使用 RSC 权限确定应用的数据访问方法。 用户授予 RSC 权限的能力因资源类型和访问模式而异。 以下是基于访问模式的应用的 RSC 权限类型:
应用程序上下文 RSC 权限 (应用程序权限) :允许应用在不登录用户的情况下访问数据。 只有资源所有者才能授予应用程序 RSC 权限。
委托的上下文 RSC 权限 (委托的权限) :允许应用仅代表已登录用户访问数据。 如果没有已登录的用户,则不允许访问。 只有经过授权的用户才能在特定范围内安装应用。 他们还可以在应用安装时授予应用在该特定范围内请求的任何委托 RSC 权限。 例如,如果普通成员有权在团队中安装应用,则他们还可以向该特定团队中的应用授予委派 RSC 权限。
基本 RSC 权限
有限的 RSC 权限集已由Microsoft隐私和安全团队审查,并被视为低风险。 安装和使用应用时,任何用户都可以随时同意这些权限。 安装时始终同意以下低风险基本权限。
权限名称 | 操作 | 类型:委派 | 类型:应用程序 |
---|---|---|---|
TeamsActivity.Send.Group |
向此团队中的用户发送活动源通知。 | 不适用 | 支持 |
TeamsActivity.Send.User |
向用户发送活动源通知。 | 不适用 | 支持 |
基于 RSC 的数据访问 API
Microsoft Graph SDK、Microsoft Bot Framework SDK 和 Microsoft TeamsJS 客户端库支持通过 RSC 进行精细的数据访问。 支持的模式和资源类型因 API 图面而异。
RSC 模式 | 支持的 SDK | 应用清单版本 | 资源类型 | 整个租户的 RSC 相关控件 | 谁可以同意 RSC 权限? |
---|---|---|---|---|---|
应用程序 | • Microsoft图形 • Microsoft Bot Framework |
>=v1.6 | Teams、聊天和会议 | • Microsoft基于图形的聊天和会议控件 • Teams 基于Microsoft Entra 管理中心控件 |
• 团队:团队所有者或成员 • 聊天:聊天成员 • 会议:会议组织者或演示者 |
Delegated | Microsoft Teams 客户端 | >=v1.12 | Teams、聊天、会议和用户 | 始终打开 | 有权在特定范围内安装应用的任何用户。 |
注意
RSC TeamsActivity.Send
应用程序权限始终在租户级别启用。 应用用户无需管理员同意即可使用该权限。
支持的 RSC 权限
以下列表提供了根据资源类型分类的所有 RSC 权限。 每个表还说明哪些数据访问模式可用于每个权限。
- 团队的 RSC 权限:包括团队中的频道。
- 聊天或会议的 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 |
阅读此团队的频道消息。 | 不适用 | 支持 |
ChannelSettings.Read.Group |
阅读此团队频道的名称、说明和设置。 | 不适用 | 支持 |
ChannelSettings.ReadWrite.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 权限限制为 ChatMessageReadReceipt.Read.Chat
。
如果聊天具有与之关联的会议或通话,则相关的 RSC 权限也适用于这些资源。
下表提供了聊天或会议的 RSC 权限及其适用的数据访问模式:
权限名称 | 操作 | 类型:委派 | 类型:应用程序 |
---|---|---|---|
Calls.AccessMedia.Chat |
访问与此聊天或会议关联的通话中的媒体流。 | 不适用 | 支持 |
Calls.JoinGroupCalls.Chat |
加入与此聊天或会议关联的通话。 | 不适用 | 支持 |
ChatSettings.Read.Chat |
读取此聊天的设置。 | 不适用 | 支持 |
ChatSettings.ReadWrite.Chat |
读取和写入此聊天的设置。 | 不适用 | 支持 |
ChatMessage.Read.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 |
向用户发送活动通知。 | 不适用 | 支持 |
TeamsAppInstallation.Read.User |
读取安装在用户个人范围内的应用。 | 不适用 | 支持 |