0

Дублированный вопрос?Как получить доступ к SSL в KeyVault из шаблона ARM

Я не верю, что это так. Как уже говорилось, это работает с использованием моего пользователя из локального развертывания, и все (как я понимаю) разрешения предоставлены Принципалу услуг и тестовому пользователю, который также выходит из строя локально.

У меня есть шаблон ARM, который содержит и развертывает веб-приложение, частью которого является применение привязки сертификата к webapp. Та часть шаблона выглядит следующим образом:

{ 
    "type": "Microsoft.Web/sites", 
    "kind": "api", 
    "name": "[parameters('name')]", 
    "apiVersion": "2015-08-01", 
    "location": "[resourceGroup().location]", 
    "properties": { 
    "name": "[parameters('name')]", 
    "serverFarmId": "[resourceId(parameters('servicePlanGroup'), 'Microsoft.Web/serverFarms', parameters('servicePlanName'))]" 
    }, 
    "resources": [ 
    { 
     "name": "[parameters('certificateName')]", 
     "apiVersion": "2014-04-01", 
     "type": "Microsoft.Web/certificates", 
     "location": "[resourceGroup().location]", 
     "dependsOn": [ 
     "[resourceId('Microsoft.Web/Sites', parameters('name'))]" 
     ], 
     "properties": { 
     "keyVaultId": "[parameters('keyVaultId')]", 
     "keyVaultSecretName": "[parameters('keyVaultSecretName')]" 
     } 
    } 
    ] 
    } 

Когда я запускаю это локально с ПК он работает нормально, когда я запускаю его из VSTS терпит неудачу развертывание и выглядеть следующим образом:

enter image description here

Где ошибка:

"operationName": { 
    "localizedValue": "Microsoft.Web/certificates/write", 
    "value": "Microsoft.Web/certificates/write" 
}, 
"properties": { 
    "statusCode": "Unauthorized", 
    "statusMessage": "{\"error\":{\"code\":\"BadRequest\",\"message\":\"\"}}" 
} 

сертификат SSL и KeyVault оба имеют разрешения добавлены для принципала службы, что VSTS работает под управлением для этого выпуск.

Основной пользователь Release имеет Read,List для ключей и секретов в KeyVault и является Contributor в подписке. Моя учетная запись, которая работает локально, - co-admin.

Любые идеи о том, какие разрешения необходимо добавить?

Update

Я добавил другой пользователь testuser, который имеет те же права, что и основной объем услуг и теперь она не может локально. Я предполагаю, что будет некоторая пробная версия и ошибка, чтобы добавить разрешения и посмотреть, что работает.

+0

Возможный дубликат [Проблема с ссылкой KeyVault в шаблоне ARM] (http://stackoverflow.com/questions/42134416/issue-with-keyvault-reference-in-arm-template) –

ответ

0

Это не дублирующийся вопрос - как упоминалось, это указывало на странную проблему с разрешениями по учетным записям, хотя были установлены разрешения. Оказывается, по какой-то причине со-админ будет работать, несмотря на нижеследующую проблему - возможно, ошибка в инфраструктуре ARM/разрешений?

Это работает для пользователя со-администратора, но не для кого-либо еще.

enter image description here

В то время как это работает для меньшего привилегированного пользователя/принципала.

enter image description here

Обратите внимание на изменение версии схемы. Исходная схема 2014-04-01 фактически не содержит ничего о Microsoft.Web/Certificates, тогда как обновленная схема 2015-08-01 содержит эту информацию.

Локальные проверки с использованием testuser с теми же привилегиями, что и директор службы VSTS, отлично справляются с этим изменением.

Side Примечание для тех, кто еще пытается достичь SSL привязок:

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