Migreren van een bestaand Uitvoeren als-account naar beheerde identiteiten

Belangrijk

Azure Automation Uitvoeren als-accounts, waaronder klassieke Uitvoeren als-accounts, zijn op 30 september 2023 buiten gebruik gesteld en vervangen door beheerde identiteiten. U kunt Uitvoeren als-accounts niet meer maken of vernieuwen via Azure Portal.

Zie de veelgestelde vragen voor meer informatie over migratiefrequentie en de ondersteuningstijdlijn voor het maken en vernieuwen van een Uitvoeren als-account.

Uitvoeren als-accounts in Azure Automation bieden verificatie voor het beheren van resources die zijn geïmplementeerd via Azure Resource Manager of het klassieke implementatiemodel. Wanneer een Uitvoeren als-account wordt gemaakt, wordt een Microsoft Entra-toepassing geregistreerd en wordt er een zelfondertekend certificaat gegenereerd. Het certificaat is één maand geldig. Als u het certificaat elke maand verlengt voordat het verloopt, blijft het Automation-account werken, maar wordt overhead toegevoegd.

U kunt voortaan Automation-accounts configureren voor gebruik van een beheerde identiteit. Dit is de standaardoptie wanneer u een Automation-account maakt. Met deze functie kan een Automation-account worden geverifieerd bij Azure-bronnen zonder referenties uit te wisselen. Een beheerde identiteit verwijdert de overhead van het vernieuwen van het certificaat of het beheren van de service-principal.

Een beheerde identiteit kan worden toegewezen aan het systeem of de gebruiker. Wanneer een nieuw Automation-account wordt gemaakt, wordt een door het systeem toegewezen beheerde identiteit ingeschakeld.

Vereisten

Voordat u migreert van een Uitvoeren als-account of klassiek Uitvoeren als-account naar een beheerde identiteit:

  1. Maak een door het systeem of door de gebruiker toegewezen beheerde identiteit of maak beide typen. Zie Beheerde identiteitstypen voor meer informatie over de verschillen tussen deze typen.

    Notitie

    • Door de gebruiker toegewezen identiteiten worden alleen ondersteund voor cloudtaken. Het is niet mogelijk om de door de gebruiker beheerde identiteit van het Automation-account te gebruiken op een hybrid runbook worker. Als u hybride taken wilt gebruiken, moet u door het systeem toegewezen identiteiten maken.
    • Er zijn twee manieren om beheerde identiteiten te gebruiken in hybrid runbook worker-scripts: de door het systeem toegewezen beheerde identiteit voor het Automation-account of de beheerde identiteit van de virtuele machine (VM) voor een Azure-VM die wordt uitgevoerd als een hybrid runbook worker.
    • De door de gebruiker toegewezen beheerde identiteit van de VIRTUELE machine en de door het systeem toegewezen beheerde identiteit van de VM werken niet in een Automation-account dat is geconfigureerd met de beheerde identiteit van een Automation-account. Wanneer u de beheerde identiteit van het Automation-account inschakelt, kunt u alleen de door het systeem toegewezen beheerde identiteit van het Automation-account gebruiken en niet de beheerde identiteit van de VM. Zie Runbookverificatie gebruiken met beheerde identiteiten voor meer informatie.
  2. Wijs dezelfde rol toe aan de beheerde identiteit voor toegang tot de Azure-bronnen die overeenkomen met het Uitvoeren als-account. Gebruik dit script om de door het systeem toegewezen identiteit in een Automation-account in te schakelen en dezelfde set machtigingen die aanwezig zijn in Azure Automation Uitvoeren als-account toe te wijzen aan de door het systeem toegewezen identiteit van het Automation-account.

    Als het Automation-account bijvoorbeeld alleen is vereist om een Azure-VM te starten of te stoppen, zijn de machtigingen die zijn toegewezen aan het Uitvoeren als-account alleen vereist voor het starten of stoppen van de VM. Wijs op dezelfde manier alleen-lezenmachtigingen toe als een runbook uit Azure Blob Storage leest. Zie Azure Automation-beveiligingsrichtlijnen voor meer informatie.

  3. Als u klassieke Uitvoeren als-accounts gebruikt, moet u ervoor zorgen dat u resources hebt gemigreerd die zijn geïmplementeerd via het klassieke implementatiemodel naar Azure Resource Manager.

  4. Gebruik dit script om erachter te komen welke Automation-accounts een Uitvoeren als-account gebruiken. Als uw Azure Automation-accounts een Uitvoeren als-account bevatten, is standaard de ingebouwde rol inzender toegewezen. U kunt het script gebruiken om de Uitvoeren als-accounts van Azure Automation te controleren en te bepalen of de roltoewijzing de standaard is of dat deze is gewijzigd in een andere roldefinitie.

  5. Gebruik dit script om erachter te komen of alle runbooks in uw Automation-account het Uitvoeren als-account gebruiken.

Migreren van een Uitvoeren als-account van Automation naar een beheerde identiteit

Als u wilt migreren van een Automation Uitvoeren als-account of klassiek Uitvoeren als-account naar een beheerde identiteit voor uw runbookverificatie, voert u de volgende stappen uit:

  1. Wijzig de runbookcode om een beheerde identiteit te gebruiken.

    U wordt aangeraden de beheerde identiteit te testen om te verifiëren of het runbook werkt zoals verwacht door een kopie van uw productierunbook te maken. Werk uw testrunbookcode bij om te verifiëren met behulp van de beheerde identiteit. Deze methode zorgt ervoor dat u uw productierunbook niet overschrijft AzureRunAsConnection en het bestaande Automation-exemplaar onderbreekt. Als u zeker weet dat de runbookcode via de beheerde identiteit wordt uitgevoerd zoals verwacht, werkt u uw productierunbook bij voor gebruik van de beheerde identiteit.

    Gebruik de cmdlet Connect-AzAccount voor ondersteuning van beheerde identiteiten. Zie Connect-AzAccount in de PowerShell-naslaginformatie voor meer informatie over deze cmdlet.

    • Als u modules gebruikt Az , werkt u bij naar de nieuwste versie door de stappen in het artikel Azure PowerShell-modules bijwerken te volgen.
    • Als u AzureRM-modules gebruikt, werkt u AzureRM.Profile bij naar de nieuwste versie en vervangt u deze met behulp van de cmdlet Add-AzureRMAccount door Connect-AzureRMAccount –Identity.

    Gebruik de voorbeeldscripts om inzicht te krijgen in de wijzigingen in de runbookcode die vereist zijn voordat u beheerde identiteiten kunt gebruiken.

  2. Wanneer u zeker weet dat het runbook wordt uitgevoerd met behulp van beheerde identiteiten, kunt u het Uitvoeren als-account veilig verwijderen als er geen ander runbook dat account gebruikt.

Voorbeeldscripts

De volgende voorbeelden van runbookscripts halen de Resource Manager-resources op met behulp van het Uitvoeren als-account (service-principal) en de beheerde identiteit. U ziet het verschil in runbookcode aan het begin van het runbook, waar deze wordt geverifieerd bij de resource.

Notitie

Schakel de juiste RBAC-machtigingen in voor de systeemidentiteit van dit Automation-account. Anders kan het runbook mislukken.

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 ("")
}

Client-id van door de gebruiker toegewezen identiteit weergeven

  1. Selecteer Identiteit in uw Automation-account onder Account Instellingen.

  2. Selecteer op het tabblad Door de gebruiker toegewezen identiteit.

    Screenshot that shows the navigation path to view client ID.

  3. Ga naar Overview>Essentials om de client-id weer te geven.

    Screenshot that shows how to view a client ID.

Grafische runbooks

Controleren of een Uitvoeren als-account wordt gebruikt in grafische runbooks

  1. Controleer elk van de activiteiten in het runbook om te zien of het Run As-account wordt gebruikt wanneer er aanmeldings-cmdlets of aliassen worden aanroepen, zoals Add-AzRmAccount/Connect-AzRmAccount/Add-AzAccount/Connect-AzAccount.

    Screenshot that illustrates checking if a graphical runbook uses a Run As account.

  2. Bekijk de parameters die door de cmdlet worden gebruikt.

    Screenshot that shows examining the parameters used by a cmdlet.

    Voor gebruik met het Uitvoeren als-account gebruikt de cmdlet de ServicePrinicipalCertificate parameter die is ingesteld op ApplicationId. CertificateThumbprint zal afkomstig zijn van RunAsAccountConnection.

    Screenshot that shows parameter sets.

Een grafisch runbook bewerken om een beheerde identiteit te gebruiken

U moet de beheerde identiteit testen om te controleren of het grafische runbook werkt zoals verwacht. Maak een kopie van uw productierunbook om de beheerde identiteit te gebruiken en werk vervolgens uw grafische testrunbookcode bij om te verifiëren met behulp van de beheerde identiteit. U kunt deze functionaliteit toevoegen aan een grafisch runbook door de Connect-AzAccount cmdlet toe te voegen.

De volgende stappen bevatten een voorbeeld om te laten zien hoe een grafisch runbook dat gebruikmaakt van een Uitvoeren als-account beheerde identiteiten kan gebruiken:

  1. Meld u aan bij de Azure-portal.

  2. Open het Automation-account en selecteer vervolgens Process Automation-runbooks>.

  3. Selecteer een runbook. Selecteer bijvoorbeeld het runbook Virtuele Azure V2-machines starten in de lijst en selecteer vervolgens Bewerken of ga naar Galerie bladeren en selecteer Virtuele Azure V2-machines starten.

    Screenshot of editing a graphical runbook.

  4. Vervang de Uitvoeren als-verbinding die gebruikmaakt van AzureRunAsConnection en de verbindingsasset die intern gebruikmaakt van de PowerShell-cmdlet Get-AutomationConnection door de Connect-AzAccount cmdlet.

  5. Selecteer Verwijderen om de Get Run As Connection en Connect to Azure activiteiten te verwijderen.

    Screenshot to connect to the Azure activities.

  6. Selecteer code in het linkerdeelvenster onder RUNBOOK CONTROL en selecteer vervolgens Toevoegen aan canvas.

    Screenshot to select code and add it to the canvas.

  7. Bewerk de codeactiviteit, wijs de juiste labelnaam toe en selecteer Activiteitslogica auteur.

    Screenshot to edit code activity.

  8. Voer op de pagina Code-editor de volgende PowerShell-code in en selecteer OK.

    try 
    { 
       Write-Output ("Logging in to Azure...") 
       Connect-AzAccount -Identity 
    } 
    catch { 
       Write-Error -Message $_.Exception 
       throw $_.Exception 
    } 
    
  9. Verbinding maken de nieuwe activiteit met de activiteiten die zijn verbonden door Verbinding maken met Azure eerder en sla het runbook op.

    Screenshot to connect new activity to activities.

In het runbook Start Azure V2-VM's in de runbookgalerie moet u bijvoorbeeld de Get Run As Connection en Connect to Azure activiteiten vervangen door de codeactiviteit die gebruikmaakt van Connect-AzAccount cmdlet zoals hierboven beschreven. Zie de voorbeeldrunbooknaam AzureAutomationTutorialWithIdentityGraphical die is gemaakt met het Automation-account voor meer informatie.

Notitie

AzureRM PowerShell-modules worden op 29 februari 2024 buiten gebruik gesteld. Als u AzureRM PowerShell-modules in grafische runbooks gebruikt, moet u deze upgraden om Az PowerShell-modules te gebruiken. Meer informatie.

Volgende stappen