本文介绍如何使用名为沙盒模式的 Access 安全功能。 在沙盒模式下,Access 会阻止“不安全”表达式:任何表达式使用函数或属性,恶意用户可能利用这些函数或属性来访问他们没有授权的驱动器、文件或其他资源。 例如, Kill 和 Shell 等函数可用于损坏计算机上的数据和文件,因此在沙盒模式下会阻止它们。
注意: 本主题不适用于 Access Web 应用或 Access Web 数据库,也不涵盖其他 Access 安全功能。
本文内容
概述
沙盒模式是一项安全功能,可防止 Access 运行某些可能不安全的表达式。 无论数据库是否“受信任”(其内容已启用)都会阻止这些不安全的表达式。
沙盒模式的设置方式
使用注册表项指定 Access 是否应在沙盒模式下运行。 默认情况下启用沙盒模式 - 在计算机上安装 Access 时,注册表项值设置为启用沙盒模式。 如果要允许所有表达式运行,可以将注册表项值更改为禁用沙盒模式。
受信任的数据库
无论是否在注册表中启用沙盒模式,除非数据库文件位于受信任位置或具有有效的信任签名,否则 Access 都不允许运行可能不安全的表达式。 如果数据库不“受信任”,则 Access 使用沙盒模式。
下图显示了 Access 遇到不安全表达式时遵循的决策过程。
如果不熟悉注册表,或者自己不习惯更改注册表项,请向熟悉并熟悉更改注册表的人员寻求帮助。 必须在计算机上具有管理员权限才能更改注册表值。
禁用沙盒模式 (运行不安全的表达式)
在某些安装中,可以通过更改注册表项的值来禁用沙盒模式。
注意: 并非所有 Access 安装都将包括以下过程中引用的 SandBoxMode 注册表项。 如果找不到注册表项,建议不要添加它,因为它可能会干扰 Office 更新。
谨慎 注册表编辑不当可能会严重损坏操作系统,导致你必须重新安装它。 Microsoft 无法保证可解决因注册表编辑不当而引起的问题。 编辑注册表之前,请备份任何有价值的数据。 有关如何使用和保护计算机注册表的最新信息,请参阅 Microsoft Windows 帮助。
更改注册表项
重要: 按照下列步骤进行操作可以允许计算机上的所有用户在所有 Access 实例中运行不安全的表达式。
-
关闭要禁用沙盒模式的计算机上运行的所有 Access 实例。
-
按 Windows 键,键入 “运行”,然后按 Enter。
-
在“打开”框中,键入 regedit,然后按 Enter。
即会启动注册表编辑器。
-
注册表项的特定位置将有所不同,具体取决于你运行的 Access 版本、 (32 位或 64 位) Windows 和 Access 版本的位数,以及是否有即点即用安装。 如果在从下面显示的可能选项中找到正确的注册表项时遇到问题,请尝试在注册表中搜索 Access Connectivity Engine。
展开 HKEY_LOCAL_MACHINE 文件夹,导航到以下注册表项:
如果使用 Access 2016 或 Access 2019,请尝试查看以下位置: \Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines 或 此处: \Software\WOW6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines
如果使用 Access 的 32 位 Microsoft 365 订阅版本或 32 位即点即用安装 Access,请尝试查看以下位置: Software\Microsoft\Office\ClickToRun\Registry\Machine\Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines
...或此处:
Software\Microsoft\Office\ClickToRun\Registry\Machine\Software\Microsoft\Office\15.0\Access Connectivity Engine\Engines
如果使用的是 64 位 Microsoft 365 Access 订阅版本或 64 位即点即用安装 Access,请尝试查看以下位置: Software\Microsoft\Office\ClickToRun\Registry\Machine\Software\Wow6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines
...或此处:
Software\Microsoft\Office\ClickToRun\Registry\Machine\Software\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines
-
在注册表编辑器的右窗格中,在 “名称”下,双击“ SandBoxMode ”(如果存在)。 如果找不到 SandBoxMode 注册表项,建议 不要 添加它,因为它可能会干扰 Office 更新。
此时将出现“编辑 DWORD 值”对话框。
-
在“数值数据”字段中,将值从“3”更改为“2”,然后单击“确定”。
-
关闭注册表编辑器。
重要: 请记住,如果不首先启用数据库中的内容,则无论是否更改此注册表设置,Access 都会禁用任何不安全的表达式。
可以将注册表值设置为以下值,其中 0 (零) 最宽松,3 表示最宽松。
设置 |
说明 |
---|---|
0 |
沙盒模式随时处于禁用状态。 |
1 |
沙盒模式用于 Access,但不适用于非 Access 程序。 |
2 |
沙盒模式用于非 Access 程序,但不适用于 Access。 |
3 |
沙盒模式随时使用。 这是在安装 Access 时设置的默认值。 |