Migrera från ett befintligt Kör som-konto till hanterade identiteter

Viktigt!

Azure Automation Kör som-konton, inklusive klassiska Kör som-konton, har dragits tillbaka den 30 september 2023 och ersatts med hanterade identiteter. Du skulle inte längre kunna skapa eller förnya Kör som-konton via Azure-portalen.

Mer information om migreringstakt och supporttidslinjen för skapande av Kör som-konto och certifikatförnyelse finns i vanliga frågor och svar.

Kör som-konton i Azure Automation tillhandahåller autentisering för att hantera resurser som distribuerats via Azure Resource Manager eller den klassiska distributionsmodellen. När ett Kör som-konto skapas registreras ett Microsoft Entra-program och ett självsignerat certifikat genereras. Certifikatet är giltigt i en månad. Om du förnyar certifikatet varje månad innan det upphör att gälla fungerar Automation-kontot, men omkostnaderna läggs till.

Du kan nu konfigurera Automation-konton för användning av en hanterad identitet, vilket är standardalternativet när du skapar ett Automation-konto. Med den här funktionen kan ett Automation-konto autentisera till Azure-resurser utan att behöva byta ut några autentiseringsuppgifter. En hanterad identitet avlägsna kostnaden för att förnya certifikatet eller hantera tjänstens huvudnamn.

En hanterad identitet kan vara systemtilldelad eller användartilldelad. När ett nytt Automation-konto har skapats aktiveras en systemtilldelad hanterad identitet.

Förutsättningar

Innan du migrerar från ett Kör som-konto eller ett klassiskt Kör som-konto till en hanterad identitet:

  1. Skapa en systemtilldelad eller användartilldelad hanterad identitet eller skapa båda typerna. Mer information om skillnaderna mellan dem finns i Hanterade identitetstyper.

    Kommentar

    • Användartilldelade identiteter stöds endast för molnjobb. Det går inte att använda Automation-kontots användarhanterade identitet på en hybrid runbook worker. Om du vill använda hybridjobb måste du skapa systemtilldelade identiteter.
    • Det finns två sätt att använda hanterade identiteter i Hybrid Runbook Worker-skript: antingen den systemtilldelade hanterade identiteten för Automation-kontot eller den hanterade identiteten för den virtuella datorn (VM) för en virtuell Azure-dator som körs som hybrid runbook worker.
    • Den virtuella datorns användartilldelade hanterade identitet och den virtuella datorns systemtilldelade hanterade identitet fungerar inte i ett Automation-konto som har konfigurerats med ett Automation-kontos hanterade identitet. När du aktiverar Automation-kontots hanterade identitet kan du bara använda Automation-kontots systemtilldelade hanterade identitet och inte den virtuella datorns hanterade identitet. Mer information finns i Använda runbook-autentisering med hanterade identiteter.
  2. Tilldela samma roll till den hanterade identiteten för att få åtkomst till de Azure-resurser som matchar Kör som-kontot. Använd det här skriptet för att aktivera den systemtilldelade identiteten i ett Automation-konto och tilldela samma uppsättning behörigheter som finns i Azure Automation Kör som-kontot till systemtilldelad identitet för Automation-kontot.

    Om Automation-kontot till exempel bara krävs för att starta eller stoppa en virtuell Azure-dator måste behörigheterna som tilldelats Kör som-kontot bara vara för att starta eller stoppa den virtuella datorn. På samma sätt tilldelar du skrivskyddade behörigheter om en runbook läser från Azure Blob Storage. Mer information finns i Säkerhetsriktlinjer för Azure Automation.

  3. Om du använder klassiska Kör som-konton kontrollerar du att du har migrerat resurser som distribuerats via den klassiska distributionsmodellen till Azure Resource Manager.

  4. Använd det här skriptet för att ta reda på vilka Automation-konton som använder ett Kör som-konto. Om dina Azure Automation-konton innehåller ett Kör som-konto har den inbyggda deltagarrollen tilldelad som standard. Du kan använda skriptet för att kontrollera Kör som-konton i Azure Automation och avgöra om deras rolltilldelning är standard eller om den har ändrats till en annan rolldefinition.

  5. Använd det här skriptet för att ta reda på om alla runbooks i ditt Automation-konto använder Kör som-kontot.

Migrera från ett Kör som-konto för Automation till en hanterad identitet

Så här migrerar du från ett Automation Kör som-konto eller ett klassiskt Kör som-konto till en hanterad identitet för din runbook-autentisering:

  1. Ändra Runbook-koden så att den använder en hanterad identitet.

    Vi rekommenderar att du testar den hanterade identiteten för att kontrollera om runbooken fungerar som förväntat genom att skapa en kopia av din produktions runbook. Uppdatera testekoden för runbook för att autentisera med hjälp av den hanterade identiteten. Den här metoden säkerställer att du inte åsidosätter AzureRunAsConnection i din produktions runbook och bryter den befintliga Automation-instansen. När du är säker på att Runbook-koden körs som förväntat via den hanterade identiteten uppdaterar du produktions-runbooken så att den hanterade identiteten används.

    Använd cmdlet Connect-AzAccount för stöd för hanterad identitet. Mer information om denna cmdlet finns i Connect-AzAccount i PowerShell-referensen.

    • Om du använder Az moduler uppdaterar du till den senaste versionen genom att följa stegen i artikeln Uppdatera Azure PowerShell-moduler .
    • Om du använder AzureRM-moduler uppdaterar AzureRM.Profile du till den senaste versionen och ersätter den med hjälp av cmdlet Add-AzureRMAccount med Connect-AzureRMAccount –Identity.

    Om du vill förstå ändringarna i runbook-koden som krävs innan du kan använda hanterade identiteter, använd exempelskripten.

  2. När du är säker på att runbooken körs med hanterade identiteter kan du på ett säkert sätt ta bort Kör som-kontot om ingen annan runbook använder det kontot.

Exempelskript

Följande exempel på runbook-skript hämtar Resource Manager-resurserna med hjälp av Kör som-kontot (tjänstens huvudnamn) och den hanterade identiteten. Du skulle märka skillnaden i runbook-kod i början av runbooken, där den autentiserar mot resursen.

Kommentar

Aktivera lämpliga RBAC-behörigheter för systemidentiteten för det här Automation-kontot. Annars kan runbooken misslyckas.

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

Visa klient-ID för användartilldelad identitet

  1. I ditt Automation-konto går du till Konto Inställningar och väljer Identitet.

  2. fliken Användartilldelad väljer du användartilldelad identitet.

    Screenshot that shows the navigation path to view client ID.

  3. Gå till Översikt>Essentials för att visa klient-ID:t.

    Screenshot that shows how to view a client ID.

Grafiska runbooks

Kontrollera om ett Kör som-konto används i grafiska runbooks

  1. Kontrollera var och en av aktiviteterna i runbooken för att se om den använder Kör som-kontot när det anropar några inloggnings-cmdletar eller alias, till exempel Add-AzRmAccount/Connect-AzRmAccount/Add-AzAccount/Connect-AzAccount.

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

  2. Granska de parametrar som cmdleten använder.

    Screenshot that shows examining the parameters used by a cmdlet.

    För användning med Kör som-kontot använder cmdleten parametern inställd på ServicePrinicipalCertificateApplicationId. CertificateThumbprint kommer från RunAsAccountConnection.

    Screenshot that shows parameter sets.

Redigera en grafisk runbook för att använda en hanterad identitet

Du måste testa den hanterade identiteten för att verifiera att den grafiska runbooken fungerar som förväntat. Skapa en kopia av din produktions runbook för att använda den hanterade identiteten och uppdatera sedan din grafiska test-runbook-kod för att autentisera med hjälp av den hanterade identiteten. Du kan lägga till den här funktionen i en grafisk runbook genom att lägga till cmdleten Connect-AzAccount .

Följande steg innehåller ett exempel som visar hur en grafisk runbook som använder ett Kör som-konto kan använda hanterade identiteter:

  1. Logga in på Azure-portalen.

  2. Öppna Automation-kontot och välj sedan Process Automation>Runbooks.

  3. Välj en runbook. Välj till exempel runbooken Starta virtuella Azure V2-datorer i listan och välj sedan Redigera eller gå till Bläddra i galleriet och välj Starta virtuella Azure V2-datorer.

    Screenshot of editing a graphical runbook.

  4. Ersätt Den Kör som-anslutning som använder AzureRunAsConnection och anslutningstillgången som internt använder PowerShell-cmdleten Get-AutomationConnection med cmdleten Connect-AzAccount .

  5. Välj Ta bort för att ta bort aktiviteterna Get Run As Connection och Connect to Azure .

    Screenshot to connect to the Azure activities.

  6. I den vänstra panelen, under RUNBOOK CONTROL, väljer du Kod och sedan Lägg till på arbetsytan.

    Screenshot to select code and add it to the canvas.

  7. Redigera kodaktiviteten, tilldela ett lämpligt etikettnamn och välj Logik för redigeringsaktivitet.

    Screenshot to edit code activity.

  8. På sidan Kodredigerare anger du följande PowerShell-kod och väljer OK.

    try 
    { 
       Write-Output ("Logging in to Azure...") 
       Connect-AzAccount -Identity 
    } 
    catch { 
       Write-Error -Message $_.Exception 
       throw $_.Exception 
    } 
    
  9. Anslut den nya aktiviteten till de aktiviteter som var anslutna av Anslut till Azure tidigare och spara runbooken.

    Screenshot to connect new activity to activities.

I runbooken Starta virtuella Azure V2-datorer i runbookgalleriet måste du till exempel ersätta aktiviteterna Get Run As Connection och Connect to Azure med kodaktiviteten som använder Connect-AzAccount cmdlet enligt beskrivningen ovan. Mer information finns i exempel-runbooknamnet AzureAutomationTutorialWithIdentityGraphical som skapas med Automation-kontot.

Kommentar

AzureRM PowerShell-moduler dras tillbaka den 29 februari 2024. Om du använder AzureRM PowerShell-moduler i grafiska runbooks måste du uppgradera dem för att använda Az PowerShell-moduler. Läs mer.

Nästa steg