0

Doppelte Frage?Zugriff auf SSL in KeyVault von ARM Vorlage

Ich glaube nicht, dass es ist. Wie bereits erwähnt, funktioniert dies unter Verwendung meines Benutzers von einer lokalen Bereitstellung, und alle (wie ich es verstehe) Berechtigungen wurden dem Dienstprinzipal und dem Testbenutzer erteilt, der auch lokal fehlschlägt.

Ich habe eine ARM-Vorlage, die eine Webanwendung bereitstellt und bereitstellt, ein Teil davon ist, eine Zertifikatsbindung an die Webanwendung anzuwenden. Dieser Teil der Vorlage sieht wie folgt aus:

{ 
    "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')]" 
     } 
    } 
    ] 
    } 

Als ich das lokal von meinem PC laufen, es funktioniert, wenn ich es von der VSTS laufen die Bereitstellung fehlschlägt, und sehen wie folgt aus:

enter image description here

Wo ist der Fehler:

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

das SSL-Zertifikat und die KeyVault beide haben Berechtigungen für den Service Principal fügte hinzu, dass VSTS läuft diese unter Freisetzung.

Der Hauptbenutzer der Freigabe hat Read,List für Schlüssel und geheime Schlüssel im KeyVault und ist Contributor im Abonnement. Mein Konto, das lokal funktioniert, ist .

Irgendwelche Ideen, welche Berechtigungen hinzugefügt werden müssen?

aktualisieren

habe ich einen anderen Benutzer testuser, die die gleichen Rechte wie der Service Principal hat und es scheitert nun vor Ort. Ich denke, es wird ein Versuch und ein Fehler sein, um Berechtigungen hinzuzufügen und zu sehen, was funktioniert.

+0

Mögliches Duplikat von [Problem mit KeyVault-Referenz in der ARM-Vorlage] (http://stackoverflow.com/questions/42134416/issue-with-keyvault-reference-in-arm-template) –

Antwort

0

Dies ist keine doppelte Frage - wie erwähnt, es wurde auf seltsame Erlaubnis Problem über Konten hingewiesen, obwohl die Berechtigungen festgelegt wurden. Es stellt sich heraus, dass der Co-Admin aus irgendeinem Grund trotz des unten genannten Problems funktioniert - ein potenzieller Fehler in der ARM/Permission-Infrastruktur, vielleicht?

Dies funktioniert für Co-Admin-Benutzer, aber nicht für andere.

enter image description here

Während dies funktioniert für einen geringeren privilegierten Benutzer/Auftraggeber.

enter image description here

Beachten Sie die Schemaversion ändern. Das ursprüngliche Schema 2014-04-01 enthält tatsächlich nichts über Microsoft.Web/Certificates, während das aktualisierte Schema 2015-08-01 diese Information enthält.

Lokale Tests mit der testuser mit den gleichen Berechtigungen wie der VSTS Service Principal funktioniert gut mit dieser Änderung.

Side Hinweis für alle anderen versuchen, SSL-Bindungen zu erreichen:

Die Lage der Ressourcen in meinem Beispiel ist alle gleich.Ich vermute, wenn der Tresor an einem anderen Ort ist, dann muss auch seine Ressourcengruppe spezifiziert werden, damit das gleiche funktioniert - ich habe diese Theorie jedoch nicht getestet.

Verwandte Themen