Ric*_*ban 10 azure azure-container-registry azure-managed-identity
我正在尝试设置我的应用程序容器服务,以便它可以使用托管身份从我们的 ACR 中提取 docker 映像,而不是将用户名和密码存储在应用程序设置中(除了我们想要编写这些部署的脚本之外,如果应用程序服务需要用户名和密码,那么我们必须将它们存储在源代码管理中)。
令人难以置信的是,我找不到有关此场景的任何文档。我发现的最接近的是使用托管身份从虚拟机中提取 ACR 映像[ https://learn.microsoft.com/en-us/azure/container-registry/container-registry-authentication-management-identity],我不能将其用作指南,因为最后一步(我唯一缺少的一点)是通过SSH 进入虚拟机并az acr login --name myContainerRegistry在命令行中运行。
我必须去的地方:
ACR Pull应用Reader程序服务的系统分配身份我不知道下一步该做什么;就像我说的,我找不到关于这种情况的任何指南。
现在可以通过设置acrUseManagedIdentityCreds属性来实现
以下是包含步骤的教程:https: //learn.microsoft.com/en-us/azure/app-service/tutorial-custom-container ?pivots=container-linux#configure-app-service-to-deploy-来自注册表的图像
下面是具体命令
az role assignment create --assignee <principal-id> --scope /subscriptions/<subscription-id>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/<registry-name> --role "AcrPull"
az resource update --ids /subscriptions/<subscription-id>/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/<app-name>/config/web --set properties.acrUseManagedIdentityCreds=True
要将应用服务配置为从 ACR 拉取,您可以使用服务主体方法并设置访问级别,就像您已经完成的那样。
https://github.com/Azure/app-service-linux-docs/blob/master/service_principal_auth_acr.md
就 terraform 的应用服务而言,您可以使用以下命令在 Azure Key Vault 中注入 ServicePrincipal 凭据机密的设置
https://www.terraform.io/docs/providers/azurerm/r/app_service.html#app_settings
| 归档时间: |
|
| 查看次数: |
9611 次 |
| 最近记录: |