Sql-Server

Azure Key Vault 的 SQL 連接器 - 每個實例有多個密鑰保管庫和密鑰

  • April 11, 2019

在 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 的數據庫。

腳步:

  1. 為 Azure Key Vault 創建加密提供程序
  2. 創建用於訪問 AKV1 的 Credential1
  3. 將 Credential1 與 sysadmin 使用者關聯
  4. 從 AKV1 創建非對稱 Key1
  5. 從非對稱 Key1 創建 Login1
  6. 從 sysadmin 使用者中刪除 Credential1
  7. 將 Credential1 添加到 Login1
  8. 使用非對稱 Key1 在 DB1 上配置 TDE
  9. 創建用於訪問 AKV2 的 Credential2
  10. 將 Credential2 與 sysadmin 使用者關聯
  11. 從 AKV2 創建非對稱 Key2
  12. 從非對稱 Key2 創建 Login2
  13. 從 sysadmin 使用者中刪除 Credential2
  14. 將 Credential2 添加到 Login2
  15. 使用非對稱 Key2 在 DB2 上配置 TDE

引用自:https://dba.stackexchange.com/questions/234459