Migrer votre Azure automation vers une identité managée

Photo by Jason Dent on Unsplash

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.

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

Did you find this article valuable?

Support Antoine LOIZEAU by becoming a sponsor. Any amount is appreciated!