Migrer d’un compte d’identification existant vers des identités managées
Important
Les comptes Azure Automation Run as, y compris les comptes Classic Run as, ont été retirés le 30 septembre 2023 et remplacés par des identités managées. Vous ne pourrez plus créer ou renouveler des comptes d’exécution via le portail Microsoft Azure.
Pour plus d’informations sur la cadence de migration et la chronologie de prise en charge de la création de compte d’identification et du renouvellement de certificat, consultez les questions fréquemment posées.
Les comptes d’identification dans Azure Automation fournissent une authentification pour la gestion des ressources déployées dans Azure Resource Manager ou le modèle de déploiement Classic. Chaque fois qu’un compte d’identification est créé, une application Microsoft Entra est inscrite et un certificat auto-signé est généré. Le certificat est valide pendant 1 mois. Le renouvellement du certificat chaque mois avant son expiration conserve le compte Automation, mais ajoute une surcharge.
Vous pouvez maintenant configurer des comptes Automation pour utiliser une identité managée, qui est l’option par défaut lorsque vous créez un compte Automation. Avec cette fonctionnalité, un compte Automation peut s’authentifier auprès des ressources Azure sans avoir à échanger d’informations d’identification. Une identité managée supprime la surcharge de renouvellement du certificat ou de la gestion du principal de service.
Une identité managée peut être affectée par le système ou affectée par l’utilisateur. Lorsqu’un compte Automation est créé, une identité managée affectée par le système est activée.
Prérequis
Avant de migrer d’un compte d’identification ou d’un compte d’identification classique vers une identité managée :
Créez une identité managéeaffectée par le système ou affectée par l’utilisateur, ou créez les deux types. Pour en savoir plus sur les différences entre elles, consultez les Types d’identité managée.
Remarque
- Les identités affectées par l’utilisateur sont uniquement prises en charge pour les tâches cloud. Il n’est pas possible d’utiliser l’identité managée par l’utilisateur du compte Automation sur un runbook worker hybride. Pour utiliser des travaux hybrides, vous devez créer des identités affectées par le système.
- Il existe deux façons d’utiliser des identités managées dans des scripts Runbook Worker hybrides : l’identité managée affectée par le système pour le compte Automation ou l’identité managée de machine virtuelle (VM) pour une machine virtuelle pour une machine virtuelle Azure s’exécutant en tant que runbook worker hybride.
- L’identité managée affectée par l’utilisateur de la machine virtuelle et l’identité managée affectée par le système de la machine virtuelle ne fonctionnera pas dans un compte Automation configuré avec l’identité managée d’un compte Automation. Lorsque vous activez l’identité managée du compte Automation, vous pouvez utiliser uniquement l’identité managée affectée par le système du compte Automation et non l’identité managée de machine virtuelle. Pour plus d’informations, consultez Utiliser l’authentification runbook avec des identités managées.
Attribuez le même rôle à l’identité managée pour accéder aux ressources Azure qui correspondent au compte d’identification. Utilisez ce script pour activer l’identité attribuée par le système dans un compte Automation et attribuer le même jeu d’autorisations présent dans le compte d’identification Azure Automation à une identité attribuée par le système du compte Automation.
Par exemple, si le compte Automation est requis uniquement pour démarrer ou arrêter une machine virtuelle Azure, les autorisations attribuées au compte d’identification doivent servir uniquement à démarrer ou arrêter la machine virtuelle. De même, attribuez des autorisations en lecture seule si un runbook est lu à partir du Stockage Blob Azure. Pour plus d’informations, consultez les instructions de sécurité Azure Automation.
Si vous utilisez des comptes d’identification classiques, vérifiez que vous avez migré des ressources déployées via un modèle de déploiement classique vers Azure Resource Manager.
Utilisez ce script pour savoir quels comptes Automation utilisent un compte d’identification. Si vos comptes Azure Automation contiennent un compte d’identification, le rôle Contributeur intégré lui est attribué par défaut. Vous pouvez utiliser le script pour vérifier les comptes d’identification Azure Automation et déterminer si leur attribution de rôle est celle par défaut ou si elle a été remplacée par une définition de rôle différente.
Utilisez ce script pour déterminer si tous les runbooks de votre compte Automation utilisent le compte d’identification.
Migrez d’un compte d’identification Automation vers une identité managée
Pour migrer d’un compte d’identification Automation ou d’un compte d’identification classique vers une identité managée pour votre authentification runbook, procédez comme suit :
Modifiez le code du runbook pour utiliser une identité managée.
Nous vous recommandons de tester l’identité managée pour vérifier si le runbook fonctionne comme prévu en créant une copie de votre runbook de production. Mettez à jour votre code de runbook de test pour vous authentifier à l’aide de l’identité managée. Cette méthode garantit que vous ne remplacez pas
AzureRunAsConnection
dans votre runbook de production et n’interrompez pas l’instance Automation existante. Une fois que vous êtes sûr que le code du runbook s’exécute comme prévu via l’identité managée, mettez à jour votre runbook de production pour utiliser l’identité managée.Pour la prise en charge des identités managées, utilisez l’applet de commande
Connect-AzAccount
. Pour en savoir plus sur cette applet de commande, consultez Connect-AzAccount dans la référence PowerShell.- Si vous utilisez des modules
Az
, effectuez une mise à jour vers la dernière version en suivant les étapes décrites dans l’article Mettre à jour les modules Azure PowerShell. - Si vous utilisez des modules AzureRM, mettez à jour
AzureRM.Profile
vers la dernière version et remplacez-le à l’aide de l’applet de commandeAdd-AzureRMAccount
parConnect-AzureRMAccount –Identity
.
Pour comprendre les modifications apportées au code du runbook requis avant de pouvoir utiliser des identités managées, utilisez les exemples de scripts.
- Si vous utilisez des modules
Lorsque vous êtes sûr que le runbook s’exécute correctement à l’aide d’identités managées, vous pouvez supprimer le compte d’identification en toute sécurité si aucun autre runbook n’utilise ce compte.
Exemples de scripts
Les exemples suivants de scripts runbook récupèrent les ressources Resource Manager à l’aide du compte d’identification (principal de service) et de l’identité managée. Vous remarqueriez la différence au début du code du runbook, où il s’authentifie auprès de la ressource.
- Identité managée affectée par le système
- Identité managée affectée par l’utilisateur
- Compte d’identification
Remarque
Activez les autorisations RBAC appropriées pour l’identité système de ce compte Automation. Dans le cas contraire, le runbook échoue.
try
{
"Logging in to Azure..."
Connect-AzAccount -Identity
}
catch {
Write-Error -Message $_.Exception
throw $_.Exception
}
#Get all Resource Manager resources from all resource groups
$ResourceGroups = Get-AzResourceGroup
foreach ($ResourceGroup in $ResourceGroups)
{
Write-Output ("Showing resources in resource group " + $ResourceGroup.ResourceGroupName)
$Resources = Get-AzResource -ResourceGroupName $ResourceGroup.ResourceGroupName
foreach ($Resource in $Resources)
{
Write-Output ($Resource.Name + " of type " + $Resource.ResourceType)
}
Write-Output ("")
}
Afficher l’ID client de l’identité attribuée par l’utilisateur
Dans votre compte Automation, sous Paramètres du compte, sélectionnez Identité.
Sous l’onglet Attribuée par l’utilisateur, sélectionnez l’identité attribuée par l’utilisateur.
Accédez à Vue d’ensemble>Essentials pour afficher l’ID client.
Runbooks graphiques
Vérifiez si un compte d’identification est utilisé dans les runbooks graphiques
Vérifiez chacune des activités du runbook pour voir s’il utilise le compte d’identification lorsqu’il appelle des applets de commande ou des alias d’ouverture de session, tels que
Add-AzRmAccount/Connect-AzRmAccount/Add-AzAccount/Connect-AzAccount
.Examinez les paramètres que l’applet de commande utilise.
Pour une utilisation avec le compte d’identification, l’applet de commande utilise le paramètre
ServicePrincipalCertificate
défini surApplicationId
.CertificateThumbprint
sera deRunAsAccountConnection
.
Modifiez un runbook graphique pour utiliser une identité managée
Vous devez tester l’identité managée pour vérifier que le runbook graphique fonctionne comme prévu. Créez une copie de votre runbook de production pour utiliser l’identité managée, puis mettez à jour votre code de runbook graphique de test pour vous authentifier à l’aide de l’identité managée. Vous pouvez ajouter cette fonctionnalité au runbook graphique en ajoutant l’applet de commande Connect-AzAccount
.
Les étapes suivantes incluent un exemple pour montrer comment un runbook graphique qui utilise un compte d’identification peut utiliser des identités managées :
Connectez-vous au portail Azure.
Ouvrez le compte Automation, puis sélectionnez Automatisation du processus>Runbooks.
Sélectionnez un runbook. Par exemple, sélectionnez le runbook Démarrer des machines virtuelles Azure V2 dans la liste, puis sélectionnez Modifier ou accédez à Parcourir la galerie , puis sélectionnez Démarrer des machines virtuelles Azure V2.
Remplacez la connexion d’identification qui utilise
AzureRunAsConnection
et la ressource de connexion qui utilise en interne l’applet de commandeGet-AutomationConnection
PowerShell avec l’applet de commandeConnect-AzAccount
.Sélectionnez Supprimer pour supprimer les activités
Get Run As Connection
etConnect to Azure
.Dans le volet gauche, sous RUNBOOK CONTROL, sélectionnez Code, puis Ajouter au canevas.
Modifiez l’activité de code, attribuez un nom d’étiquette approprié, puis sélectionnez Logique d’activité de création.
Sur la page Éditeur de code, entrez le code PowerShell suivant, puis sélectionnez OK.
try { Write-Output ("Logging in to Azure...") Connect-AzAccount -Identity } catch { Write-Error -Message $_.Exception throw $_.Exception }
Connectez la nouvelle activité aux activités connectées par Connexion à Azure précédemment et enregistrez le runbook.
Par exemple, dans le runbook Démarrer des machines virtuelles Azure V2 dans la galerie de runbooks, vous devez remplacer les activités Get Run As Connection
et Connect to Azure
par l’activité de code qui utilise l’applet de commande Connect-AzAccount
comme décrit ci-dessus.
Pour plus d’informations, consultez l’exemple de nom de runbook AzureAutomationTutorialWithIdentityGraphical créé avec le compte Automation.
Remarque
Les modules AzureRM PowerShell sont mis hors service le 29 février 2024. Si vous utilisez des modules AzureRM PowerShell dans des runbooks graphiques, vous devez les mettre à niveau pour utiliser des modules Az PowerShell. Plus d’informations
Étapes suivantes
Passez en revue les questions fréquemment posées pour la migration vers des identités managées
Si l’exécution de vos runbooks ne se termine pas correctement, consultez Résoudre les problèmes d’identité managée Azure Automation.
Pour en savoir plus sur les identités managées affectées par le système, consultez identité managée affectée par le système pour un compte Azure Automation.
Pour en savoir plus sur les identités managées affectées par l’utilisateur, consultez identité managée affectée par l’utilisateur pour un compte Azure Automation.
Pour obtenir des informations sur la sécurité du compte Azure Automation, consultez Vue d’ensemble de l’authentification de compte Azure Automation.