在 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 容器登錄中啟用。
若要停用或重新啟用入口網站中的設定:
- 在入口網站中,瀏覽至容器登錄。
- 在 [設定] 底下,選取 [網路]。
- 在 [允許公用網路存取] 中,選擇 [選取的網路] 或 [已停用]。
- 執行下列其中一個步驟:
- 若要停用信任服務的存取,請在 [防火牆例外] 下方取消核取 [允許信任的 Microsoft 服務存取此容器登錄]。
- 若要允許信任的服務,請在 [防火牆例外] 下方核取 [允許信任的 Microsoft 服務存取此容器登錄]。
- 選取 [儲存]。
信任的服務工作流程
以下是一般工作流程,可讓信任的服務執行個體存取具網路限制的容器登錄。 當您使用服務實例的受控識別來略過登錄的網路規則時,需要此工作流程。
- 在 Azure Container Registry 的其中一個 受信任服務 實例中啟用受控識別。
- 將 Azure 角色 指派給您的登錄。 例如,指派
Container Registry Repository Reader
以處理 已啟用 ABAC 的登錄或AcrPull
以處理非 ABAC 登錄。 - 設定受網路限制的登錄中的設定,以允許受信任的服務存取。
- 使用身分識別的認證向具網路限制的登錄進行驗證。
- 從登錄提取映像,或執行角色允許的其他作業。
下一步
- 若要使用私有端點在虛擬網路中限制對登錄的存取,請參閱 設定 Azure 容器登錄的 Azure Private Link。
- 若要設定登錄防火牆規則,請參閱 設定公用IP網路規則。