安全办公室解决方案

办公室解决方案的安全模型涉及多种技术:用于办公室运行时的 Visual Studio 工具、ClickOnce、Microsoft 办公室中的信任中心以及 Internet Explorer 受限站点区域。 以下各节介绍不同安全功能的工作方式:

授予对办公室解决方案的信任

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

向文档授予信任

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

使用 Windows Installer 时授予信任

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

办公室解决方案的特定安全注意事项

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

开发期间的安全性

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

文档级解决方案

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

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

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

    在向可信位置列表中添加文档位置时,请包括子目录,或者专门包括调试和生成文件夹。 有关详细信息,请参阅Microsoft 办公室联机帮助文章:创建、删除或更改文件的受信任位置。

临时证书

如果不存在签名证书,则 Visual Studio 会创建一个临时证书。 只应在开发过程中使用此临时证书,在部署时应该购买正式证书。

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

在经过一段时间后,可能会有很多临时证书,因此应不定期地清除临时证书。

Visual Studio Tools for Office Runtime

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

自定义加载期间的安全性

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

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

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

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

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

VSTO security - installing from Microsoft Office

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

VSTO security for installing solutions

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

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

VSTO security - using the Setup program to install