管理任务的网络绕过策略

ACR 任务 设置是一个策略设置,允许客户选择加入网络绕过任务。 如 ACR 受信任的服务中所述,某些用户需要对容器注册表进行网络限制访问。 此网络限制允许某些服务或标识根据定义的规则访问绕过网络控制。

ACR 用户可以将任务配置为使用系统分配的托管标识(SAMI)通过容器注册表进行身份验证。 但是,当注册表与网络隔离时,注册表所有者可以指定“允许受信任的Microsoft服务访问此容器注册表”。 ACR 任务已不再作为 受信任的服务列出。 由于注册表所有者可以启用受信任的服务设置以继续允许作为受信任服务的任务,因此策略设置默认禁用此功能,以确保客户的工作流保持安全。  

自 2025 年 6 月 1 日起,如果 设置为 ,则使用系统分配的托管标识(SAMI)令牌的任务的网络旁路将默认被拒绝,并且需要显式配置才能恢复功能。 依赖网络绕过功能用于容器注册表任务的客户,但未显式设置新策略,就会遇到 。

Important

对使用 User-Assigned 标识的客户没有影响

若要避免任何潜在问题,请确保将配置更新为使用此设置,或者使用代理池。 依赖网络绕过功能用于容器注册表任务的客户,但未显式设置新策略,就会遇到 。 或者,可以使用容器注册表代理池功能来限制访问。

启用和禁用网络规则绕过策略设置

若要在注册表上启用网络规则绕过策略设置,请运行以下命令,根据需要更新变量。

registry="myregistry"
resourceGroup="myresourcegroup"  

az resource update \
--namespace Microsoft.ContainerRegistry \
--resource-type registries \
--name $registry \
--resource-group $resourceGroup \
--api-version 2025-06-01-preview \
--set properties.networkRuleBypassAllowedForTasks=true

若要在注册表上禁用网络规则绕过策略设置,请运行以下命令:

registry="myregistry"
resourceGroup="myresourcegroup"

az resource update \
--namespace Microsoft.ContainerRegistry \
--resource-type registries \ --name $registry \
--resource-group $resourceGroup \
--api-version 2025-06-01-preview \
--set properties.networkRuleBypassAllowedForTasks=false

可以使用以下命令检查设置的状态:

registry="myregistry"
resourceGroup="myresourcegroup"  

az resource show \
--namespace Microsoft.ContainerRegistry \
--resource-type registries \
--name $registry \
--resource-group $resourceGroup \
--api-version 2025-06-01-preview \
--query properties.networkRuleBypassAllowedForTasks

客户使用场景

下面是一些可能适合你的用例的方案。 使用 Azure CLI 或 ARM 模板启用这些方案。 以下示例重点介绍Azure CLI。  

方案 1:选择加入以启用新的网络绕过策略设置

registry="myregistry"
resourceGroup="myresourcegroup"  

az resource update \
--namespace Microsoft.ContainerRegistry \
--resource-type registries \
--name $registry \
--resource-group $resourceGroup \
--api-version 2025-06-01-preview \
--set properties.networkRuleBypassAllowedForTasks=true

通过运行 命令并查看 流式传输的日志,验证任务是否可以继续绕过网络限制。

Important

为 ACR 任务启用新的网络绕过策略时,请了解使用系统分配的托管标识(SAMI)的含义。 此标识允许 ACR 任务安全地进行身份验证,而无需在工作流中嵌入凭据。 ACR 任务使用的 SAMI 令牌是一个敏感凭据。 如果处理不当(如写入日志),可能会截获和滥用。 保护令牌的最佳做法包括:

  • 避免将令牌输出到日志或以任何方式公开令牌。
  • 实施严格的日志记录卫生,并监视意外令牌泄漏。
  • 定期审核任务定义和日志以符合性。

方案 2:不采取任何作(默认行为)来启用新的网络绕过策略设置

如果未显式设置该设置,任务的网络旁路将默认被拒绝,导致需要网络旁路的任务出现。

方案 3:在本地使用 az acr purge 进行映像清理

如果不想使用策略设置,并且不使用网络旁路,则可以使用 命令在本地管理 ACR 清理任务。 为此,请从 Azure ACR CLI GitHub并在自己的计算机上执行命令。 这样,便可以从注册表中删除不需要或过时的映像,而无需依赖 ACR 任务或更改当前配置。 在本地运行清除可以确保所有操作都在受信任的环境(客户托管的信任边界)中进行,避免对网络绕过的依赖。

方案 4:在自承载环境中生成和管理映像

若要在不启用设置的情况下生成容器映像或管理注册表,请使用自承载环境。 通过在有权直接访问 ACR 注册表的代理或计算机上运行 Docker 或容器运行时命令(例如 和 ),可以安全地执行这些任务。 此方法消除了对 ACR 任务和/或网络旁路的需求,因为所有操作完全在您的基础设施内执行,从而使您能够完全控制工作流(由客户管理信任边界)。

帮助和支持

有关技术帮助,请在 Azure 门户中创建支持请求