将映像从Azure容器注册表中提取到Azure容器实例时如何使用SystemAssigned身份?

问题描述

我想在 Azure容器实例中创建一个容器(或容器组),从 Azure容器注册提取图像-但要使用 SystemAssigned 身份。这样,我想避免使用ACR登录凭据,服务主体或 UserAssigned 身份。

当我运行此脚本(PowerShell中的Azure CLI) ...

$LOC = "westeurope"
$RG = "myresourcegroup"
$ACRNAME = "myacr"

az configure --defaults location=$LOC group=$RG

$acr = az acr show -n $ACRNAME -o json | ConvertFrom-Json -Depth 10

az container create --name app1 --image $($acr.loginServer+"/app1") `
    --assign-identity --role acrpull --scope $acr.id `
    --debug

... ACI似乎不认识它应该已经获得ACR的授权,并显示以下提示

Image registry username:

Azure CLI版本:2.14.0

这有意义吗? ACR是否支持ACI托管身份?

解决方法

在您的代码中,当您创建具有托管身份的Azure容器时,该容器将在ACI创建时创建,以向ACR进行身份验证。恐怕您不能这样做,因为有limitations

您不能使用托管身份从Azure容器中提取图像 创建容器组时的注册表。身份只是 在运行的容器中可用。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...