Я пытаюсь получить сертификат для своей службы приложений, которую развертываю из хранилища ключей, используя этот шаблон (https://github.com/Azure/azure-quickstart-templates/tree/master/webapp-keyvault-ssl).. Для этого необходимо создать политику доступа к хранилищу ключей, которая предоставляет веб-сайты Microsoft.Azure.WebsitesУчастник службы (идентификатор abfa0a7c-a6b6-4736-8310-5855508787cd) получает секреты.Это работает в моей подписке просто отлично, но не работает в подписке клиента. Мы могли бы запустить команду Set-AzKeyVaultAccessPolicy со ссылкой на идентификатор субъекта службыи выполняется без ошибок, но политика доступа фактически не создается. Когда я выполнил get-azAdServicePrincipal -DisplayNameBeginsWith «Microsoft.Azure.Websites», ничего не возвращается. Тем не менее, когда я просматриваю журнал аудита для KeyVault, я могуПосмотрите, как пользователь с идентификатором abfa0a7c-a6b6-4736-8310-5855508787cd пытается войти в систему, поэтому где-то эта идентификация должна существовать (?)
Что-то нужно сделать, чтобы включить / создать этот параметр по умолчанию (Microsoft.Принципал службы Azure.Websites)? Я проверил свою учетную запись MSDN и вижутакое же поведение в том, что этот принципал отсутствует.
Может развернуть этот шаблон в подписке, где существует принципал Microsoft.Azure.Websites, но если принципал не существует, развертывание шаблона завершится неудачей.
#Gets the service principal (missing in problem subscription)
get-azAdServicePrincipal -DisplayNameBeginsWith 'Microsoft.Azure.Websites'
#Sets the keyvault access policy for the built in service principal
set-azKeyVaultAccessPolicy -VaultName keyVaultName -ServicePrincipalName "abfa0a7c-a6b6-4736-8310-5855508787cd" -PermissionsToSecrets get