Sql-Server
Azure Key Vault 的 SQL 連接器 - 每個實例有多個密鑰保管庫和密鑰
在 SQL Server 2016 企業版中,是否可以將單個實例連結到多個 Azure 密鑰保管庫/EKM 提供程序?如果是這樣,我將如何添加額外的提供者?有什麼安全考慮嗎?
此外,是否可以使用不同的加密密鑰加密每個單獨的數據庫,或者是否所有數據庫都使用相同的加密密鑰?
在 SQL Server 2016 企業版中,是否可以將單個實例連結到多個 Azure 密鑰保管庫/EKM 提供程序?如果是這樣,我將如何添加額外的提供者?有什麼安全考慮嗎?
您無需添加其他提供程序,該提供程序只是對 SQL Server 上的 DLL 的引用,該 DLL 為您的 EKM 提供程序提供介面。
添加憑據以與密鑰保管庫互動(使用 FOR CRYPTOGRAPHIC PROVIDER 選項)並將該憑據與登錄名相關聯。如果您有其他密鑰保管庫,則添加其他憑據和其他登錄名。
此外,是否可以使用不同的加密密鑰加密每個單獨的數據庫,或者是否所有數據庫都使用相同的加密密鑰?
(假設您的意思是 TDE)是的。您創建一個數據庫加密密鑰,範圍為相關數據庫,由每個數據庫的證書或伺服器非對稱密鑰保護。您已經為每個數據庫獲得了不同的加密密鑰,您甚至可以為每個數據庫使用不同的證書或非對稱密鑰來保護 DEK。
場景:我想使用不同 Azure Key Vault 提供的單個非對稱密鑰來保護 2 個具有 TDE 的數據庫。
腳步:
- 為 Azure Key Vault 創建加密提供程序
- 創建用於訪問 AKV1 的 Credential1
- 將 Credential1 與 sysadmin 使用者關聯
- 從 AKV1 創建非對稱 Key1
- 從非對稱 Key1 創建 Login1
- 從 sysadmin 使用者中刪除 Credential1
- 將 Credential1 添加到 Login1
- 使用非對稱 Key1 在 DB1 上配置 TDE
- 創建用於訪問 AKV2 的 Credential2
- 將 Credential2 與 sysadmin 使用者關聯
- 從 AKV2 創建非對稱 Key2
- 從非對稱 Key2 創建 Login2
- 從 sysadmin 使用者中刪除 Credential2
- 將 Credential2 添加到 Login2
- 使用非對稱 Key2 在 DB2 上配置 TDE