Outlook 外接程序的隐私、权限和安全性
最终用户、开发人员和管理员可以使用 Outlook 外接程序的安全模型的分层权限级别来控制隐私和性能。
本文介绍了 Outlook 加载项可以请求的可能权限,并从以下几个角度审视安全模型。
AppSource:加载项完整性
最终用户:隐私和性能问题
开发人员:权限选择和资源使用限制
管理员:设置性能阈值的权限
权限模型
客户对外接程序安全的理解可能会影响外接程序采用情况,因此 Outlook 外接程序安全依赖于一个多层权限模型。 Outlook 外接程序可能会公开其所需的权限级别,从而确定外接程序可以对客户邮箱数据采取的可能访问和操作。
有四个级别的权限。
权限级别规范名称 | XML 清单名称 | Microsoft 365 名称的统一清单 | 摘要说明 |
---|---|---|---|
限制 | 受限 | MailboxItem.Restricted.User | 允许访问与用户或邮件项目的特定信息无关的属性和方法。 |
读取项 | ReadItem | MailboxItem.Read.User | 除了 受限中允许的内容外,它还允许:
|
读/写项 | ReadWriteItem | MailboxItem.ReadWrite.User | 除了 读取项中允许的内容外,它还允许:
|
读/写邮箱 | ReadWriteMailbox | Mailbox.ReadWrite.User | 除了 在读/写项中允许的内容外,它还允许:
|
权限在清单中声明。 标记因清单类型而异。
- XML 清单:使用 <Permissions> 元素。
- Microsoft 365 (预览版统一清单) :使用“authorization.permissions.resourceSpecific”数组中对象的“name”属性。
注意
- 对于使用“发送时追加”功能的加载项,需要一个补充权限。 使用 XML 清单,可以在 ExtendedPermissions 元素中指定权限。 有关详细信息,请参阅 在 Outlook 外接程序中实现end-on-send。 使用统一清单 (预览) ,可以在“authorization.permissions.resourceSpecific”数组中的其他对象中指定名为 Mailbox.AppendOnSend.User 的此权限。
- 使用共享文件夹的加载项需要补充权限。 使用 XML 清单时,可以通过将 SupportsSharedFolders 元素设置为 来
true
指定权限。 有关详细信息,请参阅 在 Outlook 外接程序中启用共享文件夹和共享邮箱方案。 使用统一清单 (预览) ,可以在“authorization.permissions.resourceSpecific”数组中的其他对象中指定名为 Mailbox.SharedFolder 的此权限。
四个级别的权限具有累积性:读/写邮箱权限包括读/写项权限、读取项权限和受限权限;读/写项权限包括读取项权限和受限权限;读取项权限包括受限权限。
下图显示了四个级别的权限并说明了每一层提供给最终用户、开发人员和管理员的功能。 有关这些权限的详细信息,请参阅 最终用户:隐私和性能问题、开发人员:权限选择和资源使用限制 和了解 Outlook 加载项权限。
AppSource:加载项完整性
AppSource 托管可由最终用户和管理员安装的加载项。 AppSource 强制执行以下措施来维护这些 Outlook 加载项的完整性。
要求加载项的主机服务器始终使用安全套接字层 (SSL) 进行通信。
要求开发人员在提交加载项时提供身份证明、合约协议和适合的隐私策略。
以只读模式存档加载项。
支持针对可用加载项的用户审阅系统以推广自我管理的社区。
可选连接体验
最终用户和 IT 管理员可在 Office 桌面和移动客户端中关闭可选的已连接体验。 对于 Outlook 加载项,禁用 “可选连接体验 ”设置的影响取决于客户端,但通常意味着不允许用户安装的加载项和访问 AppSource。 组织的 IT 管理员通过集中部署而部署的加载项仍然可用。
客户端 | 关闭可选连接体验时的行为 |
---|---|
- Windows1 -Mac |
不显示 “获取外接程序 ”或“ 所有应用2 ”按钮,因此用户无法管理其加载项或访问 AppSource。 |
-Android -Ios |
“ 获取加载项 ”对话框仅显示管理员部署的加载项。 |
- Web 浏览器 - 新的 Windows 版 Outlook (预览版) |
加载项的可用性和对 AppSource 的访问权限不受影响,因此用户可以继续 管理其加载项 ,包括管理员部署的加载项。 |
注意
1 在 Windows 上,此体验的支持可从版本 2008 (内部版本 13127.20296) 获取。 有关客户端版本的更多详细信息,请参阅 Microsoft 365 的更新历史记录页以及如何 查找 Office 客户端版本和更新通道。
2 从 Outlook on Windows 版本 2303 (内部版本 16215.10000) 开始, “所有应用” 按钮用于管理加载项和访问 AppSource。
有关常规加载项行为,请参阅 Office 加载项的隐私和安全性。
最终用户:隐私和性能问题
安全模型通过下列方式解决最终用户的安全、隐私和性能问题。
受 Outlook 信息权限管理 (IRM) 保护的最终用户邮件不会与以下实例中的加载项交互。
当从移动设备上的 Outlook 访问受 IRM 保护的邮件时。
当受 IRM 保护的消息包含敏感度标签时, 将“允许编程访问 ”自定义策略选项设置为
false
。
有关加载项中的 IRM 支持的详细信息,请参阅 受 IRM 保护的邮件项。
从 AppSource 安装加载项之前,最终用户能够查看加载项可以对其数据进行的访问和采取的操作,且必须明确确认后才能继续操作。 未经用户或管理员手动验证,Outlook 外接程序不会自动推送到客户端计算机。
授予“受限”权限可允许 Outlook 加载项仅具有对当前项目的有限访问权限。 授予 读取项目 权限后,Outlook 外接程序只能访问当前项目上的个人身份信息,例如发件人和收件人姓名以及电子邮件地址。
最终用户仅能为他/她自己安装低信任度的 Outlook 外接程序。 对组织产生影响的 Outlook 外接程序由管理员安装。
最终用户可以安装支持上下文相关方案的低信任度 Outlook 外接程序,这不仅对用户具有吸引力,同时还可以最大限度地降低用户的安全风险。
已安装 Outlook 外接程序的清单文件在用户电子邮件帐户中受到保护。
通过托管 Office 外接程序的服务器传送的数据始终根据安全套接字层 (SSL) 协议进行加密。
Windows 版和 Mac 版 Outlook 可监视已安装 Outlook 加载项的性能,行使治理控制,并在加载项超出以下方面的限制时使其不可用。
激活响应时间
激活或重新激活失败次数
内存使用率
CPU 使用率
管治可阻止拒绝服务攻击并将外接程序性能保持在合理的水平。 业务栏提醒最终用户有关 Outlook on Windows 和 Mac 上的加载项因此类治理控制而不可用的问题。
最终用户可以随时验证已安装的 Outlook 加载项请求的权限,并使任何加载项在 Exchange 管理员中心可用或不可用。
开发人员:权限选择和资源使用限制
安全模型向开发人员提供精细级别的权限以供选择,以及严格的性能准则以供遵循。
多层权限将增加透明度
开发人员应按照多层权限模型提供透明度,并解决用户有关哪些加载项可以处理其数据和邮箱的问题,间接促进加载项采用。
开发人员根据 Outlook 外接程序应激活的方式、Outlook 外接程序读取或写入项目特定属性的需求,或者创建和发送项目的需求来针对 Outlook 外接程序请求适当级别的权限。
如上所述,开发人员在清单中请求权限。
以下示例请求 XML 清单中的 读取项 权限。
<Permissions>ReadItem</Permissions>
以下示例请求 Microsoft 365 统一清单中的 读取项 权限, (预览版) 。
"authorization": {
"permissions": {
"resourceSpecific": [
...
{
"name": "MailboxItem.Read.User",
"type": "Delegated"
},
]
}
},
如果 Outlook 加载项在特定类型的 Outlook 项目上激活, (约会或邮件) ,或者特定提取的实体 (电话号码、地址、URL) 项目的主题或正文中存在,则开发人员可以请求 受限 权限。
重要
基于实体的上下文 Outlook 加载项将在 2024 年第 2 季度停用。 停用此功能的工作将于 5 月开始,并持续到 6 月底。 6 月之后,上下文加载项将无法再检测邮件项目中的实体以对其执行任务。 以下 API 也将停用。
- Office.context.mailbox.item.getEntities ()
- Office.context.mailbox.item.getEntitiesByType (entityType)
- Office.context.mailbox.item.getFilteredEntitiesByName (名称)
- Office.context.mailbox.item.getSelectedEntities ()
为了帮助最大程度地减少潜在的中断,在基于实体的上下文加载项停用后,仍支持以下内容。
- 正在开发由联机会议加载项激活的 “加入 会议”按钮的替代实现。 结束对基于实体的上下文加载项的支持后,联机会议加载项将自动转换为替代实现,以激活“ 加入会议 ”按钮。
- 基于实体的上下文加载项停用后,将继续支持正则表达式规则。 建议更新上下文加载项,以使用正则表达式规则作为替代解决方案。 有关如何实现这些规则的指南,请参阅 使用正则表达式激活规则显示 Outlook 加载项。
有关详细信息,请参阅 基于实体的上下文 Outlook 加载项的停用。
如果 Outlook 外接程序需要读取当前项目的属性,而不是默认提取的实体,或者编写加载项对当前 项目 设置的自定义属性,但不需要读取或写入其他项目,或者创建或发送用户邮箱中的邮件,则开发人员应请求读取项目权限。 例如,如果 Outlook 外接程序需要寻找项目主体或正文中的会议建议、任务建议、电子邮件地址或联系人姓名等实体,或者需要使用一个正则表达式来激活,则开发人员应请求“读取项目”权限。
如果 Outlook 加载项需要向撰写的项目的属性(如收件人姓名、电子邮件地址、正文和主题)写入,或需要添加或删除项目附件,那么开发人员应请求“读/写项目”权限。
仅在 Outlook 外接程序需要使用 mailbox.makeEWSRequestAsync 方法执行下列一个或多个操作时,开发人员才请求“读/写邮箱”权限。
- 读取或写入邮箱中项目的属性。
- 创建、读取、写入或发送邮箱中的项目。
- 创建、读取或写入邮箱文件夹。
资源使用调整
开发人员应注意激活资源的使用限制,在他们的开发工作流中加入性能调整功能,以便减少主机对低性能外接程序的拒绝服务机会。 开发人员应遵循激活 限制和适用于 Outlook 加载项的 JavaScript API 中所述设计激活规则的准则。如果 Outlook 加载项打算在 Outlook on Windows 或 Mac 上运行,则开发人员应验证加载项是否在资源使用限制内执行。
提高用户安全性的其他措施
开发人员还应该注意并规划以下内容。
开发人员无法在外接程序中使用 ActiveX 控件,因为它们不受支持。
开发人员应在将 Outlook 加载项提交到 AppSource 时执行以下操作。
生成扩展验证 (EV) SSL 证书作为身份证明。
在支持 SSL 的 Web 服务器上承载其提交的加载项。
生成合规隐私策略。
准备好在提交加载项后签订合约协议。
管理员:权限
安全模型向管理员提供以下权限和责任。
可以阻止最终用户安装任何 Outlook 加载项,包括来自 AppSource 的加载项。
可以通过 Exchange 管理员中心使任何 Outlook 加载项可用或不可用。
仅适用于 Windows 版 Outlook:可以通过 GPO 注册表设置覆盖性能阈值设置。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈