Azure Key Valut 簡介

Azure Key Vault(密鑰庫)是用於安全地存儲和訪問Secret的雲服務,Secret是需要嚴格控制訪問權限的內容,例如API密鑰,密碼,證書或加密密鑰。Key Vault Service支持兩種類型的容器:保管庫(Valut)和託管HSM池(Hardware Security Module Pools)。 Valut支持存儲軟件和HSM-backed的密鑰,Secret和證書,託管HSM池僅支持HSM-backed的密鑰。 

用戶從Key Valut中獲取Secret,使用Secret作爲身份驗證來訪問數據。 

一,Azure Key Valut的作用

Azure Key Vault是用於管理密鑰,機密和證書的雲服務,Key Vault避免了開發人員直接在代碼中存儲Secret信息的情況。Key Valut可以集中存儲應用程序Secret,這大大減少了Secret被泄露的可能。Key Valut不經能夠安全地存儲由HSM支持的Secret和Key,還提供了對所有Secret訪問和嘗試使用的日誌,因此具有完整的審覈跟蹤以確保合規性。

  • Secret 管理:Azure Key Valut用於安全地存儲和嚴格控制對token,密碼,證書,API密鑰和其他Secret的訪問 
  • 密鑰管理:Azure Key Vault可以用作密鑰管理解決方案,使用Azure Key Vault可以輕鬆創建和控制用於加密數據的加密密鑰。
  • 證書管理:Azure Key Vault也是一項服務,使您可以輕鬆地設置,管理和部署公共和私有傳輸層安全性/安全套接字層(TLS / SSL)證書,以與Azure和內部連接的資源一起使用。

Azure Key Vault具有兩個服務層:使用軟件密鑰加密的標準服務層和包含受HSM保護的密鑰的高級服務層。

二,Azure Key Valut的相關概念

租戶(Tenant):租戶是擁有和管理Microsoft雲服務的特定實例的組織,它最常用於指一個組織的Azure和Microsoft 365服務集。

安全主體(Security Pricipal):Azure安全主體是用戶創建的安全身份ID,應用程序,服務和自動化工具使用安全主體來訪問特定的Azure資源。可以把Security Pricipal視爲具有特定角色且受到嚴格控制的權限的“用戶身份”(用戶名和密碼,或證書)。與一般用戶身份不同,安全主體只需要做特定的事情。如果僅授予它執行管理任務所需的最低權限級別,則可以提高安全性。與應用程序或服務一起使用的安全主體專門稱爲服務主體(Service Principal)。

資源(Resource)資源是可通過Azure進行管理的項目,常見資源包括虛擬機,存儲帳戶,Web應用程序,數據庫和虛擬網絡。

資源組(Resource Group):資源組是一個容器,其中包含Azure解決方案的相關資源。資源組可以包含解決方案的所有資源,也可以僅包含要作爲一個組進行管理的資源。

Azure Active Directory(簡稱 Azure AD):Azure AD是租戶的AD服務,每個Directory都有一個或多個Domain,一個Directory可以有許多與其相關聯的訂閱(Subscription),但只能有一個租戶。

託管ID(Managed identities): Azure Key Valut提供了一種安全地存儲憑據以及其他密鑰和Secret的方法,但是您的代碼需要通過Key Valut進行身份驗證才能檢索它們。使用託管身份可以很簡單地解決此問題:通過在Azure AD中爲Azure服務提供自動託管身份,用戶可以使用此託管身份對Key Vault或支持Azure AD身份驗證的任何服務進行身份驗證,而無需在代碼中包含任何憑據。

訪問Key Valut 要對Key Vault進行任何操作,首先需要對其進行身份驗證。 推薦使用“Azure資源的託管身份”對Key Vault進行身份驗證。當向Azure中的虛擬機上部署應用程序時,可以向有權訪問Key Vault的虛擬機分配身份,還可以把身份分配給其他Azure資源,這種方法的好處是應用程序或服務不負責管理第一個Secret的輪換, Azure自動旋轉身份。

三,創建Azure Key Valut

使用Partal UI創建Azure Key Valut

step1:Basic 選項卡

Basic 選項卡部分,第一部分是設置Subscription 和 Resource Group,第二部分是設置Soft Deletion

軟刪除保護將自動在此密鑰庫(Key Valut)上啓用,此功能用於在保留期內恢復或永久刪除密鑰庫和Secret,軟刪除保護適用於密鑰保管庫和密鑰保管庫中存儲的Secret。在Basic選項卡中,選項"Days to retain deleted values"用於設置軟刪除保護的保留期(retention period)。要強制執行保留期,並防止在保留期內永久刪除密鑰庫或Secret,可以打開清除保護(Purge Protection)。 啓用清除保護後,用戶或Microsoft無法清除機密。選項“Enable purge protection (enforce a mandatory retention period for deleted vaults and vault objects)” 用於啓用清除保護(Purge Protection),強制保留期。

Step2:設置Access Policy

設置訪問策略(Access Policy)也分兩部分,第一部分是設置 Enable Access to,第二部分是設置Permission Model和Access Policy。

通過“+Add Access Policy”來添加新的訪問策略。

Step3:Networking選項卡

設置網絡連接,勾選 “Public endpoint(all networks)”

點擊“Review+Create”按鈕,創建Key Valut

四,配置Key Valut 

打開一個新建的Key Valut,從overview選項卡中,可以看到Key Valut的必要信息(Essential Info),其中Valut URL用於唯一標識給Key Valut:

在Settings分組中打開Secrets,本文示例如何配置一個新的Secret。

點擊“+Generate/Import”,打開“Create a Secret”對話框,新建一個Secret,一個Secret主要是由Name和Value來構成的。

 

用戶從Key Valut中獲取Secret,使用Secret作爲身份驗證來訪問數據。 

 

 

 

 

參考文檔:

About Azure Key Vault

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章