尚不熟悉 Access 2007 安全功能?请从这里开始

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

Microsoft Office Access 2007 提供了很多新增功能,有助于使您的数据和计算机更加安全。另外,与 Access 早期版本中的安全工具相比,这些功能使用起来更加容易。本文将介绍如何使用 Office Access 2007 中最常用的安全功能。本文中的信息面向的是要执行下列任务的新用户:

  • 信任(启用)数据库中禁用的内容

  • 使用密码对数据库进行加密或解密

  • 对 Office Access 2007 数据库进行打包、签名和部署

本文还将提供 Access 2007 中新增的安全功能和体系结构的相关背景信息。

本文内容

Access 2007 和 Access 早期版本之间的安全功能差别

使用数据库密码加密 Office Access 2007 数据库

对 Access 2007 数据库进行打包、签名和分发

使用其他安全功能

了解 Office Access 2007 安全功能和体系结构

Access 2007 和 Access 早期版本之间的安全功能差别

如果您用过 Access 早期版本中的安全功能,则会有这样的体验:您必须进行一系列选择。例如,您必须选择安全级别(“低”、“中”或“高”),还必须选择是否要运行可能不安全的代码。而当您在 Access 2007 中打开数据库时,则不必再为如何做出此类决定而苦恼。默认情况下,Access 2007 会禁用所有可能不安全的代码或其他组件,而无论在创建数据库时使用了 Access 的哪个版本。

当 Access 禁用数据库的部分或全部内容时,它会显示消息栏来通知您所执行的操作。

消息栏

显示消息栏时,您可以选择是否要信任数据库中禁用的内容。如果您选择信任已禁用的内容,可通过两种方式来实现此目的:

  • 仅在当前会话中信任数据库(当数据库打开时)    单击消息栏上的“选项”。随即会出现一个对话框,您可以在其中选择信任该数据库。如果选择此选项,则每次打开该数据库时都必须重复该过程。

  • 永久信任数据库    将数据库置于受信任位置,该位置是驱动器或网络上标记为受信任的文件夹。如果选择此选项,将不再显示消息栏,并且只要数据库保留在该受信任的文件夹中,您就不必再做出信任决定。

如果您不想信任数据库    请忽略消息栏。忽略消息栏时,您仍可以查看数据库中的数据,并可以使用 Access 尚未禁用的所有数据库组件。

下面的过程介绍如何在当前会话中信任数据库以及如何创建受信任位置。

在当前会话中信任数据库

注意: 如果已打开数据库,并显示了消息栏,请直接转到步骤 3。

  1. 启动 Office Access 2007,然后在“开始使用 Microsoft Office Access”页的“特色联机模板”下单击“资产”以打开“资产”模板。

  2. “文件名”框中,为新数据库键入一个名称,然后单击“下载”

    Access 将下载该数据库模板并新建一个数据库,消息栏也随之出现。

  3. 在消息栏上,单击“选项”

    将出现“Microsoft Office 安全选项”对话框。

  4. 单击“启用此内容”,然后单击“确定”

创建受信任位置

  1. 启动 Office Access 2007(您无需打开数据库即可完成下列步骤)。

  2. 单击“Microsoft Office 按钮Office 按钮图像 ,然后单击“Access 选项”。

    将出现“Access 选项”对话框。

  3. 在该对话框的左窗格中,单击“信任中心”,然后单击右窗格中的“信任中心设置”

    将出现“信任中心”对话框。

  4. 在左窗格中,单击“受信任位置”

  5. 单击“添加新位置”

    将出现“Microsoft Office 受信任位置”对话框。

  6. “路径”框中,键入要设置为受信任源的位置的文件路径和文件夹名称,您也可以单击“浏览”定位文件夹。默认情况下,该文件夹必须位于本地驱动器上。

    如果要允许受信任的网络位置,请在“信任中心”对话框中单击“允许网络上的受信任位置(不推荐)”

  7. 单击“确定”关闭所有对话框。

注意: 要完成该过程,以便永久信任某个数据库,必须将该数据库移到受信任位置。接下来的步骤将介绍一些最常用的数据库移动方法。

将数据库移到受信任位置

  • 如果已打开数据库   

    1. 单击“Office 按钮” Office 按钮图像

    2. 指向“另存为”,然后在“将数据库另存为其他格式”下单击一个可用的选项。

    3. “另存为”对话框中,导航到受信任位置,然后单击“保存”

  • 如果尚未打开数据库   

    1. 启动 Windows 资源管理器。为此,请在 Microsoft Windows 中,单击开始按钮,指向所有程序,单击附件,然后单击Windows 资源管理器

    2. 找到并复制您的数据库。为此,请右键单击该文件,然后单击快捷菜单上的“复制”

      -或-

      键盘快捷方式选择 (突出显示) 文件,然后按 CTRL + C。

    3. 找到并打开该受信任文件夹,单击右键,然后单击快捷菜单上的“粘贴”

      -或-

      键盘快捷方式按 CTRL + V 粘贴到新位置的数据库。

返回页首

使用数据库密码对 Office Access 2007 数据库进行加密

Office Access 2007 中的加密工具合并了以前的两个工具:数据库密码和编码,并在此基础上进行了改进。在使用数据库密码对数据库进行加密后,不仅其他工具无法读取其中的所有数据,用户也必须输入密码才能使用该数据库。与 Access 的早期版本相比,Access 2007 中应用的加密使用的算法更高级。

使用数据库密码进行加密

  1. 打开要加密的数据库(使用“独占”模式)。

    演示如何以“独占”模式打开数据库

    1. 单击“Office 按钮Office 按钮图像 ,然后单击“打开”。

    2. “打开”对话框中,通过浏览找到要打开的文件,然后选择该文件。

    3. 单击“打开”按钮旁边的箭头,然后单击“以独占方式打开”

      在独占模式下打开文件

  2. “数据库工具”选项卡上的“数据库工具”组中,单击“用密码进行加密”

    将出现“设置数据库密码”对话框。

  3. “密码”框中键入密码,然后在“验证”框中再键入一遍。

    注释: 

    • 使用强密码大写和小写字母、 数字和符号。弱密码不要混合使用这些元素。强密码︰ Y6dh ! et5。弱密码︰ House27。密码应为 8 或更多个字符。使用 14 或多个字符的密码短语是更好。

    • It is critical that you remember your password. If you forget your password, Microsoft cannot retrieve it. Store the passwords that you write down in a secure place away from the information that they help protect.

  4. 单击“确定”

解密并打开数据库

  1. 按照您打开任何其他数据库的方式打开加密的数据库。

    将出现“要求输入密码”对话框。

  2. “输入数据库密码”框中键入密码,然后单击“确定”

删除密码

  1. 以“独占”模式打开数据库。

    演示如何以“独占”模式打开数据库

    1. 单击“Office 按钮Office 按钮图像 ,然后单击“打开”。

    2. “打开”对话框中,通过浏览找到要打开的文件,然后选择该文件。

    3. 单击“打开”按钮旁边的箭头,然后单击“以独占方式打开”

      在独占模式下打开文件

  2. 数据库工具选项卡上,在数据库工具组中,单击解密数据库

    将出现“撤消数据库密码”对话框。

  3. “密码”框中键入密码,然后单击“确定”

返回页首

对 Access 2007 数据库进行打包、签名和分发

使用 Access 2007,您可以更加轻松、快速地对数据库进行签名和分发。在创建 .accdb 文件或 .accde 文件后,您可以将该文件打包,接着对该包应用数字签名,然后将经过签名的包分发给其他用户。“打包并签署”功能可将数据库置于 Access 部署 (.accdc) 文件中,并在签署该包后将经过代码签名的包置于您确定的位置。

在操作过程中,请记住下列事实:

  • 将数据库打包和对包签名都是传达信任的方式。当您或您的用户收到该包后,签名可确认数据库未经篡改。如果您信任数据库的作者,便可以启用其内容。

  • 新的“打包并签署”功能仅适用于采用 Office Access 2007 文件格式的数据库。对于使用早期文件格式创建的数据库,Access 2007 也提供了对它们进行签名和分发所需的旧版工具。另外,使用旧版工具不能对用新文件格式创建的文件进行签名和部署。换句话说,如果不将数据库打包,则不能对 .accdb 文件应用数字签名。

  • 一个包中只能添加一个数据库。

  • 该过程会对数据库中的所有对象进行代码签名,而不仅局限于宏或代码模块。另外,该过程还会压缩包文件,以帮助缩短下载时间。

  • 您可以从 Windows SharePoint Services 3.0 服务器上的包文件中提取数据库。

以下部分将介绍如何创建签名的包文件以及如何使用签名的包文件中的数据库。

要使用此过程,您必须至少有一个安全证书。如果您没有安全证书,则可以使用 SelfCert 工具创建一个。

创建自签名证书

  1. 在 Microsoft Windows 中,单击“开始”按钮,依次指向“所有程序”“Microsoft Office”“Microsoft Office 工具”,然后单击“VBA 项目的数字证书”

    - 或 -

    通过浏览找到 Office 专业版 2007 程序文件所在的文件夹。默认文件夹是驱动器:\Program Files\Microsoft Office\Office12。在该文件夹中,请找到并双击“SelfCert.exe”

    将出现“创建数字证书”对话框。

  2. “您的证书名称”框中,为新证书键入一个名称。

  3. 单击“确定”两次。

注意: 如果未显示“VBA 项目的数字证书”命令或无法找到 SelfCert.exe,则可能需要安装 SelfCert。

安装 SelfCert.exe

  1. 启动 Office 专业版 2007 安装 CD 或其他安装媒体。

  2. 在安装程序中,单击“添加或删除功能”,然后单击“继续”

    注意: 在您的工作环境中,如果各台计算机上的 Office 专业版 2007 是由 IT 管理员通过 CD 之外的其他媒体安装的,请按照下列步骤操作:

    1. 在 Microsoft Windows 中,单击“开始”按钮,然后单击“控制面板”

    2. 双击“添加或删除程序”

    3. 选择“2007 Microsoft Office 系统”,然后单击“更改”

      安装程序启动。

    4. 单击“添加或删除功能”,然后单击“继续”

    5. 继续执行下面的步骤。

  3. 单击“Microsoft Office”“Office 共享功能”节点旁边的加号 (+) 将它们展开。

  4. 单击“VBA 项目的数字证书”

  5. 单击“从本机运行”

  6. 单击“继续”安装该组件。

  7. 安装完成后,请单击“关闭”,然后返回到本部分的第一组步骤。

创建签名包

  1. 打开要打包并签名的数据库。

  2. 单击“Office 按钮” Office 按钮图像 ,指向“发布”,然后单击“打包并签署”

  3. 选择数字证书然后单击“确定”

    将出现“创建 Microsoft Office Access 签名包”对话框。

  4. 为签名的数据库包选择一个位置。

  5. “文件名”框中为签名包输入一个名称,然后单击“创建”

    Access 将创建 .accdc 文件并将其置于您选择的位置。

提取并使用签名包

  1. 单击“Office 按钮Office 按钮图像 ,然后单击“打开”。

  2. 选择“Microsoft Office Access 签名包(*.accdc)”作为文件类型。

  3. 找到 .accdc 文件所在的文件夹,并在选择该文件后单击“打开”

  4. 请执行下列操作之一:

    • 如果您以前选择信任应用于该部署包的数字证书,将出现“将数据库提取到”对话框。此时,请转到下一步。

    • 如果您尚未选择信任该数字证书,将出现一条通知消息。

      1. 通知消息

      2. 如果您信任该数据库,请单击“打开”。如果您信任来自该提供者的任何证书,请单击“信任来自发布者的所有内容”,然后单击“确定”

  5. 另外,您也可以为提取的数据库选择一个位置,然后在“文件名”框中为提取的数据库输入其他名称。

返回页首

使用其他安全功能

除上述安全功能外,Office Access 2007 还提供了早期版本中没有的另外几项安全功能,包括用户级安全机制以及对 Visual Basic for Applications (VBA) 代码模块进行代码签名的功能。通常情况下,只有高级用户和开发人员才会用到这些工具。

返回页首

了解 Office Access 2007 的安全功能和体系结构

以下部分中的信息将介绍 Access 2007 中新增的安全功能,并说明支持这些功能的体系结构。

Access 2007 中新增的安全功能

Access 2007 提供了改进的安全模型,有助于简化对数据库应用安全性以及打开启用了安全性的数据库的过程。

注意: 虽然本文中讨论的模型和技术能够增强安全性,但最安全的数据保护方式是将表存储在服务器(例如运行 Windows SharePoint Services 3.0 的计算机)上,并将窗体和报表存储在本地计算机或网络共享上。

下面的列表介绍了 Access 2007 中新增的安全功能:

  • 即使在您不想启用数据库中任何禁用的 VBA 代码或组件时也能查看数据的功能。在 Office Access 2003 中,如果将安全级别设置为“高”,则必须在进行代码签名并信任数据库后才能查看数据。而在 Office Access 2007 中,您可以随时打开数据库并查看数据,无需决定是否应启用数据库的内容。

  • 易用性显著增强。如果将数据库文件(无论使用新的 Office Access 2007 文件格式还是早期文件格式)置于受信任位置(例如,您指定为安全位置的文件夹或网络共享),则在打开并运行这些文件时,将不会显示警告消息或让您启用任何禁用的内容。另外,如果在 Access 2007 中打开使用 Access 早期版本创建的数据库(例如 .mdb 或 .mde 文件),并且这些数据库已经过数字签名,而您也已选择信任发布者,则不需要您做出信任决定即可运行这些文件。但请记住,已签名数据库中的 VBA 代码只有在您信任发布者时才会运行,另外,当数字签名无效时,将不会运行该代码。如果签署者之外的人对数据库的内容进行了篡改,则签名将变为无效。

  • “信任中心”。“信任中心”是一个对话框,它是设置和更改 Access 安全设置的单一位置。通过“信任中心”,不仅可以创建或更改受信任位置,还可以设置 Office Access 2007 的安全选项。这些设置会影响新数据库和现有数据库在 Access 实例中打开时的行为。此外,“信任中心”中包含的逻辑还可以评估数据库中的组件,并据此确定该数据库是可以被安全地打开,还是应由“信任中心”禁用该数据库,以便让您来决定是否要启用它。有关在 Access 中使用“信任中心”的信息,请参阅本文前面的创建受信任位置

  • 警告消息减少。Access 的早期版本会强制您处理多种警告消息,宏安全性和沙盒模式便是其中的两个例子。默认情况下,如果打开受信任位置之外的 Office Access 2007 数据库,将只显示消息栏。

    消息栏

    如果已知可以信任数据库的内容,则当您打开的数据库包含下列一个或多个组件时,便可以使用消息栏启用所有被禁用的组件:动作查询(用于添加、删除或更改数据的查询)、宏、ActiveX 控件、表达式和 VBA 代码。

  • 对使用 Office Access 2007 文件格式创建的文件提供新的签名和分发方法。Access 的早期版本使用 Visual Basic 编辑器对各个数据库组件应用安全证书。而在 Access 2007 中,您可以将数据库打包,然后对该包进行签名和分发。如果将签名包中的数据库提取到受信任位置,则该数据库在运行时将不显示消息栏。如果将签名包中的数据库提取到非受信任位置,但您信任该包证书,且签名有效,则无需做出信任决定。如果您打包并签署的数据库不受信任或包含无效的数字签名,则除非将其置于受信任位置,否则在每次打开该数据库时都必须使用消息栏对它建立信任。

  • 对 Office Access 2007 文件格式的数据库应用基于数据库密码功能的高级加密算法。对数据库加密会打乱表中的内容,从而可以防止闲杂用户读取您的数据。

  • 禁用数据库时会运行宏操作的一个新子类。这些安全性得到增强的宏还包含错误处理功能。您也可以将宏(甚至是包含 Access 禁用的操作的宏)直接嵌入到能在逻辑上与 VBA 代码模块或 Access 早期版本中的宏配合使用的任意窗体、报表或控件属性中。

最后,请在操作时记住下列规则:

  • 如果打开的数据库来自受信任位置,则不需要您做出信任决定,它的所有组件即可运行。

  • 在对来自 Access 早期版本的数据库(.mdb 或 .mde 文件)进行打包、签名和部署时,如果该数据库含有来自受信任发布者的有效数字证书,并且您信任该证书,则不需要您做出信任决定,该数据库的所有组件即可运行。

  • 如果您在签署不受信任的数据库后将其部署到不受信任的位置,则默认情况下,“信任中心”将禁用该数据库,并且您在每次打开该数据库时都必须选择启用它。有关详细信息,请参阅本文前面的在当前会话中信任数据库部分。

返回页首

Office Access 2007 安全体系结构

要了解 Access 2007 安全体系结构,需要记住 Access 数据库不是 Microsoft Office Excel 2007 工作簿或 Microsoft Office Word 2007 文档意义上的文件。与后者不同的是,Access 数据库是一组对象,例如表、窗体、查询、宏、报表和模块,这些对象通常相互依赖、共同作用。例如,在创建数据输入窗体时,如果不将窗体中的控件绑定(链接)到一个表,则无法使用该窗体输入或存储数据。

有些 Access 组件会带来安全风险,这些组件包括动作查询(用于插入、删除或更改数据的查询)、宏、表达式(返回单个值的函数)和 VBA 代码。为了使您的数据更加安全,Office Access 2007 和“信任中心”会在您每次打开数据库时都执行一系列安全检查。该过程的工作方式如下:

  • 当您在 Office Access 2007 中打开 .accdb 或 .accde 文件时,Access 会将该数据库的位置提交到“信任中心”。如果该位置可信,将以完整功能模式运行该数据库。如果在 Access 2007 中打开来自 Access 早期版本的数据库,则当该数据库应用了数字签名时,Access 将提交该签名的位置和其他详细信息。

    接下来,“信任中心”将通过检查该证据来评估数据库的可靠性,然后通知 Access 如何打开该数据库。在收到通知后,Access 会禁用数据库或以完整功能模式打开该数据库。如果“信任中心”将数据库评估为不可信,Office Access 2007 将以“禁用”模式(即关闭所有可执行内容)打开该数据库。无论数据库是用新的 Access 2007 文件格式创建的,还是用 Access 的早期版本创建的,此规则都适用。

    Access 2007 会禁用下列组件:

    • VBA 代码、VBA 代码中的任何引用以及任何不安全的表达式。

    • 所有宏中的不安全操作。不安全的操作是指任何可能允许用户修改数据库或访问数据库之外的资源的操作。但是,有时可将 Access 禁用的操作视为安全的。例如,如果您信任数据库的创建者,则可以信任该数据库中任何不安全的宏操作。

    • 几种查询类型:

      • 动作查询    这些查询用于添加、更新和删除数据。

      • 数据定义语言 (DDL) 查询    这些查询用于在数据库中创建或更改对象(例如表和过程)。

      • SQL 传递查询    这些查询可直接向支持开放式数据库连接 (ODBC) 标准的数据库服务器发送命令。传递查询无需 Access 数据库引擎即可作用于服务器上的表。

    • ActiveX 控件

      注意: 请记住,您或系统管理员在“信任中心”中选择的设置将控制 Access 在打开数据库时的信任决定。

  • 如果“信任中心”禁用了任何内容,则数据库打开时将出现消息栏。

    消息栏

    要启用被禁用的内容,请在“Microsoft Office 安全选项”对话框中单击“选项”,然后选择“启用此内容”选项。这样,Access 将启用被禁用的内容,并且数据库会以完整功能模式重新打开。否则,将不运行已禁用的组件。有关选择信任选项的详细信息,请参阅本文前面的在当前会话中信任数据库

打开数据库时,Access 会尝试加载任何已安装的加载项 - Access 或打开的数据库的功能扩展程序。您也可以通过运行向导在打开的数据库中创建对象。在加载任何加载项或启动向导时,Access 会将相关证据传递给“信任中心”,后者将做出附加信任决定,然后启用或禁用该对象或操作。当“信任中心”禁用数据库后,如果您不同意该决定,几乎可以始终使用消息栏来启用该内容。在此规则中,加载项是一个例外。如果您在“信任中心”对话框(在“加载项”窗格中)选中了“要求受信任的发布者签署应用程序加载项”复选框,Access 将提示您启用该加载项,但该过程不会用到消息栏。

有关使用信任中心的信息,请参阅本文的早期版本中创建受信任位置、。

返回页首

在 Office Access 2007 中打开来自 Access 早期版本的数据库时的安全机制

当您打开使用 Access 早期版本创建的数据库时,应用于该数据库的任何安全功能都仍将有效。例如,如果您对数据库应用了用户级安全机制,则该功能在 Access 2007 中仍会有效。

默认情况下,Access 将以“禁用”模式打开所有不受信任的旧版数据库,并使它们保持这一状态。您可以选择在每次打开旧版数据库时都启用任何禁用的内容,也可以使用来自受信任发布者的证书应用数字签名,还可以将数据库置于受信任位置。

对于使用 Office Access 2007 之前的 Access 版本保存的数据库,代码签名是指对数据库中的组件应用数字签名的过程。数字签名是一个加密的电子身份验证时间戳。通过数字签名,可以确认数据库中的宏、代码模块和其他可执行组件都源自该签署者,并且自数据库被签名以来没有人对它进行过更改。

要对数据库应用签名,首先需要获取数字证书。如果您要为商业分发目的创建数据库,则必须从 VeriSign, Inc. 或 GTE 等商业证书颁发机构 (CA) 获取证书。这些证书颁发机构会进行背景调查,以验证数据库创建者(称为发布者)是否值得信任。

如果要将数据库用于个人目的或有限的工作组场合,可以使用 Microsoft Office 专业版 2007 提供的工具来创建自签名证书

返回页首

Office Access 2007 和用户级安全机制

对于使用新文件格式创建的数据库(.accdb 和 .accde 文件),Access 2007 不提供用户级安全机制。但是,如果在 Access 2007 中打开来自 Access 早期版本的数据库,并且该数据库应用了用户级安全机制,则这些设置仍将有效。

如果将具有用户级安全机制的数据库从 Access 的早期版本转换为新的文件格式,Access 将自动去掉它的所有安全设置,并应用 .accdb 或 .accde 文件的安全保护规则。

最后请记住,当您打开在 Office Access 2007 中创建的数据库时,所有用户都能查看所有数据库对象。

返回页首

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×