Sql-Server
從“sa”保護 Always Encrypted SQL Server
我目前正在研究 SQL Server Always Encrypted 功能。
Column Encryption Setting=enabled
如果他們所要做的就是在 SQL Server Management Studio 中添加登錄名的附加登錄參數,我該如何禁用對“sa”的列解密?我在 Google 上閱讀文章。他們只說我們可以保護來自管理員的數據,但沒有範例如何。
列加密密鑰 (CEK) 用於加密數據並儲存在數據庫中。CEK 使用列主密鑰 (CMK) 保護。
CMK 儲存在 SQL Server 之外。有關密鑰的元數據儲存在 SQL Server 中。
如果您限制對 CMK 的訪問,您的數據庫管理員/系統管理員 (sa) 將無法解密。
你不能簡單地因為密鑰全部儲存在目錄中,而目錄不受限制
sa
。我沒有寫查詢,我只是用Google搜尋
sys.column_encryption_key_values
(我知道儲存了 sym 加密密鑰),然後找到了其他人做這項工作。SELECT cek.name, cmk.key_path, cekv.encrypted_value, cekv.encryption_algorithm_name FROM sys.column_encryption_key_values cekv, sys.column_encryption_keys cek, sys.column_master_key_definitions cmk WHERE cek.column_encryption_key_id = cekv.column_encryption_key_id AND cmk.column_master_key_definition_id = cekv.column_master_key_definition_id;
如果有人獲得根,所有賭注都將通過對稱加密進行。