2017-04-25 4 views
0

Ich versuche, eine Azure HD insight Spark-Vorlage mit Visual Studio bereitzustellen. Der HD Insight Cluster greift auf einen Data Lake zu und für Data Lake Storage habe ich einen Service Principal mit einem Zertifikat erstellt. Ich habe das Zertifikat in Azure Vault als secret gespeichert und versuche es in meiner Azure Resource Manager-Vorlage aufzurufen. Es wird jedoch der folgende Fehler angezeigt Service Principal Details are invalid Ich habe das Zertifikat von einem laufenden Cluster gedownloadet und es gibt nichts falsch mit dem Zertifikat. Ich verwende dieses Zertifikat immer, um Cluster über das Portal zu erstellen.Der in Key Vault in Azure-Ressourcenvorlage gespeicherte Zertifikatsgeheimwert kann nicht verwendet werden

"reference": { 
    "keyVault": { 
     "id": "/subscriptions/e3f93473-xxx/resourceGroups/Production/providers/Microsoft.KeyVault/vaults/myvault" 
    }, 
    "secretName": "certificateNew" 
    } 
+0

Ich glaube nicht, dass dies ein Zertifikatsproblem ist. Wenn möglich, können Sie dies überprüfen [link] (https://github.com/Azure/azure-powershell/issues/655) Könnte verwenden Login Ihr Konto mit Ihrem Zertifikat Login-AzureRmAccount -ServicePrincipal -TenantId $ tenantId -CertificateThumbprint $ thumbprint -ApplicationId $ azureAdApplication.ApplicationId'. –

+0

Ihre Parametersyntax sieht gut aus - Ist das Cert in der Vault-Base64 codiert? –

+0

Ich bin mir nicht sicher, ob das Zertifikat im Vault Base64-kodiert ist oder nicht. Grundsätzlich habe ich dieses Zertifikat heruntergeladen, als ich HD insight cluster mit dem Azure Portal erstellte – jane

Antwort

0

Ich hatte das gleiche Problem und schaffte es zu lösen, indem den Powershell-Befehl auf this page das PFX Zertifikat an einen Base-64-String-Wert zu konvertieren. Ich habe dann den String-Wert in Key Vault in ein Geheimnis hochgeladen.

$servicePrincipalCertificateBase64 = [System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes(path-to-servicePrincipalCertificatePfxFile)) 

Es gibt mehrere Skripte auf Github, die eine PFX Base-64 konvertieren und laden Sie sie auf einen Schlüssel Vault, die Sie angeben. Ich habe einige von ihnen ausprobiert, aber irgendwie wurden sie in ein Format konvertiert, das beim Entladen der ARM-Vorlage Probleme verursachte. Die von mir erwähnte Methode löste das Problem in meinem Fall.

+0

Während das Dokument hinter dem Link die Frage beantworten könnte, sollten Sie den Inhalt von hier hinzufügen, um zu verhindern, dass er beim Verschieben oder Löschen des Dokuments verloren geht. – Markus

Verwandte Themen