2010-09-29 69 views
3

使用视图的问题维护遵守HIPAA在MySQL

我们有大量的Web应用程序,存储和显示敏感HIPAA相关的数据。我们正在研究如何提高HIPAA合规性并降低违规风险。

目前,有几项功能和报告并未根据登录人员的权限(例如客户端搜索功能和某些旧版报告)正确限制客户端信息。

可能的解决方案

从程序化的角度

我们总是可以只重写所造成的不遵守该段代码照顾的问题。麻烦的是,考虑到应用程序的规模 - 这种方法非常容易出错 - 可能会漏掉一些东西。

变更数据库限制获取返回

我们可以改变MySQL数据库结构,以反映应用程序所需的权限限制的数据。这样,没有人可以看到他们不应该看到的数据,因为数据库不会返回他们不应该看到的数据。

我的问题

应用程序本身拥有近300台,其中大部分存储某种敏感数据。是否有可能(并且可行)使用MySQL视图来限制数据访问?

如果是这样,那么最好的方法是什么?

回答

3

只需调整视图中使用的查询,就可以利用视图来限制或呈现您希望的任何数据。

您需要将原始表重新命名为“原始表”,然后将您的视图命名为原始表的名称。

你的程序不会知道或在意它现在正在访问一个视图而不是一张表。它将继续像以前一样提取数据。您也可以为不希望返回实际值的字段添加空白或默认值。举个例子(如果你有一个“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; 

http://dev.mysql.com/doc/refman/5.0/en/create-view.html