0

我正在使用始終使用KeyVault加密來加密我的SQL Azure數據庫。 我在Keyvault中看到的是,CMK是在Keys部分中創建的。 是否有可能從此構建證書? 或我可以在哪裏找到這個CMK證書?總是使用Keyvault加密SQL Azure - 導出CMK證書

+0

這可以幫助你。 [Azure密鑰電子倉庫證書入門](https://blogs.technet.microsoft.com/kv/2016/09/26/get-started-with-azure-key-vault-certificates/) –

回答

2

在Azure密鑰保管庫中,您可以創建不同類型的對象:密鑰,機密和證書。始終加密要求存儲在Azure密鑰保管庫中的列主密鑰是密鑰保管庫密鑰。當您選擇將新的列主密鑰存儲在密鑰保管庫中時,SSMS將創建密鑰保管庫密鑰。順便說一句,SSMS在創建密鑰時執行的操作等同於調用Add-AzureKeyVaultKey。

話雖如此,當創建密鑰保險庫證書時(例如通過Add-AzureKeyVaultCertificate),還可以使用相同的名稱創建可尋址的密鑰和祕密 - 請參閱https://docs.microsoft.com/en-us/rest/api/keyvault/about-keys--secrets-and-certificates#key-vault-certificates。而且,如果需要,您可以將與證書關聯的密鑰用作列主密鑰。但是,我並不知道這樣做的實際好處:始終加密的啓用客戶端驅動程序(例如ADO.NET)甚至不會意識到密鑰與證書關聯。

如果您可以描述您的業務需求並解釋爲什麼您認爲需要列主密鑰才能成爲證書,這可能很有用。

請注意,即使列主密鑰是存儲在Windows證書存儲區(不在密鑰保管庫中)的真實證書,始終啓用加密的驅動程序也只使用公鑰和證書中包含的私鑰,而且他們忽略了其他的一切。特別是,驅動程序從不驗證證書到期日期,CA鏈或證書是否已被吊銷。這是通過設計 - 主密鑰保護長期存在的數據,並且這種方法可以確保您始終能夠訪問數據,只要您擁有主密鑰(例如,如果您創建了包含加密數據的數據庫備份文件並恢復一個數據庫從它幾年後,你應該能夠訪問你的數據)。