【发布时间】:2020-09-06 18:55:15
【问题描述】:
我正在尝试设置我的应用容器服务,以便它可以使用托管身份从我们的 ACR 中提取 docker 映像,而不是将用户名和密码存储在应用设置中(除了我们想要编写这些部署脚本的任何其他内容如果应用服务需要用户名和密码,那么我们必须将它们存储在源代码管理中)。
令人难以置信的是,我在这种情况下找不到任何文档。我发现最接近的是使用托管身份从 VM [https://docs.microsoft.com/en-us/azure/container-registry/container-registry-authentication-managed-identity] 中提取 ACR 图像,我不能将其用作最后一步的指南(我唯一的一点是缺少)是SSH 进入虚拟机并在命令行运行az acr login --name myContainerRegistry。
我要去的地方:
- 我已经创建了 ACR 和容器应用服务
- 我已将角色
ACR Pull和Reader授予应用服务的系统分配身份 - 应用服务在尝试拉取容器映像时访问被拒绝
我不知道下一步该做什么;就像我说的,我找不到关于这种情况的任何指南。
【问题讨论】:
-
我不确定这是否可能。但另一种方法是从部署管道访问 Azure Key Vault 以获取凭据并将它们注入到
az webapp config container set命令中。请注意,这仅在部署新环境时才需要,而不是在每次代码部署时都需要。部署环境是基础设施自动化而不是 CI/CD。 docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/… -
谢谢,虽然我不确定这是否对我们有用,因为我们使用的是 Terraform 而不是 ARM 或直接使用 CLI。
标签: azure azure-container-registry azure-managed-identity