Batch 安全性與合規性最佳做法 (機器翻譯)

本文章提供使用 Azure Batch 提升安全性的指引和最佳做法。

根據預設,Azure Batch 帳戶具有公用端點且可公開存取。 建立 Azure Batch 集區時,集區會佈建在 Azure 虛擬網路的指定子網路中。 Batch 集區中的虛擬機器是透過 Batch 所建立的公用 IP 位址來存取。 集區中的計算節點可以在需要時彼此通訊,例如執行多重執行個體工作,但集區中的節點無法與集區外的虛擬機器通訊。

Diagram showing a typical Batch environment.

有許多功能可協助您建立更安全的 Azure Batch 部署。 您可以佈建不使用公用 IP 位址的集區,藉此限制存取節點,並減少在網際網路上發現節點的機會。 您可以在 Azure 虛擬網路的子網路佈建集區,計算節點即可安全地與其他虛擬機器或內部部署網路通訊。 而且,您可以透過由 Azure Private Link 所提供的服務啟用虛擬網路的存取權

Diagram showing a more secure Batch environment.

集區設定

許多安全性功能僅適用於使用虛擬機器設定設定的集區,不適用於使用雲端服務設定的集區。 可以的話,建議使用虛擬機器設定集區,以運用虛擬機器擴展集

集區也可以設定為兩種節點通訊模式的其中一種,也就是傳統或簡化。 在傳統節點通訊模型中,Batch 服務會起始與計算節點的通訊,而計算節點也需要與 Azure 儲存體通訊。 在簡化節點通訊模式,計算節點會啟動批次服務通訊。 由於所需的傳入/傳出連線範圍縮小,而且不需要 Microsoft Azure 儲存體傳出存取權行基準操作,因此建議使用簡化的節點通訊模式。 傳統節點通訊模型將於 2026 年 3 月 31 日淘汰。

Batch 帳戶驗證

Batch 帳戶存取支援兩種驗證方法:共用金鑰和 Microsoft Entra ID

強烈建議使用 Microsoft Entra ID 進行 Batch 帳戶驗證。 部分 Batch 功能需要採用這種驗證方法,包括此處討論的許多安全性相關功能。 Batch 帳戶的服務 API 驗證機制限制僅使用 allowedAuthenticationModes 屬性的 Microsoft Entra ID。 設定此屬性時,系統將會拒絕使用共用金鑰驗證的 API 呼叫。

Batch 帳戶集區配置模式

建立 Batch 帳戶時,您可以選擇兩個集區配置模式

  • Batch 服務:此為預設選項,其會在 Batch 擁有的訂用帳戶上建立用來配置與管理集區節點的基礎雲端服務或虛擬機器擴展集,且不會直接於 Azure 入口網站顯示。 僅於 Batch 集區和節點顯示。
  • 使用者訂用帳戶:在與 Batch 帳戶相同的訂用帳戶上建立基礎雲端服務或虛擬機器擴展集資源。 因此,除了對應的 Batch 資源外,也會在訂用帳戶中顯示這些資源。

有了使用者訂用帳戶模式後,在建立集區時,會直接在您的訂用帳戶中建立 Batch VM 和其他資源。 若您想要使用 Azure 保留的 VM 執行個體建立 Batch 集區、在虛擬機器擴展集資源上使用 Azure 原則,以及/或管理訂用帳戶中的核心配額 (在訂用帳戶中共用的所有 Batch 帳戶),就需要使用者訂用帳戶模式。 若要在使用者訂用帳戶模式中建立 Batch 帳戶,您也必須向 Azure Batch 註冊訂用帳戶,並與 Azure Key Vault 中的帳戶建立關聯。

限制網路端點存取

Batch 網路端點

根據預設,具有公用 IP 位址的端點可用來與 Batch 帳戶、Batch 集區和集區節點通訊。

Batch 帳戶 API

建立 Batch 帳戶時,會建立公用端點,以使用 REST API 叫用帳戶的大部分作業。 帳戶端點具有使用 https://{account-name}.{region-id}.batch.azure.com 格式的基底 URL。 系統會保護 Batch 帳戶的存取權,並使用 HTTPS 對帳戶端點的通訊加密,以及使用共用金鑰或 Microsoft Entra 驗證來進行驗證的每個要求。

Azure Resource Manager

除了 Batch 帳戶特有的作業外,也可在一或多個 Batch 帳戶上進行管理作業。 您可以透過透過 Azure Resource Manager 存取這些管理作業。

透過 Azure Resource Manager 進行的 Batch 管理作業均會使用 HTTPS 加密,而且每個要求均會使用 Microsoft Entra 驗證來進行驗證。

Batch 集區計算節點

Batch 服務會與集區中在每個節點上執行的 Batch 節點代理程式通訊。 例如,服務可以指示節點代理程式執行工作、停止工作,或取得工作的檔案。 與節點代理程式的通訊是由一或多個負載平衡器啟用,其數目依集區中的節點數目而定。 負載平衡器會將通訊轉接至所需的節點,並將每個節點定址為唯一的連接埠號碼。 根據預設,負載平衡器具有與其相關聯的公用 IP 位址。 您也可以透過 RDP 或 SSH 遠端存取集區節點 (預設會啟用此存取,並透過負載平衡器通訊)。

Batch 集區計算節點 OS

Batch 同時支援 Linux 和 Windows 作業系統。 Batch 針對 Linux OS 散發套件的子集,使用對齊的節點代理程式支援 Linux。 建議作業系統與 OS 發行者提供的最新修補程式保持最新狀態。

映像和節點代理程式的批次支援會隨著時間逐漸淘汰,通常會與發行者支援時間軸一致。 建議避免使用具有即將結束生命週期 (EOL) 日期的映像,或超過其 EOL 日期的映像。 您有責任定期重新整理集區的相關 EOL 日期檢視,並在 EOL 日期發生之前移轉工作負載。 如果您是以指定的節點代理程式來使用自訂映像,那麼針對您自訂映像所衍生自或保持一致的映像,請確定您遵循該映像的 Batch 支援生命週期結束日期。 映像若未指定 batchSupportEndOfLife 日期,表示批次服務尚未決定此日期。 不具日期並不表示對應映像可獲得無限期支援。 可於將來隨時新增或更新 EOL 日期。 您可以透過 ListSupportedImagesAPIPowerShellAzure CLI 來探索 EOL 日期。

Windows OS 傳輸層安全性 (TLS)

Batch 節點代理程式不會修改 SSL/TLS 版本或加密套件順序的作業系統層級預設值。 在 Windows 中,SSL/TLS 版本和加密套件順序是在作業系統層級控制,因此 Batch 節點代理程式會採用每個計算節點所使用的映像所設定的設定。 雖然 Batch 節點代理程式會盡可能嘗試使用最安全的設定,但仍受限於作業系統層級設定。 建議您檢閱您的 OS 層級預設值,並針對最安全的模式適當地設定,以符合您的工作流程和組織需求。 如需詳細資訊,請造訪管理加密套件順序強制執行的 TLS,以及 Schannel SSP 的 SSL/TLS 版本控制的 TLS 登錄設定。 請注意,某些設定變更需要重新啟動才會生效。 建議使用具有新式安全性預設值的較新作業系統或自訂映像搭配修改的設定,而不是使用 Batch 啟動工作來套用這類設定。

限制對 Batch 端點的存取

有數個功能可用來限制對各種 Batch 端點的存取,尤其適用於使用虛擬網路的解決方案。

使用私人端點

Azure Private Link 可讓您透過虛擬網路中的私人端點存取 Azure PaaS 服務和 Azure 裝載的客戶自有/合作夥伴服務。 您可以使用 Private Link 限制從虛擬網路內或從任何對等互連的虛擬網路存取 Batch 帳戶。 對應至 Private Link 的資源也是私人對等互連上可透過 VPN 或 Azure ExpressRoute 存取的內部部署。

若要使用私人端點,必須在建立時適當地設定 Batch 帳戶;而且必須停用公用網路存取設定。 建立後,即可建立私人端點,並與 Batch 帳戶建立關聯。 如需詳細資訊,請參閱搭配 Azure Batch 帳戶使用私人端點

在虛擬網路建立集區

Batch 集區中的計算節點可彼此通訊以執行多執行個體工作,而不需要虛擬網路 (VNET)。 不過,根據預設,集區中的節點無法與虛擬網路集區外且有私人 IP 位址的虛擬機器通訊,例如授權伺服器或檔案伺服器。

若要讓計算節點與其他虛擬機器或內部部署網路安全通訊,您可以在 Azure VNET 的子網路設定集區。

若集區具有公用 IP 端點,子網路必須允許來自 Batch 服務的輸入通訊,才能在計算節點上排程工作和執行其他作業,且必須允許輸出通訊,才能根據您的工作負載需求,與 Azure 儲存體或其他資源進行通訊。 對於虛擬機器組態中的集區,Batch 會在連結至計算節點的網路介面層級上新增網路安全性群組 (NSG)。 這些 NSG 具有要啟用的規則:

  • Batch 服務 IP 位址的輸入 TCP 流量
  • 遠端存取的輸入 TCP 流量
  • 任何連接埠對虛擬網路的輸出流量 (可能會根據子網路層級的 NSG 規則修改)
  • 任何連接埠對網際網路的輸出流量 (可能會根據子網路層級的 NSG 規則修改)

您不必在虛擬網路子網路層級指定 NSG,因為 Batch 會設定本身的 NSG。 若您的 NSG 與已部署 Batch 計算節點的子網路已建立關聯,或者若您想要套用自訂 NSG 規則來覆寫套用的預設值,則必須至少使用下表所示的輸入和輸出安全性規則設定此 NSG,才能讓 Batch 服務與集區節點通訊,以及讓集區節點與 Azure 儲存體通訊。

如需詳細資訊,請參閱在虛擬網路中建立 Azure Batch 集區

建立具有靜態公用 IP 位址的集區

根據預設,與集區相關聯的公用 IP 位址是動態的,建立集區時即會建立,並在調整集區大小時新增或移除 IP 位址。 若在集區節點上執行的工作應用程式需要存取外部服務,這些服務的存取權可能會受限於特定 IP。 在此情況下,無法管理動態 IP 位址。

您可以在集區建立前,先在與 Batch 帳戶相同的訂用帳戶建立靜態公用 IP 位址資源。 然後,您可以在建立集區時指定這些位址。

如需詳細資訊,請參閱使用指定的公用 IP 位址建立 Azure Batch 集區

建立不需要公用 IP 位址的集區

根據預設,Azure Batch 虛擬機器設定集區的所有計算節點均會指派一或多個公用 IP 位址。 Batch 服務會使用這些端點排程工作以及與計算節點通訊,包括對網際網路的輸出存取。

若要限制存取這些節點,並減少在網際網路上發現這些節點的機會,您可以佈建不使用公用 IP 位址的集區。

如需詳細資訊,請參閱建立不需要公用 IP 位址的集區

限制集區節點的遠端存取

根據預設,Batch 允許具備網路連線能力的節點使用者使用 RDP 或 SSH 從外部連線到 Batch 集區內的計算節點。

若要限制對節點的遠端存取,請使用下列其中一種方法:

  • 設定 PoolEndpointConfiguration 以拒絕存取。 合適的網路安全性群組 (NSG) 將與集區相關聯。
  • 建立不需要公用 IP 位址的集區。 根據預設,這些集區無法在 VNet 外存取。
  • 建立 NSG 與 VNet 的關聯,以拒絕存取 RDP 或 SSH 連接埠。
  • 請勿在節點建立任何使用者。 若無任何節點使用者,將無法進行遠端存取。

加密資料

加密傳輸中的資料

對 Batch 帳戶端點 (或透過 Azure Resource Manager) 的所有通訊均必須使用 HTTPS。 連線至 Batch 服務時,您必須在 API 指定的 Batch 帳戶 URL 中使用 https://

與 Batch 服務通訊的用戶端應設定為使用傳輸層安全性 (TLS) 1.2。

加密待用的 Batch 資料

Batch API 指定的部分資訊,例如帳戶憑證、作業和工作中繼資料,以及工作命令列,會在 Batch 服務進行儲存時自動加密。 根據預設,此資料會使用每個 Batch 帳戶唯一的 Azure Batch 平台代控金鑰加密。

您也可以使用客戶自控金鑰加密此資料。 Azure Key Vault 可用來產生和儲存金鑰,並使用向 Batch 帳戶註冊的金鑰識別碼。

加密計算節點磁碟區

Batch 計算節點預設有兩個磁碟區:OS 磁碟區和本機暫存 SSD。 Batch 管理的檔案和目錄位於暫存 SSD,這是工作輸出檔案等檔案的預設位置。 Batch 工作應用程式可以使用 SSD 或 OS 磁碟區的預設位置。

如需額外的安全性,請使用下列其中一個 Azure 磁碟區加密功能來加密這些磁碟區:

安全地從計算節點存取服務

使用集區受控識別,搭配針對使用者指派的受控識別設定的適當存取權限,以存取可支援受控識別的 Azure 服務,包括 Azure Key Vault。 如果您需要在 Batch-節點上佈建憑證,請使用集區受控識別的可用 Azure Key Vault VM 延伸模組,在 Batch 集區上安裝和管理憑證。 如需在 Batch 集區上使用受控識別從 Azure Key Vault 部署憑證的詳細資訊,請參閱在 Batch 集區中啟用自動憑證輪替

治理和合規性

法規遵循

為了協助客戶在全球各地的受管制產業和市場遵守自身應盡的合規性義務,Azure 會維護大量的合規性供應項目組合

這些供應項目會以各種類型的保證為基礎,包括由獨立第三方稽核公司所產生的正式認證、證明、驗證、授權及評量,以及由 Microsoft 產生的契約增修條款、自我評量及客戶指導文件。 檢閱合規性供應項目的完整概觀,以判斷哪些項目可能與您的 Batch 解決方案相關。

Azure 原則

Azure 原則有助於強制執行組織標準並大規模評估合規性。 Azure 原則的常見使用案例包括針對資源一致性、法規合規性、安全性、成本和管理來進行治理。

根據您的集區配置模式和應套用原則的資源,以下列其中一種方式使用 Azure 原則與 Batch:

  • 直接使用 Microsoft.Batch/batchAccounts 資源。 可以使用 Batch 帳戶的屬性子集。 例如,您的原則可以包含有效的 Batch 帳戶區域、允許的集區配置模式,以及是否為帳戶啟用公用網路。
  • 間接使用 Microsoft.Compute/virtualMachineScaleSets 資源。 具有使用者訂用帳戶集區配置模式的 Batch 帳戶,可以在 Batch 帳戶訂用帳戶中建立的虛擬機器擴展集資源上設定原則。 例如,允許的 VM 大小,以及確保每個集區節點上均會執行特定擴充功能。

下一步