Microsoft w tym miejscu opisaÅ‚ jak za pomocÄ… Powershell stworzyć konto techniczne Service Principal oraz jak za pomocÄ… tego konta utworzyć kolejne konto – tym razem do uwierzytelnienia w Azure Automation. Na tej samej stronie jest nawet skrypt, który robi wszystko za nas od poczÄ…tku do koÅ„ca. Co jednak w przypadku gdy mamy już konto Service Principal, z którego korzystamy i nie chcemy tworzyć kolejnego konta tylko na potrzeby Automation? Trzeba do tego istniejÄ…cego konta dodać certyfikat (o ile już nie jest skonfigurowany) i nastÄ™pnie z wykorzystaniem tego konta i certyfikatu utworzyć konto do Automation.
W załączniku do posta znajduje się skrypt, który dokona konfiguracji. Zapisz go pod nazwą Set-AzureServicePrincipal.ps1, otwórz do edycji i ustaw ścieżkę gdzie certyfikat ma się zapisać na dysku:
1 |
$CertPath = Join-Path "C:\certs" ($ApplicationDisplayName + ".pfx") |
Następnie wywołaj skrypt ze ścieżki w której się znajduje:
1 2 3 |
.\Set-AzureServicePrincipal.ps1 -ResourceGroup NazwaGrupyZasobów -AutomationAccountName NazwaAutomationAccount -ApplicationDisplayName NazwaKontaServicePrincipal -SubscriptionId IdSubskrypcji -CertPlainPassword ‚oCertyfikatu .\Set-AzureServicePrincipal.ps1 -ResourceGroup azureautomate -AutomationAccountName TestAutomation -ApplicationDisplayName ServicePrincipal -SubscriptionId "9aedc521-ab6c-41b4-9c57-5a389891c4d3" -CertPlainPassword "Haslo2016" |
Efektem działania skryptu będzie certyfikat zapisany pod ścieżką $CertPath oraz w repozytorium certyfikatów lokalnego komputera w folderze Personal.
Dodatkowo do konta Service Principal w Azure dopisany zostanie tenże certyfikat oraz nadane zostaną uprawnienia roli Contributor do całej subskrypcji. Poza tym zostaną utworzone wszystkie niezbędne zasoby do uruchamiania skryptów w koncie Azure Automation. Poniżej obrazek, który pokazuje jak wygląda poprawnie skonfigurowane konto do uwierzytelniania w skryptach Azure Automation.
Teraz z wykorzystaniem Service Principal możecie uwierzytelniać się w waszych skryptach 🙂Set-AzureServicePrincipal