【问题标题】:MYSQL: How can I gain security at row-level?MYSQL:如何获得行级别的安全性?
【发布时间】:2019-01-30 00:48:07
【问题描述】:

我正在从事一个项目,该项目涉及研究如何在 MYSQL 数据库中获得细粒度访问控制 (FGAC)。

根据我的搜索,我认为 FGAC 与 MySQL 中的行级安全性有关。但是,我浏览了许多网站,但只能看到一种在 MySQL 中使用 VIEW 的方法。

参考:https://www.sqlmaestro.com/resources/all/row_level_security_mysql/

我认为还有很多其他方法可以获得行级访问控制,对吗? 谁能告诉我其他方法,就好像只有一种方法一样,我在文档上写的很少。

Ps:与该方法相关的任何限制对我来说也很有价值。

【问题讨论】:

  • 使用 VIEW 实现这一点是最好的方法,因为列和记录在 PHPmyADMIN、SQLYog 等 MySQL GUI 客户端中仍然可见。“我认为还有很多其他方法可以获得行级访问控制,对吗?” 是的,其他方法(例如使用存储过程)对用户隐藏列和记录...
  • 除了使用存储过程之外,你能不能想点别的,让我马上查到。我在研究中提到的方法越多,我的分数就越高,因为我的教授需要尽可能多的方法。谢谢!
  • 这个问题可能是重复的stackoverflow.com/questions/15105052/…
  • 除了sqlmaestro.com/resources/all/row_level_security_mysql 是一篇相当老的文章。我很确定在 MySQL 5.7+ 中,您可以替换触发代码以使用生成的列。阅读dev.mysql.com/doc/refman/5.7/en/…
  • 如果研究可能包含有关其他数据库的替代方案,建议使用 PostgreSQL .. postgresql.org/docs/9.5/static/ddl-rowsecurity.html 或 Oracle docs.oracle.com/database/121/TDPSG 来代替…….. 为什么最好使用开箱即用的支持数据库与自我实现相比,这就是我认为的研究。

标签: mysql security authorization access-control


【解决方案1】:

有一些产品(开源和商业)可以解决这些用例。该区域称为动态数据过滤或动态数据屏蔽。数据虚拟化也是一种可以实现你想要的技术。

了解 Informatica、Axiomatics、Denodo 等

【讨论】:

  • 这些解决方案是外部产品还是原生 MySQL 方法,因为我的项目只需要使用 MySQL。
  • 这些是基于代理的,即它们位于您的数据库前面。如果您只想使用 MySQL,请查看 FGAC。
  • 我已经查看了 FGAC,但是,我只能找到有关 uisng VIEW 的资源。我也想有一些其他的方法来实现FGAC,你能推荐一些其他的方法吗?
  • 嗨@DN96,我不相信MySQL中还有其他方法可以实现真正的FGAC。 MySQL 中实际上只有 VIEW 的有限功能。在我看来,大卫的答案是正确的。
猜你喜欢
  • 1970-01-01
  • 2021-09-19
  • 1970-01-01
  • 2010-10-04
  • 2011-06-29
  • 1970-01-01
  • 2021-06-24
  • 2012-02-03
  • 2011-08-27
相关资源
最近更新 更多