7.1 安全机制:加密、密码与信任中心


7.1 安全机制:加密、密码与信任中心

本节摘要:Access 的安全靠三件事打配合:数据库密码锁住打开的门、加密让文件本身不可读、信任中心决定代码能不能跑。它们都防意外不防决心——真正的权限分层要靠架构设计补位。本节逐层讲清用法与边界。

华彩上线前我照例做了一次"安全问答",老板娘的问题很典型:"能不能设成张三只能看库存、李四只能录单?"我的回答是:软件按钮做不到,但架构可以。这一节就把 Access 能做的三件和需要你自己做的一件,全部摊开。

一、第一道门:数据库密码

给文件上开库密码的操作路径短得惊人:独占方式打开文件(文件菜单选打开时勾独占)→ 数据库工具点"用密码进行加密" → 输入并确认 → 完成。此后任何人双击文件都会先撞上密码框。

三个使用要点比操作本身重要:

  • 独占是前提。多人占着文件时设置会失败,先确认没人开着;
  • 忘记密码没有官方后悔药——引擎级加密拿掉密码的只有暴力破解一条路。密码请存进团队的密码管理器,纸质便签贴显示器上不算保险措施;
  • 性能代价:启用加密后每次读写都要过一层解密运算,量大的查询能感到两三成的减速。数据敏感度不高的场景(内部图书角)可不设,敏感台账必设——取舍要有意识。

二、第二道盾:文件级加密

自 ACCDB 格式起,"用密码进行加密"这个动作同时完成了两项工作:设置密码与启用加密算法包裹整个文件。也就是说在老格式时代"加密码但文件可被工具直接翻阅"的历史漏洞已被堵上;拷走你文件的人拿到的是一堆乱码。

配套还有一个动作叫解密还原:同样的对话框留空密码即可把文件恢复为无加密状态。请把它记进交接文档——有朝一日要做版本升级或迁移时,一个加密状态的文件会让不少外部工具望而却步。

图题:四层防线的覆盖范围对照

图题:四层防线的覆盖范围对照

三、第三道闸:信任中心

打开陌生库时的那条黄色警示条("安全警告:部分活动内容已被禁用")就是信任中心的指纹。它的职责单一而关键:决定宏与 VBA 代码是否放行。导航窗格上方"启用内容"按钮一点,代码上岗。

机制背后是一道经典权衡:关着最安全但功能瘫痪,全开省心却门户大开。务实的中间路线是受信任位置白名单:在选项的信任中心设置里,把存放业务库的固定目录加入受信列表,此后该目录下的文件直接全功能运行、不再弹条,外来文件依旧被拦。部署 7.2 的多份前端时同样受益——每台机器把本地前端目录设为信任位一次了事。

顺带纠正一个流行误会:有人以为那条警示条是病毒报错。它拦的是一切未经批准的代码执行机会,包括你自己辛苦写的 VBA——所以开发期请把你的工程目录也拉进白名单,否则每天为调试多点十次"启用内容"能把人逼疯。

四、诚实的天花板:字段级的权限不存在

最后回到开头那个问题。Access 已不支持旧版 Workgroup 安全模型那种精细到表甚至字段的用户权限体系,桌面上能做到的就是前述三层。想实现"按人分权",现实的落法按投入从轻到重:

  1. 前端分发控制:不同岗位发功能不同的前端文件——仓库版只有录单,财务版才有对账报表。后端共用,能力天然隔离;
  2. 后端宿主管控:后端文件所在目录只开放给受控服务路径,普通同事根本摸不到真身;
  3. 再往上就该换平台:如果真的需要逐字段授权加审计日志,说明业务已经越过了文件库的合理边界——此时迁移到服务器数据库或低代码平台的收益曲线开始陡升(第 8 章的路线图正面回答这个问题)。

五、动手:给华彩库上齐三层锁的十分钟

流程写成 checklist 直接照抄。第一分钟到第三分钟,给后端上密码:以独占方式打开后端文件(打开对话框里勾"以独占方式打开",已开着则先经文件菜单选独占重新打开)→ 文件信息里的"用密码进行加密"→ 输入两遍密码保存。验证动作不可省:关闭后再普通双击,应当弹出要求输入密码;说明加密生效。

第四分钟到第七分钟,生成无源码的前端:文件菜单选"生成 ACCDE",产出一份只剩可执行代码、设计改动被冻结的发布版。此后分发给同事的永远是它——使用者想改窗体也改不动,误触设计模式的可能性归零,源代码逻辑也不再随文件外流。

第八分钟,登记受信任位置:每台机器把本地前端所在目录加入信任中心白名单(上一节的操作),保证日常启动不弹警示条。

第九与第十分钟,做一次恢复预演:随手改一行数据不保存,然后从备份目录复制昨天的后端覆盖测试副本打开核对——确认备份真的可用。备份没被恢复演练过之前,都只能算心理安慰。

一问一答

问:ACCDE 能防人看懂业务逻辑吗? 能挡住顺手翻看,挡不住铁了心的逆向——它的定位是防误用加防盗版便利,不是保险柜。真正不想让人知道的东西别写进客户端任何一层。

问:密码设多复杂合适? 这是个工程折价题:越复杂的密码意味着越多使用环节要管理它。我们的惯例是高强度密码但只在两处出现——运维交接文档的密封页和负责人的密码管理器,日常使用者永远接触不到加密层。

六、两起真实改编的安全故事

故事一:密码贴在文件名上的共享盘。 接手过一个倒霉项目:前任把后端命名为"华彩后端_密码1234.accdb"。当问到为什么,答曰"怕自己忘了"。这个案例后来被我用于入职培训第一课:安全措施一旦为了好记而通俗化,等于在门上贴钥匙。修法不只是改名——我们顺势把系统职责拆给 7.2 的架构方案,让"知道密码的人"从全员缩减到一人。

故事二:离职同事带走的前端毫无用处。 华彩一位离职的仓管把前端拷回了家,担心了几天的老板娘后来发现什么也打不开:前端只是壳,真正的数据在后端加密文件里,而后端躺在受控目录从未分发。这就是"前端差异化分发"策略的直接战果——安全设计的最高境界,是让泄密行为发生时损失有硬边界。

交付前的安全自查五问也一并留给你:密码是否只有负责关系里的两个人知道?前端是否全部以 ACCDE 形态分发?受信任位置是否只加了业务目录?备份文件是否与主库同样加密?离职流程里有没有"删权限拷副本改后台口令"三步?五问全绿再上线,这是比任何技术参数都硬的验收线。

本节防线清单

  • 密码加加密一体成型:独占打开设置,忘密无法找回,性能折价心里有数。
  • 信任中心配白名单目录,安全与便利兼得,开发机务必先把自家目录入册。
  • 威胁分四类各找各妈:文件失窃靠加密、手滑误删靠架构与完整性、外来代码靠信任闸、蓄意攻击换平台。
  • 分权靠前端差异化分发实现,这是下一节拆分手术的直接动因之一。

防线图纸画好了,去工地:拆分。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U