Ich versuche, ein PowerShell-Skript auf einem Continuous Integration-Buildserver auszuführen, um die automatische Bereitstellung mithilfe von Azure Powershell durchzuführen.Anmeldung bei Azure Powershell ohne interaktive Eingabeaufforderung nicht möglich
Ich kann nicht umgehen mit einer Eingabeaufforderung, die nach Anmeldeinformationen fragt, wenn Sie versuchen, das Skript auszuführen.
Dies ist, wie ich die Anmeldung:
$password = ConvertTo-SecureString "mypassword" -AsPlainText -Force
$cred = New-Object PSCredential("[email protected]", $password)
Add-AzureRmAccount -Credential $cred
Und das ist einer der Befehle, die interaktiv zur Eingabe eines Passworts aufgefordert werden, auch nachdem ich bereits angemeldet haben:
Get-AzureKeyVaultSecret -VaultName my-vault-name -Name MySecret
Wie kann ich die Eingabeaufforderung vermeiden und Azure Powershell für die Bereitstellung auf einem Build-Server verwenden?
Ich habe versucht, einen Service-Principal zu verwenden, und ich habe ihm Zugriff auf die ResourceGroup gegeben, die KeyVault besitzt. Beim Anmelden mit dem Service-Principal kann jedoch nicht auf das Schlüsselvault zugegriffen werden. Ich erhalte diesen Fehler: 'Get-AzureKeyVaultSecret: Operation" get "ist nicht erlaubt" –
Haben Sie den Service-Principal zur Key Vault Contributors-Rolle hinzugefügt? –
Sie müssen den Service-Principal im Schlüsseltresor über Powershell autorisieren: https://azure.microsoft.com/en-us/documentation/articles/key-vault-get-started/#authorize – BenV