问题
我们有一个大型的Web应用程序,用于存储和显示与HIPAA相关的敏感数据.我们目前正在研究提高HIPAA法规遵从性并降低违规风险的方法.
当前,有几种功能和报告不能根据登录人员的权限正确限制客户端信息(例如,客户端搜索功能和某些旧式报告).
可能的解决方案
从程序角度解决问题
我们总是可以只重写导致不合规的代码部分.问题是,鉴于应用程序的规模,这种方法很容易出错-可能会遗漏一些东西.
更改数据库以限制返回的数据
我们可以更改MySQL数据库结构,以反映应用程序所需的必要权限限制.这样,没人会看到他们不应该看到的数据,因为数据库不会返回他们不应该看到的数据.
我的问题
该应用程序本身有近300个表,其中大多数存储某种敏感数据.是否有可能(可行)使用MySQL视图来限制数据访问?
如果是这样,最好的方法是什么?
解决方法:
您只需调整视图中使用的查询,即可利用视图来限制或呈现所需的任何数据.
您将需要将原始表重命名为“原始表”之类的名称,然后将视图命名为原始表的名称.
您的程序将不知道或不在乎它现在正在访问视图而不是表.它将继续像以前一样提取数据.您也可以为不希望为其返回实际值的字段包括空白或默认值.例如(如果您有一个字段“ DOB”,而您不再希望返回出生日期,则只需将“ 01-01-2001”写为DOB).
您可以使用MYSQL网站上的示例来创建视图.
CREATE TABLE t (qty INT, price INT);
mysql> INSERT INTO t VALUES(3, 50);
mysql> CREATE VIEW v AS SELECT qty, price, qty*price AS value FROM t;
mysql> SELECT * FROM v;
标签:mysql,hipaa
来源: https://codeday.me/bug/20191209/2096409.html