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