共用方式為


Azure Integration Services 登陸區域加速器的安全性考慮

良好的安全性是任何 Azure 應用程式的基石。 Azure Integration Services 面臨特定挑戰,因為有許多資源組成應用程式,而且每個資源都有自己的安全性考慮。 若要確保您瞭解每個服務的特定考慮,請參閱下列安全性基準:

設計考量

設計安全性模型時,有兩個不同的設計領域: 設計階段安全性 ,以及 執行時間安全性

  • 設計階段安全性 牽涉到透過Azure 入口網站或管理 API 存取及建立 Azure 資源。 在 Azure 中,我們使用 Microsoft Entra ID 和角色型存取控制 (RBAC) 來達成此目的。

  • 執行時間安全性 牽涉到在應用程式流程期間存取端點和資源 -例如,驗證和授權呼叫邏輯應用程式的使用者,或API 管理中的 API 作業。

如有需要,請儘早決定:

  • 私人雲端 - 您的所有資源都位於 VNet 中,且只使用私人位址,而無法存取或從公用網際網路存取,可能可透過 VPN 或 ExpressRoute 存取內部部署資源。

  • 公用雲端 - 您所有公開的資源都可以存取公用網際網路,但鎖定為限制從公用網際網路的存取。

  • 混合式 - 有些資源是私人的,有些是公用的。

您所做的選擇會影響資源的成本,以及您可以為應用程式實作多少安全性。

一般安全性考慮包括:

  • 使用 Azure 服務來保護輸入和輸出流量。

  • 使用 Microsoft Entra ID 和 OAuth 2.0 來管理驗證。

  • 使用 Azure 原則 強制執行治理原則。

  • 鎖定資源的存取權(存取控制)。

  • 加密傳輸中和待用資料。

  • 記錄所有嘗試存取資源。

  • 稽核資源的存取權。

設計建議

網路設計建議

  • 查看 在可存取端點前面搭配 Web 應用程式防火牆 (WAF) 使用應用程式閘道 (Azure 應用程式閘道 或 Azure Front Door),這可協助您自動加密資料,並讓您更輕鬆地監視和設定端點。

    • Front Door 是一個應用程式傳遞網路,可為 Web 應用程式提供全域負載平衡和網站加速服務。 Front Door 提供第 7 層功能,例如 SSL 卸載、路徑型路由、快速容錯移轉和快取,以改善應用程式的效能和可用性。

    • 流量管理員 是以 DNS 為基礎的流量負載平衡器,可讓您以最佳方式將流量分散到全球 Azure 區域的服務,同時提供高可用性和回應性。 因為流量管理員是 DNS 型負載平衡服務,所以只會在網域層級進行負載平衡。 因此,由於 DNS 快取和系統不接受 DNS TTL 的常見挑戰,因此無法像 Front Door 一樣快速地容錯移轉。

    • 應用程式閘道 提供具有各種第 7 層負載平衡功能的受控應用程式傳遞控制器。 您可以使用 應用程式閘道,將 CPU 密集型 SSL 終止卸載至閘道,將 Web 服務器陣列的生產力優化。

    • Azure Load Balancer 是所有 UDP 和 TCP 通訊協定的高效能、超低延遲第 4 層輸入和輸出負載平衡服務。 Load Balancer 每秒會處理數百萬個要求。 Load Balancer 是區域備援,可確保跨可用性區域的高可用性。

  • 使用 VNet 整合,為您的整合服務資源實作網路隔離,以將它們放在與使用 Azure 私人連結 和私人端點結合的隔離子網中。 如需此設計指導方針的檢閱,請參閱本系列中的網路拓撲和連線 一文。

  • 使用 Azure 防火牆 保護您的輸出流量

  • 使用 IP 篩選來鎖定您的端點,以便只能由已知的網路位址存取它們(這適用于未整合到 VNet 中的邏輯應用程式)。

  • 如果您有公開可用的資源,請使用 DNS 混淆來阻止任何攻擊者;混淆表示自訂功能變數名稱或不會顯示資源用途或擁有者的特定 Azure 資源名稱。

加密設計建議

  • 儲存資料時(例如,Azure 儲存體或 Azure SQL Server),一律啟用 用加密。 鎖定資料的存取權,在理想情況下只能存取服務和有限的系統管理員數目。 請記住,這也適用于記錄資料。 如需詳細資訊,請參閱 Azure 待用 資料加密和 Azure 加密概觀

  • 在傳輸 中一律使用 加密(例如 TLS 流量)在資源之間傳輸資料時;絕對不要透過未加密的通道傳送資料。

  • 使用 TLS 通訊協定時,請一律使用 TLS 1.2 或更新版本。

  • 在 Azure 金鑰保存庫 保留秘密,然後將這些秘密連結至 應用程式設定 (Functions、Logic Apps)、 具名值 (API 管理),或 組態 專案(應用程式組態)。

  • 實作金鑰輪替原則,以確保環境中使用的所有金鑰都會定期輪替,以防止使用危及金鑰的攻擊

  • 針對邏輯應用程式, 請使用模糊化 來保護執行歷程記錄中的資料。

驗證和存取設計建議

  • 指派存取權時,請一律遵循最低許可權原則:提供身分識別所需的最低許可權。 有時候,這牽涉到建立自訂的 Microsoft Entra 角色。 如果沒有具有所需最低許可權的內建角色,請考慮只使用這些許可權建立自訂角色。

  • 盡可能使用受控識別,當資源需要存取服務時, 一律使用 受控識別 。 例如,如果您的邏輯應用程式工作流程需要存取金鑰保存庫擷取秘密,請使用 邏輯應用程式的受控識別 來達成此目的:受控識別提供更安全、更容易管理存取資源的機制,因為 Azure 代表您管理身分識別。

  • 使用 OAuth 2.0 作為資源端點之間的驗證機制:

    • 在 Logic Apps 或 Functions 中,啟用 Easy Auth,這需要所有外部呼叫者使用 OAuth 身分識別(通常是 Microsoft Entra ID,但可以是任何身分識別提供者)。

    • 在API 管理中,使用 jwt 驗證原則元素來要求 OAuth 流程才能連線到端點。

    • 在Azure 儲存體和金鑰保存庫中,設定存取原則以限制特定身分識別的存取。

治理設計建議

  • 主動使用 Azure 原則 尋找安全性問題或瑕疵。 例如,沒有 IP 篩選的端點。

  • 如果有,請使用 適用於雲端的 Microsoft Defender 來掃描您的資源,並找出潛在的弱點。

  • 定期檢閱稽核記錄(在理想情況下使用自動化工具)來識別安全性攻擊,以及任何未經授權的資源存取。

  • 請考慮使用滲透測試來識別安全性設計中的任何弱點。

  • 使用自動化部署程式來設定安全性。 可能的話,請使用 AZURE DevOps 和 Terraform 之類的 CI/CD 管線,不僅要部署您的資源,還能設定安全性。 這可確保您的資源會在部署時自動受到保護。

後續步驟

檢閱重要的設計區域,以針對您的架構進行完整的考慮和建議。