質問が重複していますか?
私はそうは思いません。前述のように、これはローカル展開のユーザーを使用して機能しており、(私が理解しているように) すべてのアクセス許可がサービス プリンシパルとローカルで失敗するテスト ユーザーに付与されています。
Web アプリをプロビジョニングしてデプロイする ARM テンプレートがあります。その一部は、証明書バインディングを Web アプリに適用することです。テンプレートのその部分は次のようになります。
{
"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')]"
}
}
]
}
これを PC からローカルで実行すると正常に動作しますが、VSTS から実行すると展開が失敗し、次のようになります。
エラーの場所:
"operationName": {
"localizedValue": "Microsoft.Web/certificates/write",
"value": "Microsoft.Web/certificates/write"
},
"properties": {
"statusCode": "Unauthorized",
"statusMessage": "{\"error\":{\"code\":\"BadRequest\",\"message\":\"\"}}"
}
SSL 証明書と KeyVault の両方に、このリリースで VSTS が実行されるサービス プリンシパルのアクセス許可が追加されています。
リリース プリンシパル ユーザーはRead,List
、KeyVault にキーとシークレットを持ってContributor
おり、サブスクリプションに属しています。ローカルで動作する私のアカウントはco-admin
です。
どの権限を追加する必要があるかについてのアイデアはありますか?
アップデート
testuser
サービス プリンシパルと同じ権限を持つ別のユーザーを追加したところ、ローカルで失敗しました。アクセス許可を追加して何が機能するかを確認するには、試行錯誤が必要だと思います。