Migrer votre Azure automation vers une identité managée
Microsoft l'annonce depuis plusieurs mois: il faut migrer vos anciens "Run As Account" vers les identités managées d'ici le 30 septembre 2023.

Ayant eu de multiples expériences dans le monde du conseil, j'ai pu acquérir une expertise dans la conception et la construction de services de collaboration d'entreprise. Je suis passionné par les technologies Microsoft et surtout Azure. Aujourd'hui je possède une solide expérience en méthodologie de développement et j'ai mené des équipes de développement technique au succès. Je possède également une solide connaissance de l'infrastructure qui fait de moi une ressource efficace pour mettre en œuvre la transformation numérique vers le cloud Microsoft. Je suis un professionnel efficace et honnête qui aime relever les challenges. Aimant partager mes connaissances; je suis à l'aise en tant que Technical Leader et en tant que membre d'une équipe. Mes compétences techniques sont les suivantes: Azure, DevOps, Architecture Applicative, Développement de solution Cloud Native, écosystème Microsoft... et bien d'autres. Pour voir mes certifications Microsoft : https://www.youracclaim.com/users/antoine-loizeau
Sur vos ressources Azure Automation, vous pourrez trouver ce message vous rappelant de faire cette mise à jour du service:

Pour ce faire rien de plus simple, il suffit de se rendre dans la partie "Account Settings" et de cliquer sur Identity. Ici vous devriez avoir ce rendu si vous n'avez pas encore fait la mise à jour de votre service :

Sur cet écran, il suffit d'activer la fonctionnalitée pour ajouter une identitée managée à votre service Automation Account et de patienter quelques instants pour y retrouver l'ID associé à cette identité :

En utilisant le bouton "Azure role assignments" vous pourrez ajouter les permissions nécessaires pour l'éxécution de vos scripts. Dans mon cas, utilisant des scripts pour mettre en place des mécanismes de FinOps, je vais ajouter le droit de contribution sur ma souscription :

Une fois cela fait, il nous reste encore une action à réaliser sur les runbooks afin d'utiliser cette nouvelle identité.
Ici dans mon code PowerShell, je vais remplacer ces lignes de connection qui utilise le "Run As Account" :
$connectionName = "AzureRunAsConnection"
try
{
# Get the connection "AzureRunAsConnection"
$servicePrincipalConnection=Get-AutomationConnection -Name $connectionName
"Logging in to Azure..."
Add-AzureRmAccount `
-ServicePrincipal `
-TenantId $servicePrincipalConnection.TenantId `
-ApplicationId $servicePrincipalConnection.ApplicationId `
-CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
}
catch {
if (!$servicePrincipalConnection)
{
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else{
Write-Error -Message $_.Exception
throw $_.Exception
}
}
Par ce nouveau code :
try
{
Write-Output ("Logging in to Azure...")
Connect-AzAccount -Identity
}
catch {
Write-Error -Message $_.Exception
throw $_.Exception
}
Cette action sera à répéter dans tous les Runbooks utilisant l'ancien "Run As Account"
Au besoin, n'hésitez pas à vous référer à la documentation officielle fournie par Microsoft: Migrer d’un compte d’identification vers des identités managées | Microsoft Learn






