將 Azure Vault 的存取限制為僅對生產中的應用服務進行存取

將 Azure Vault 的存取限制為僅對生產中的應用服務進行存取

我想限制並僅允許生產中的應用程式訪問我的秘密。即使我啟用了防火牆和虛擬網路 > 選定網路並選擇允許 Microsoft 可信任服務

當我嘗試訪問密鑰時返回的是“操作返回了無效的狀態代碼‘禁止’”

虛擬網路

訪問策略

答案1

首先,Key Vault 的虛擬網路服務端點功能仍處於預覽階段。強烈建議不要在任何生產場景中使用此功能。

在這種情況下,您可能需要允許來自應用程式所在的虛擬網路或公用 IP 位址範圍的連線以繞過防火牆。

根據您的圖片存取策略,您拒絕對來自所有網路的流量的存取。這些來源之外的任何呼叫者都將被拒絕訪問,預設值除外值得信賴的微軟服務。這意味著來自這些服務的這些連接將允許通過防火牆,但此類呼叫者仍然需要提供有效的 AAD 令牌,並且必須具有執行請求的操作的權限。

另外,應用程式服務即將推出,我目前找不到它值得信賴的微軟服務。對於應用服務,僅支援 ASE(應用服務環境)實例。

在此輸入影像描述

參考:宣布 Key Vault 的虛擬網路服務端點(預覽版)

更新1

由此關聯您在評論中提供。

如果您要限制對 PaaS 資源的網路訪問,您可以確保在特定子網路中啟用特定服務端點 - Microsoft.KeyVault。此外,如果您選擇了網絡,則允許使用子網。您可以從中獲得更多詳細信息教學

如果在應用程式服務中使用 Azure 託管服務標識,則需要確保已新增存取策略包括您的應用程式的身份。參考

更新2

在這種情況下,如果您只想允許 Web 應用程式存取 Key Vault,而不是從本機網路存取 Key Vault,則需要將 Web 應用程式服務的出站 IP 位址新增至 Key Vault 防火牆。

答案2

如果將託管服務識別 (MSI) 與應用程式服務一起使用,則可以在 Key Vault 策略中授予對該 Azure AD 識別碼的存取權限,並且不必在應用程式中硬編碼憑證。https://azure.microsoft.com/sv-se/resources/samples/app-service-msi-keyvault-dotnet/

關於限制網路/端點對金鑰保管庫的訪問,Nancy 的正確答案是使用“Microsoft 可信任服務”。https://docs.microsoft.com/en-us/azure/key-vault/key-vault-overview-vnet-service-endpoints應用服務是 Key Vault 的可信任服務。

相關內容