我想对存储在我的 MySQL 数据库中的数据实现列级和行级访问控制。我在我的服务器上使用 NodeJS,该怎么做?我看到 SAP Hana 允许这样做,但想保留 MySQL。
问问题
773 次
1 回答
1
您可以采取三种方法:
- 在应用程序内进行
- 在数据库代理内的应用程序和数据库之间执行此操作
- 在数据库中执行
第一个选项并不真正符合行级访问控制的条件,因为应用程序逻辑负责过滤/屏蔽。(过滤是行级访问控制,而屏蔽是单元级)。
第二种选择,使用代理,是一种越来越多地被采用的方法。有专门的解决方案,例如:
- 绿色SQL
- Informatica DDM 和
- 公理数据访问过滤器。
这些解决方案通常拦截 SQL 流量并对其进行修改,以便仅返回授权数据。这称为动态数据屏蔽。在Wikipedia上有更多解释。
第三种选择是使用数据库的本机功能。例如,Oracle 有一个叫做虚拟专用数据库 (VPD) 的东西,它可以让您配置高级行过滤功能。
在您的情况下(MySQL),有一种称为细粒度访问控制(FGAC)的东西。这里有一篇关于这个主题的好文章。谷歌这个词以获得更多资源。
于 2015-06-08T17:11:34.287 回答