iT邦幫忙

0

MS SQL 2008 透明加密問題

Ryan 2010-01-31 08:32:2610011 瀏覽
  • 分享至 

  • xImage

請問
MS SQL 2008 的透明加密,
是否只能防止資料庫被拿去他台主機掛載或還原??
無法讓資料於資料庫中資料不被sa發現,
或是即使看到也是亂碼??

如果我想要不讓sa看到否些資料,
是否只能用ENCRYPTION函數是先將資料加密寫入?
有無其他方式呢??

其實不大建議為了內部問題,加重資料庫的負擔(資料加解密),
我會建議改用行政手段來管理,
例如機房資料不可攜出、DBA 管理工具要進行使用稽核 ...
a802216 iT邦新手 4 級 ‧ 2010-02-26 12:41:11 檢舉
要避免SA偷看你資料,只能在寫入資料的時候就將資料加密過後再寫入DB,這樣一來,就算SA想看,也是看到無意義的資料

遵守業務分割原則,基本上,資料庫的透明式加密是為了防止當備份檔被人竊奪,對方也無法解讀內部的二進位資料,資料庫不該是要管理使用者前端餵入的資料是否加密,資料庫只要擔任好它的任務"存取大量資料"就可以了

如果硬是要讓資料庫處理加密,那就做成Store Procedure或Instead of Trigger吧,至少還有效率一點
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
johnnyfang
iT邦新手 4 級 ‧ 2010-02-01 11:33:10
最佳解答

如果你是因為必須開放權限讓開發人員能夠讀寫資料庫,
但是又不希望開發人員能夠直接用 SSMS 來查閱資料庫的資料,
那麼你可以限制能夠連結到資料庫的 IP

Ryan iT邦新手 1 級 ‧ 2010-02-01 12:17:25 檢舉

你好
我的意思是說,如果有些資料不能被DBA看見,但是DBA又必須有管理上的權限,是否只能先把資料加密後寫入資料庫,有無其他方式呢?

2
mrhsieh
iT邦好手 4 級 ‧ 2010-02-01 10:21:15

TDE功能只能防止資料庫數據被人竊取而已,只要是有資料庫憑證的話都能將其解開,沒辦法防止某個人去看某些資料,如果想要防止某個人看某些資料的話應該是要在物件中設定Role才對不是使用TDE。

Ryan iT邦新手 1 級 ‧ 2010-02-01 10:52:38 檢舉

role 的部分可以限制到sa嗎?

mrhsieh iT邦好手 4 級 ‧ 2010-02-02 09:54:58 檢舉

sa的權限好像是最大的無法調整,正常來說應該每個管理員要有自己的帳號密碼sa帳號密碼則是資料庫有發生重大的事故才使用的吧且需要交給重要的人來管理。
你可以試看看將sa的名稱改掉,然後建立一個新帳號取名叫sa然後調整這帳號的role,可以玩玩看。

2
kaowoei
iT邦研究生 4 級 ‧ 2010-02-22 18:20:02

您已經把答案說出來了~~SA是系統管理員,所以基本上無法限制系統管理員去「瀏覽」資料,但可以用MS SQL提供的加密方式讓看到的資料也看不懂:ENCRYPTBYPASSPHRASE(以密碼片語加密)
http://technet.microsoft.com/zh-tw/library/ms190357.aspx
加在原SQL語法上就可以,不然就要在程式上寫加密....

我要發表回答

立即登入回答