安全 Office 解决方案

Office 解决方案的安全模型涉及多种技术:Visual Studio Tools for Office 运行时、ClickOnce、Microsoft Office 中的信任中心以及 Internet Explorer 受限站点区域。 以下部分介绍了不同的安全功能的工作原理:

授予对 Office 解决方案的信任

授予对 Office 解决方案的信任意味着根据以下证据修改每个最终用户的安全策略以信任 Office 解决方案:

向文档授予信任

文档级自定义要求文档位于指定为受信任位置的目录中。 有关详细信息,请参阅 授予对文档的信任

使用 Windows Installer 时授予信任

可以使用 Windows Installer 创建 MSI 文件,将 Office 解决方案安装到 Program Files 目录中,这需要管理员权限。 对于 Program Files 目录中的 Office 解决方案,Visual Studio 2010 Tools for Office 运行时会将这些 Office 解决方案视为受信任,并且不显示 ClickOnce 信任提示。

Office 解决方案的特定安全注意事项

.NET Framework 4、.NET Framework 4.5 和 Microsoft Office 提供的安全功能可帮助防范 Office 解决方案中的各种可能的安全威胁。 有关详细信息,请参阅 Office 解决方案的特定安全注意事项

开发期间的安全性

为了简化开发过程,Visual Studio 设置每次生成项目时在计算机上运行和调试解决方案所需的安全策略。 在某些情况下,可能需要采取其他安全步骤来开发项目。

文档级解决方案

如果要开发以下类型的项目,则必须将文档的完全限定路径添加到 Microsoft Office 应用程序中的受信任位置列表中:

  • 位于网络文件共享上的文档级解决方案,例如 \\servername\sharename

  • 使用 .doc.docm 文件的 Word 文档级解决方案。

    将文档位置添加到受信任位置列表时,请包含子目录,或专门包括调试和生成文件夹。 有关详细信息,请参阅Microsoft Office Online 帮助文章 :创建、删除或更改文件的受信任位置

临时证书

如果签名证书尚不存在,Visual Studio 将创建临时证书。 应仅在开发期间使用此临时证书,并购买官方证书进行部署。

在首次生成 Office 项目后生成临时证书。 下次按 F5 时,将重新生成项目,因为添加证书时将项目标记为已更改。

一段时间后可能会有多个临时证书,因此应偶尔清除临时证书。

Visual Studio Tools for Office 运行时

Visual Studio Tools for Office 运行时具有验证发布者的标识和授予自定义的权限的功能。 它通过一系列安全检查来验证这些权限。

自定义加载期间的安全性

加载文档级自定义项时,Visual Studio Tools for Office 运行时始终检查文档是否位于受信任的位置列表中。 此外,运行时会检查解决方案是否在应用程序清单中请求 FullTrust。 在加载自定义项时,它不会执行其他安全检查。

安装过程中的安全检查顺序

安装或更新 Office 解决方案时,Visual Studio Tools for Office 运行时将执行一组特定序列中的安全检查,以做出信任决策。 仅当运行时确定解决方案受信任时,才会安装或更新解决方案。

可以通过以下四种方式之一启动安装过程:通过运行安装程序、打开部署清单、打开 Microsoft Office 应用程序主机或运行 VSTOInstaller.exe

第一个安全检查仅适用于文档级解决方案。 文档级解决方案的文档必须位于受信任的位置。 如果文档位于远程网络文件共享上,或者具有 .doc.docm 文件扩展名,则必须将文档的位置添加到受信任的位置列表中。 有关详细信息,请参阅 授予对文档的信任

VSTO 安全性 - 从 Microsoft Office 安装

下一组安全检查来自 Visual Studio Tools for Office 运行时和 ClickOnce。 若要通过这些检查,Office 解决方案必须请求 FullTrust 权限,使用未在“不受信任的发布者”列表中列出的证书进行签名,并且位于 Internet Explorer 非受限区域的某个位置。 如果证书位于“受信任的发布者”列表中,则解决方案会立即安装。 否则,如果没有一个检查失败,解决方案将继续执行最后一组检查。

VSTO 安全性用于安装解决方案

如果允许 ClickOnce 信任提示并且尚未授予解决方案信任,则运行时将允许最终用户做出信任决策。 如果用户向解决方案授予信任,则会向用户包含列表添加一个条目。 用户包含列表中的所有解决方案都具有完全信任,可以安装和运行。

从 Visual Studio 2010 开始,如果使用 Windows Installer(MSI)将 Office 解决方案安装到 Program Files 目录中,则会绕过包含列表。 有关详细信息,请参阅 通过使用包含列表来信任 Office 解决方案

VSTO 安全性 - 使用安装程序安装