集中式應用程式設定和安全性

Microsoft Entra ID
Azure 應用程式組態
Azure 金鑰保存庫

解決方案構想

本文說明解決方案概念。 您的雲端架構設計人員可以使用本指南,協助可視化此架構的一般實作的主要元件。 使用本文作為起點,設計符合您工作負載特定需求的架構良好解決方案。

本文概述在分散式環境中建立健全且可調整應用程序的解決方案。 此解決方案會使用 Azure 應用程式組態 和 Azure 金鑰保存庫 來管理及儲存應用程式組態設定、功能旗標,以及一個位置的安全存取設定。

架構

下圖顯示 應用程式組態 和 金鑰保存庫 如何共同管理及保護開發和 Azure 環境中的應用程式

開發環境

在開發環境中,應用程式會透過Visual Studio或 Azure CLI 2.0 版使用身分識別來登入,並將驗證要求傳送至Microsoft Entra ID。

顯示應用程式如何在開發環境中登入和驗證的架構圖表。

下載此架構的 Visio 檔案

Azure 預備環境或生產環境

Azure 預備和生產環境會使用 受控識別 進行登入和驗證。

顯示應用程式如何在預備或生產環境中登入和驗證的架構圖表。

下載此架構的 Visio 檔案

資料流程

  1. 應用程式會在 Visual Studio 偵錯期間傳送驗證要求,或透過 Azure 中的 MSI 進行驗證。
  2. 成功驗證后,Microsoft Entra ID 會傳回存取令牌。
  3. 應用程式組態 SDK 會傳送具有存取令牌的要求,以讀取應用程式密鑰保存庫的應用程式 應用程式組態 金鑰保存庫 secretURI 值。
  4. 成功授權後,應用程式組態 傳送組態值。
  5. 使用登入身分識別,應用程式會傳送要求給 金鑰保存庫,以擷取 應用程式組態 傳送之 secretURI 的應用程式密碼。
  6. 成功授權後,金鑰保存庫 會傳回秘密值。

元件

  • Microsoft Entra ID 是用來管理和保護身分識別的通用平臺。
  • 應用程式組態 可讓您將所有 Azure 應用程式的設定儲存在通用託管位置。
  • 受控識別提供身分 識別,讓應用程式在連線到支援 Microsoft Entra 驗證的資源時使用。
  • 金鑰保存庫 保護雲端應用程式和服務所使用的密碼編譯密鑰和其他秘密。

案例詳細資料

雲端式應用程式通常會在多個區域中的多個虛擬機或容器上執行,並使用多個外部服務。 在分散式環境中建立穩固且可調整的應用程式,會帶來很大的挑戰。

藉由使用 應用程式組態,您可以在單一位置管理和儲存所有應用程式的組態設定、功能旗標和安全存取設定。 應用程式組態 可順暢地與 金鑰保存庫 搭配運作,其會儲存密碼、密鑰和秘密,以進行安全存取。

潛在使用案例

任何應用程式都可以使用 應用程式組態,但下列類型的應用程式最能受益於它:

  • 在 Azure Kubernetes Service (AKS) 或部署在一或多個區域中的其他容器化應用程式上執行的微服務。
  • 無伺服器應用程式,包括 Azure Functions 或其他事件驅動的無狀態計算應用程式。
  • 使用持續部署 (CD) 管線的應用程式。

考量

這些考量能實作 Azure Well-Architected Framework 的要素,其為一組指導原則,可以用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework (部分機器翻譯)。

  • 最好在每個環境中針對每個應用程式使用不同的密鑰保存庫:開發、Azure 生產階段前和 Azure 生產環境。 使用不同的保存庫有助於防止跨環境共用秘密,並降低發生缺口時的威脅。

  • 若要使用這些案例,登入身分識別必須在 應用程式組態 資源中具有 應用程式組態 數據讀取者角色,而且具有明確的存取原則,才能擷取 金鑰保存庫 中的秘密。

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

下一步

深入瞭解元件技術: