список az acr - никогда не возвращает значение для принципала службы - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть существующий субъект службы, которому я назначаю роль «acrpull» для недавно созданного ACR. Я делаю это по команде:

az role assignment create --assignee {application id} --role acrpull --scope {id value as returned by the command az acr list}

Я получаю ответ:

Назначение роли уже существует. (это потому что я повторяю этот шаг)

Теперь я захожу с учетными данными участника службы:

az login --service-principal -u {application id} -p {password} --tenant {tenant ID}

Теперь, если я выполню: az acr list, я ожидаю увидеть мой ACR в списке. Вместо этого я всегда вижу '[]'. Любая идея, в чем может быть проблема?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2019

это потому, что вам нужно разрешение на чтение для перечисления ресурсов, у вас есть разрешение только на извлечение изображений из ACR, а не на их чтение. Если вы попытаетесь получить изображение из этого ACR, используя эти учетные данные - это будет работать. если вы хотите перечислить их - назначьте разрешения на чтение для этого ACR.

0 голосов
/ 26 апреля 2019

Вы указываете идентификатор приложения в качестве --assignee, когда вы должны указать пользователя / группу, а не указывать параметр --scope, где вы должны передать идентификатор приложения в виде / subscription / 1234 /resourceGroups / MyResourceGroup / поставщики / Microsoft.ContainerRegistry / регистратуры / MyRegistry.Посмотрите на параметры здесь .

Это более интуитивно понятно на портале.

enter image description here

...