2010-09-29 67 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