了解 Teams 应用的权限和访问的信息

根据其功能,Teams 应用可能会也可能不会访问你的用户或组织的信息,以按预期工作。

  • 某些应用不寻求对组织信息的访问权限,因此不需要任何批准。 用户无需管理员批准或同意即可使用此类应用,因为组织的信息可从此类应用获得保护。
  • 某些应用需要组织或用户的信息才能工作或处理信息。 除非允许此类应用访问组织的信息,否则此类应用无法正常工作。

在允许用户使用应用之前,必须评估应用的符合性、安全性和数据处理信息,并了解应用请求的权限。 为此,你需要了解权限、同意和可用的控制。

应用如何访问组织的信息

Teams 提供安全措施,以便在未经你的同意的情况下无法访问你的组织或用户的信息。 若要使应用访问任何信息,必须执行以下操作:

  1. 应用开发人员在创建应用时声明权限和应用 功能
  2. 管理员在管理门户中了解和分析应用所需的权限。
  3. 通过两种方式授予数据访问权限。 将应用添加到 Teams 后,将被授予对某些基本功能的访问权限,这些功能可能包括访问基本信息。 授予同意后,应用会根据请求同意的应用权限,接收对用户和/或组织的某些数据的访问权限。

权限的类型及其声明源

根据范围,Teams 应用权限可以是以下三种类型。

  • Microsoft Entra ID权限:Microsoft Graph 允许开发人员访问组织的 Microsoft 365 信息和数据,但仅具有相应的Microsoft Entra ID权限。 应用会提前声明这些权限,管理员必须同意这些权限,然后应用才能访问信息。 如果你在 Teams 应用中向管理员授予此类权限,则组织的所有允许用户都可以使用该应用,并允许该应用访问组织的信息。 这些权限在 Microsoft Entra ID 门户中定义。

  • 特定于资源的权限 (RSC) :Teams 中的资源可以是团队、聊天或用户。 使用这些权限,应用只能访问特定资源的信息。 使用 RSC 权限,应用不必请求对组织范围信息的访问权限,并且可以限制其访问范围。 这些 RSC 权限在应用的清单文件中定义。 只有有权访问资源的用户才能同意这些权限。 开发人员在应用本身的应用清单文件中定义这些权限。

  • 基本功能:开发人员创建 Teams 应用时,会使用开发框架中定义的一些功能。 这些功能是应用可以具有的高级功能。 例如,应用可以包含与用户交互的机器人。 当应用使用某个功能时,会自动向其授予一些基本权限。 例如,如果用户允许包含机器人的应用,则机器人可以发送和接收消息。 这些权限存在于应用中,具体取决于应用开发人员向应用添加的功能,并且不是需要同意才能生效的权限。 开发人员不会显式定义这些权限,但在开发人员生成任何应用功能时,会隐式添加这些权限。

根据应用程序访问组织信息的方式,有两种类型的权限:

  • 委托访问:应用程序代表用户访问资源。 此访问需要委派的权限。 应用程序只能访问用户自己可以访问的信息。
  • 仅限应用的访问权限:应用程序在没有用户登录的情况下自行执行操作,如果不希望有特定用户登录,或者所需的数据不能限定为单个用户。 此访问需要应用程序权限。 如果授予许可能够访问与权限关联的数据,则为应用程序。
管理员意识 委托的权限 应用程序权限
应用如何访问信息 代表已登录用户。 自行使用自己的标识。
访问哪些信息 向应用授予许可的权限以及与已登录用户有权访问的权限关联的信息。 与许可权限关联的任何信息
哪些角色可以同意 管理员或用户或组所有者,具体取决于Microsoft Entra ID配置 仅限管理员
用户是否可以同意 用户可以同意,具体取决于Microsoft Entra ID配置 只有管理员才能同意

对于每个应用,这些权限在管理中心的应用详细信息页中列出。

应用权限类型 访问上下文 声明源 何时需要同意? 谁可以同意? 说明
用于 Graph 和旧终结点访问的Microsoft Entra ID 委托 Microsoft Entra ID 应用登录 全局管理员、云管理员和应用程序管理员 请参阅 Teams 应用所需的Microsoft Entra ID权限
用于 Graph 和旧终结点访问的Microsoft Entra ID 应用程序 Microsoft Entra ID 应用登录 全局管理员、云管理员和应用程序管理员 请参阅 Teams 应用所需的 Microsoft Graph 权限
用于获取团队、聊天和用户信息的 RSC 委托 应用清单文件 将应用添加到团队、聊天和会议 资源所有者 请参阅 RSC 权限
用于获取团队、聊天和用户信息的 RSC 应用程序 应用清单文件 将应用添加到团队、聊天和会议 资源所有者 请参阅 RSC 权限
其他权限和数据访问 通过 SDK 委托 清单属性定义它 在客户端中添加应用 安装时默示同意 Permissions可在每个应用的应用详细信息页的选项卡中使用。 此处 提供了更多详细信息

管理员可在何处查看应用的所有权限

可以在应用详细信息页的“权限”选项卡中找到应用请求的所有类型的权限的详细信息。

显示管理中心中列出和请求应用权限的页面的屏幕截图,还允许管理员向所有组织用户授予此类权限的许可。

注意

若要了解如何通过授予对应用权限的同意来允许其使用,请参阅 授予和管理对 Teams 应用权限的同意

Microsoft Entra ID权限

应用开发人员从各种 Graph API 中选择适当的权限,以便应用获得工作所需的信息。 在授予对这些权限的同意之前,可以查看应用请求的特定权限。 它可帮助你评估授予应用权限许可的影响。 若要查看Microsoft Entra ID权限,请执行以下步骤:

  1. 访问 Teams 管理中心并打开 Teams 应用>管理应用 页面。

  2. 搜索所需的应用,然后选择其名称以打开应用详细信息页。

  3. 选择“ 权限 ”选项卡,然后选择“ 查看权限和同意”。

  4. 在对话框中,查看应用所需的权限。 有关对话框中可用信息的详细信息,请参阅 同意提示中提供的信息

    应用请求的权限的屏幕截图。

Microsoft Graph 权限参考中记录了所有可能的权限的完整列表。

RSC 权限允许用户同意应用获取特定于范围的信息。 此类许可允许应用仅访问和修改团队或聊天的信息。 此类应用无法访问聊天或未添加该聊天的团队的信息。 RSC 权限的示例包括创建和删除频道、获取团队设置,以及创建和删除频道选项卡的功能。

RSC 权限将应用权限的范围限制为特定资源,而不是允许应用访问组织范围的信息的组织范围的 Graph 权限。 可以应用 RSC 权限的资源包括聊天和会议、团队和频道以及用户。

RSC 权限在应用清单中定义,而不是在Microsoft Entra ID中定义。 将应用添加到团队时,可授予对 RSC 权限的许可。 要了解详细信息,请参阅 资源特定许可 (RSC)

要查看应用的 RSC 权限,请执行以下步骤:

  1. 访问 Teams 管理中心并转到 Teams 应用>管理应用

  2. 搜索所需的应用,选择应用名称以转到应用详细信息页,然后选择“ 权限 ”选项卡。

  3. “特定于资源的同意 (RSC) 权限”下,查看应用请求的 RSC 权限。

    显示如何查看应用的 RSC 权限的示例的屏幕截图。

应用在 Teams 中可以执行的操作

作为管理员,你管理 Teams 应用,而不是其功能。 Teams 应用具有允许 应用完成其核心用例并完成某些任务的功能。 这些功能由 SDK 提供,安装应用时默示同意。 应用可以完成与功能关联的任务不同于需要管理员同意的权限。作为管理员,必须根据以下功能考虑应用可以执行的操作及其如何与用户交互。

注意

应用可能不会使用以下所有功能,除非应用是一个复杂的应用,迎合多个用例。 应用可以执行的任务取决于应用开发人员使用的功能。

机器人和消息传递扩展

请考虑以下类型的用户交互、所需权限以及机器人和消息传递扩展的数据访问:

  • 机器人可以接收来自用户的消息并对其进行答复。 机器人仅在聊天中接收消息,其中用户通过机器人名称显式提及机器人。 此数据离开公司网络。

  • 用户向机器人发送消息后,机器人可以随时向用户发送直接或主动消息。

  • 某些机器人仅发送消息。 它们称为仅通知机器人,机器人不提供对话体验。

  • 添加到团队的机器人可以获取团队中频道的名称和 ID 列表。

  • 在频道、个人聊天或群组聊天中使用时,应用的机器人可以访问团队成员的基本身份信息, (名字、姓氏、用户主体名称 [UPN] 和电子邮件地址) 。

  • 应用的机器人可以向团队成员发送直接或主动消息,即使他们尚未与机器人交互。

  • 根据作为机器人的应用的设置和功能,它只能在个人聊天中发送和接收文件。 群组聊天或频道不支持它。

  • 机器人仅有权访问添加机器人的团队或添加机器人应用的用户。

  • 当用户与机器人进行交互时,如果机器人存储用户的 ID,则它可以随时发送用户直接消息。

  • 如有必要,用户或管理员可以阻止机器人。 Microsoft 还可以从应用商店中删除机器人。 应用验证和验证检查 可确保在 Teams 应用商店中提供高质量的应用,并且机器人不会对其用户发送垃圾邮件。

  • 机器人可以检索并存储应用添加到的团队成员的基本标识信息,也可以存储个人或群组聊天中的单个用户的基本标识信息。 若要获取有关这些用户的详细信息,机器人必须要求他们登录到Microsoft Entra ID。

  • 机器人可以检索频道列表,并且可以将频道列表存储在团队中。 此数据离开公司网络。

  • 默认情况下,机器人无法代表用户执行操作,但机器人可以要求用户登录;用户登录后,机器人就会获得一个访问令牌,可用于执行其他任务。 任务取决于机器人和用户登录的位置:机器人是注册https://apps.dev.microsoft.com/到的Microsoft Entra应用,可以有自己的权限集。

  • 将文件发送到机器人时,该文件将离开公司网络。 发送和接收文件需要用户批准每个文件。

  • 每当向团队添加或删除用户时,都会通知机器人。

  • 机器人看不到用户的 IP 地址或其他引用者信息。 所有信息都来自 Microsoft。 (有一个例外:如果机器人实现自己的登录体验,登录 UI 将看到用户的 IP 地址和引用网站信息。)

  • 另一方面,消息传递扩展可以查看用户的 IP 地址和引用者信息。

注意

  • 如果机器人具有自己的登录,则用户首次登录时会有不同的同意体验。
  • 用户可以使用 botId 应用中提供的 搜索应用。 虽然用户可以查看应用名称,但无法与此类机器人交互。

选项卡

选项卡是在 Teams 中运行的网站。 它可以作为会议、聊天或频道中的选项卡。

请考虑以下类型的选项卡用户交互或数据访问:

  • 在浏览器或 Teams 中打开选项卡的用户完全相同。 网站本身不能单独访问任何组织的信息。

  • 选项卡还获取运行该选项卡的上下文,包括当前用户的登录名和 UPN、当前用户的Microsoft Entra对象 ID、它所在的 Microsoft 365 组的 ID(如果它是团队) (、租户 ID 以及用户的当前区域设置)。 但是,若要将这些 ID 映射到用户的信息,选项卡必须让用户登录到Microsoft Entra ID。

连接器

外部系统中发生事件时,连接器会将消息发布到通道。 连接器所需的权限是能够在通道中发布消息。 连接器的可选权限是答复邮件的权限。 某些连接器支持可操作邮件,允许用户对连接器消息发布有针对性的答复。 例如,通过添加对 GitHub 问题的响应或向 Trello 卡添加日期。 请考虑连接器以下类型的用户交互、所需权限和数据访问:

  • 发布连接器消息的系统不知道向谁发布或谁接收消息。 不会透露有关收件人的信息。 Microsoft 是实际收件人,而不是组织。 Microsoft 将实际发布到频道。

  • 当连接器在频道中发布消息时,没有数据离开公司网络。

  • 支持可操作消息的连接器也看不到 IP 地址和引用者信息;此信息将发送到 Microsoft,然后路由到以前在连接器门户中向 Microsoft 注册的 HTTP 终结点。

  • 每次为通道配置连接器时,都会为该连接器实例创建唯一 URL。 如果删除该连接器实例,则无法再使用该 URL。

  • 连接器消息不能包含文件附件。

  • 连接器实例 URL 应被视为机密或机密。 拥有 URL 的任何人都可以发布到该 URL。 如有必要,团队所有者可以删除连接器实例。

  • 如有必要,管理员可以阻止创建新的连接器实例,Microsoft 可以阻止使用连接器应用。

传出 webhook

团队所有者或团队成员创建传出 Webhook。 传出 Webhook 可以接收来自用户的消息并对其进行答复。 请考虑以下类型的用户交互、所需权限和传出 Webhook 的数据访问:

  • 传出 Webhook 类似于机器人,但特权较少。 必须像机器人一样显式提及它们。

  • 注册传出 Webhook 时,将生成一个机密,允许传出 Webhook 验证发件人是否为 Microsoft Teams 而不是恶意攻击者。 此机密应保留为机密;有权访问它的任何人都可以模拟 Microsoft Teams。 如果机密遭到入侵,请删除并重新创建传出 Webhook 以生成新机密。

  • 尽管可以创建不验证机密的传出 Webhook,但我们建议对其进行验证。

  • 除了接收和答复邮件之外,传出 Webhook 无法执行很多操作:无法主动发送邮件、无法发送或接收文件、无法执行机器人可执行的任何其他操作(接收和答复邮件除外)。