數據加密的密鑰和證書要設置對應的權限,並把重要的密鑰,比如,SMK和DMK,以及證書進行異地備份。
查看系統中已存在的證書、對稱密鑰和非對稱密鑰:
- sys.certificates
- sys.asymmetric_keys
- sys.symmetric_keys
一,對加密機制的權限管理
對證書、對稱密鑰和非對稱密鑰的權限管理,可以授予的權限是 CONTROL, TAKE OWNERSHIP,ALTER,REFERENCES和VIEW DEFINITION。對證書、對稱密鑰和非對稱密鑰的權限授予,Grant命令的格式是一致的,唯一不同的是安全對象(Securable):
GRANT permission [ ,...n ] ON class :: securable TO principal [ ,...n ] class :: securable = ASYMMETRIC KEY :: asymmetric_key_name |SYMMETRIC KEY :: symmetric_key_name |CERTIFICATE :: certificate_name
舉個例子,授予Principal引用證書的權限:
GRANT REFERENCES ON CERTIFICATE :: my_certificate_name TO user1,domain_user2
二,密鑰的冗余保護
對於SMK和DMK,可以使用冗余副本進行保護,這兩個主密鑰,可以執行BACKUP和RESTORE命令。
對於證書,可以把證書導出,保存證書的副本。
對於對稱密鑰和非對稱密鑰,無法保存副本。
參考文檔:
Security Catalog Views (Transact-SQL)
GRANT Certificate Permissions (Transact-SQL)