你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使容器注册表内容可公开提供

为匿名(未经身份验证)拉取访问设置 Azure 容器注册表是一项可选功能,可访问 Internet 的任何用户可通过此功能从注册表中拉取任何内容。

匿名拉取访问是一项预览版功能,可在标准和高级服务层级中使用。 若要配置匿名拉取访问,请使用 Azure CLI(2.21.0 或更高版本)更新注册表。 若要安装或升级,请参阅安装 Azure CLI

关于匿名拉取访问

默认情况下,只有已经过身份验证的用户才拥有从 Azure 容器注册表拉取或推送内容的访问权限。 启用匿名(未经身份验证)拉取访问会导致所有注册表内容可供公开读取(拉取)。 在不需要用户身份验证的方案(例如分发公共容器映像)中,可以使用匿名拉取访问。

  • 通过更新现有注册表的属性来启用匿名拉取访问。
  • 启用匿名拉取访问后,可以随时禁用这种访问。
  • 未经身份验证的客户端只能使用数据平面操作。
  • 注册表可能会限制高频未经身份验证的请求。
  • 如果你之前已向注册表进行身份验证,请确保在尝试执行匿名拉取操作之前清除凭据。

警告

匿名请求访问当前适用于注册表中的所有存储库。 如果你使用存储库范围的令牌管理存储库访问权限,所有用户都可以从启用了匿名拉取的注册表的存储库中拉取内容。 建议在启用匿名请求访问时删除令牌。

配置匿名拉取访问

启用匿名拉取访问

使用 az acr update 命令更新注册表并传递 --anonymous-pull-enabled 参数。 默认已在注册表中禁用匿名拉取。

az acr update --name myregistry --anonymous-pull-enabled

重要

如果你之前已使用 Docker 凭据向注册表进行身份验证,请运行 docker logout,以确保在尝试执行匿名拉取操作之前清除现有凭据。 否则,你可能会看到类似于“已拒绝拉取访问”的错误消息。

禁用匿名拉取访问

通过将 --anonymous-pull-enabled 设置为 false 来禁用匿名拉取访问。

az acr update --name myregistry --anonymous-pull-enabled false

后续步骤