Чтобы запустить команду Set-AzKeyVaultAccessPolicy
, она вызовет Azure AD Graph для проверки переданного $objectid
. В оболочке could он использует учетные данные вашей учетной записи, это работает означает, что у вашей учетной записи есть разрешение. В DevOps субъект-служба не имеет на это разрешения по умолчанию.
Чтобы решить эту проблему, самый простой способ - использовать параметр -BypassObjectIdValidation
, как показано ниже, тогда он будет работать нормально.
Set-AzKeyVaultAccessPolicy –VaultName "joykeyvault" -PermissionsToKeys get,list -PermissionsToSecrets get,list -ObjectId $objectid -BypassObjectIdValidation
Конечно, есть другой способ, просто предоставить разрешение приложения в Azure Графике AD, как показано ниже, для приложения AD вашего подключения DevOps. (Должно быть Application
разрешение типа в Azure Active Directory Graph
, а не Microsoft Graph
, не забудьте нажать кнопку Grant admin consent
)