Субъект службы добавлен как неизвестный в политике доступа к хранилищу ключей

Я хочу добавить субъект-службу в политики доступа Azure Keyvault.

Я пробовал с помощью команды ниже

Set-AzKeyVaultAccessPolicy -VaultName 'kvevalmock' -ObjectId '23erer-ed58-4ead-w34d-1ete23w3yofa' -PermissionsToSecrets @("get","list","set","delete","backup","restore","recover","purge") -PermissionsToKeys @("decrypt","encrypt","unwrapKey","wrapKey","verify","sign","get","list","update","create","import","delete","backup","restore","recover","purge") -BypassObjectIdValidation

Команда выполняется, но в политиках доступа к хранилищу ключей субъект-служба не указан в разделе «Приложение». SP будет добавлен как Неизвестный. Из-за этой проблемы создание секретов хранилища ключей вызывает ошибку запрещенного доступа.

введите описание изображения здесь


person Amruta    schedule 12.02.2021    source источник


Ответы (1)


Для параметра -ObjectId необходимо указать идентификатор объекта субъекта-службы (корпоративное приложение), но не идентификатор объекта зарегистрированного приложения.

Сначала перейдите в свое зарегистрированное приложение, я думаю, вы скопируете идентификатор объекта на этой странице:

введите описание изображения здесь

Щелкните Управляемое приложение в локальном каталоге, выделенное красным квадратом на скриншоте выше, чтобы перейти к субъекту-службе (корпоративное приложение). А затем скопируйте объект приложения, используйте идентификатор объекта в своей команде. введите описание изображения здесь

person Hury Shen    schedule 12.02.2021
comment
Привет, Хьюри Шен, спасибо. Решение сработало отлично. Есть ли способ получить это значение objectId динамически? - person Amruta; 12.02.2021
comment
@Amruta Не могли бы вы предоставить более подробную информацию о ваших требованиях? На чем вы хотите запросить objectId? На основе названия приложения? - person Hury Shen; 12.02.2021
comment
да ... могу ли я получить ObjectId на основе имени приложения? - person Amruta; 12.02.2021
comment
@Amruta Да, вы можете получить ObjectId на основе имени приложения по Get-AzADServicePrincipal -DisplayName "appName". Но если несколько приложений имеют одно и то же имя, эта команда ответит на список всех приложений. - person Hury Shen; 16.02.2021