Partage via


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 :

  1. 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.
  2. 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.

  3. 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.

  4. 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.

  5. 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 :

  1. 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 commande Add-AzureRMAccount par Connect-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.

  2. 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.

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

  1. Dans votre compte Automation, sous Paramètres du compte, sélectionnez Identité.

  2. Sous l’onglet Attribuée par l’utilisateur, sélectionnez l’identité attribuée par l’utilisateur.

    Capture d’écran montrant le chemin de navigation pour afficher l’ID client.

  3. Accédez à Vue d’ensemble>Essentials pour afficher l’ID client.

    Capture d’écran montrant comment voir l’ID client.

Runbooks graphiques

Vérifiez si un compte d’identification est utilisé dans les runbooks graphiques

  1. 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.

    Capture d’écran illustrant la vérification si un runbook graphique utilise un compte d’identification.

  2. Examinez les paramètres que l’applet de commande utilise.

    Capture d’écran montrant l’examen des paramètres utilisés par une applet de commande.

    Pour une utilisation avec le compte d’identification, l’applet de commande utilise le paramètre ServicePrinicipalCertificate défini sur ApplicationId. CertificateThumbprint sera de RunAsAccountConnection.

    Capture d’écran montrant les jeux de paramètres.

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 :

  1. Connectez-vous au portail Azure.

  2. Ouvrez le compte Automation, puis sélectionnez Automatisation du processus>Runbooks.

  3. 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.

    Capture d’écran de la modification d’un runbook graphique.

  4. Remplacez la connexion d’identification qui utilise AzureRunAsConnection et la ressource de connexion qui utilise en interne l’applet de commande Get-AutomationConnection PowerShell avec l’applet de commande Connect-AzAccount.

  5. Sélectionnez Supprimer pour supprimer les activités Get Run As Connection et Connect to Azure.

    Capture d’écran pour vous connecter aux activités Azure.

  6. Dans le volet gauche, sous RUNBOOK CONTROL, sélectionnez Code, puis Ajouter au canevas.

    Capture d’écran pour sélectionner le code et l’ajouter au canevas.

  7. Modifiez l’activité de code, attribuez un nom d’étiquette approprié, puis sélectionnez Logique d’activité de création.

    Capture d’écran pour modifier l’activité du code.

  8. 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 
    } 
    
  9. Connectez la nouvelle activité aux activités connectées par Connexion à Azure précédemment et enregistrez le runbook.

    Capture d’écran pour connecter une nouvelle activité aux activités.

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