0

重複した質問?ARMテンプレートからKeyVaultでSSLにアクセスする方法

私はそれが信じられません。前述のように、これはローカル展開のユーザーを使用して動作しており、すべての(わかっているように)サービスプリンシパルとローカルでも失敗するテストユーザーに許可が与えられています。

Webアプリケーションをプロビジョニングしてデプロイする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')]" 
     } 
    } 
    ] 
    } 

私は私のPCからローカルでこれを実行すると、それは私が展開が失敗した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は、このための下で実行することをサービスプリンシパルのために追加しました:エラーがある

リリース。

リリースプリンシパルユーザーはKeyVaultの鍵と秘密のためにRead,List、サブスクリプションにはContributorです。ローカルで働く私のアカウントはco-adminです。

どのようなアクセス許可を追加する必要がありますか?

更新

私はサービスプリンシパルと同じ権利を持っており、それが今でローカルに失敗し、別のユーザーtestuserを追加しました。私は、いくつかの試行錯誤して、パーミッションを追加し、何が動作するかを見ることになると思います。

+0

[ARMテンプレートのKeyVaultリファレンスに関する問題](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サービスプリンシパルと同じ権限で使用してローカルテストを行っても、この変更は問題ありません。 SSLバインドを達成しようとしている他の誰のための

側注:

リソースの場所私の例では、すべて同じです。私はボールトが別の場所にあると思われますが、そのリソースグループも同様に動作するように指定する必要があります - 私はその理論をテストしていません。

関連する問題