共用方式為


允許信任的服務安全地存取網路受限的容器登錄

在 Azure Container Registry 中,您可以允許選取的受信任 Azure 服務存取已使用網路存取規則設定的這個登錄。 當您允許信任的服務時,受信任的服務實例可以安全地略過登錄的網路規則,並執行提取或推送映射等作業。 本文說明如何啟用及使用信任的服務搭配具網路限制的 Azure 容器登錄。

使用 Azure Cloud Shell 或安裝在本機的 Azure CLI 來執行此文章中的命令範例。 使用 2.18 版或更新版本在本機執行。 執行 az --version 以尋找版本。 如果您需要安裝或升級,請參閱 安裝 Azure CLI

限制

  • 具有受信任服務的特定登錄存取案例需要 Azure 資源的受控識別。 除非有指出支持使用者指派的受控識別,但只能使用系統指派的身分識別。
  • 允許信任的服務不適用於使用 服務端點設定的容器登錄。 此功能只會影響受 私人端點 限制或已套用 公用IP存取規則 的登錄。

關於信任的服務

Azure Container Registry 具有多層式安全性模型,可支援多個網路設定來限制登錄的存取。 這些設定包括:

  • 使用 Azure Private Link 的私人端點。 設定時,登錄的私人端點只能使用私人 IP 位址存取虛擬網路內的資源。
  • 登錄防火牆規則,只允許從特定公用IP位址或位址範圍存取登錄的公用端點。 使用私人端點時,您也可以設定防火牆來封鎖對公用端點的所有存取。

當您在虛擬網路中部署登錄或使用防火牆規則進行設定時,它會拒絕從這些來源外部存取使用者或服務。

數個多租戶 Azure 服務是從一些網路運作,而這些網路無法被包含在這些登錄網路設定中。 因此,這些服務無法執行作業,例如將映像提取或推送至登錄。 藉由將特定服務執行個體指定為「信任」,登錄擁有者可以允許選取 Azure 資源,以安全地略過執行登錄作業的登錄網路設定。

信任的服務

當容器登錄的 允許信任的服務 設定已啟用(預設值)時,下列服務的實例可以存取網路受限的容器登錄。 一段時間之後,就會新增更多服務。

如果指出,受信任服務的存取需要在服務實例中額外設定受控識別、指派 RBAC 角色,以及使用登錄進行驗證。 如需範例步驟,請參閱本文稍後 的受信任服務工作流程

信任的服務 支援的使用方式情節 使用 RBAC 角色設定受控識別
Azure 容器執行個體 使用受控識別從 Azure Container Registry 部署至 Azure Container Instances 是,可以是系統指派或使用者指派的身分識別
適用於雲端的 Microsoft Defender 適用於容器登錄的 Microsoft Defender 弱點掃描
機器學習 使用自訂的 Docker 容器映像在機器學習工作區中部署訓練模型 是的
Azure 容器登錄資料庫 (Azure Container Registry) 將映像 匯入至網路限制的 Azure 容器登錄或從網路限制的 Azure 容器登錄

注意

目前,啟用 allow trusted services 設定不適用於 App Service。

允許信任的服務 - CLI

根據預設,允許信任的服務設定會在新的 Azure 容器登錄中啟用。 執行 az acr update 命令來停用或啟用設定。

若要停用:

az acr update --name myregistry --allow-trusted-services false

若要在現有登錄或已停用的登錄中啟用此設定:

az acr update --name myregistry --allow-trusted-services true

允許信任的服務 - 入口網站

根據預設,允許信任的服務設定會在新的 Azure 容器登錄中啟用。

若要停用或重新啟用入口網站中的設定:

  1. 在入口網站中,瀏覽至容器登錄。
  2. 在 [設定] 底下,選取 [網路]
  3. 在 [允許公用網路存取] 中,選擇 [選取的網路] 或 [已停用]
  4. 執行下列其中一個步驟:
    • 若要停用信任服務的存取,請在 [防火牆例外] 下方取消核取 [允許信任的 Microsoft 服務存取此容器登錄]
    • 若要允許信任的服務,請在 [防火牆例外] 下方核取 [允許信任的 Microsoft 服務存取此容器登錄]
  5. 選取 [儲存]。

信任的服務工作流程

以下是一般工作流程,可讓信任的服務執行個體存取具網路限制的容器登錄。 當您使用服務實例的受控識別來略過登錄的網路規則時,需要此工作流程。

  1. 在 Azure Container Registry 的其中一個 受信任服務 實例中啟用受控識別。
  2. Azure 角色 指派給您的登錄。 例如,指派 Container Registry Repository Reader 以處理 已啟用 ABAC 的登錄AcrPull 以處理非 ABAC 登錄。
  3. 設定受網路限制的登錄中的設定,以允許受信任的服務存取。
  4. 使用身分識別的認證向具網路限制的登錄進行驗證。
  5. 從登錄提取映像,或執行角色允許的其他作業。

下一步