Migrera från ett befintligt Kör som-konto till en hanterad identitet
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:
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.
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.
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.
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.
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:
Ä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 cmdletAdd-AzureRMAccount
medConnect-AzureRMAccount –Identity
.
Om du vill förstå ändringarna i runbook-koden som krävs innan du kan använda hanterade identiteter, använd exempelskripten.
- Om du använder
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
I ditt Automation-konto går du till Kontoinställningar och väljer Identitet.
På fliken Användartilldelad väljer du användartilldelad identitet.
Gå till Översikt>Essentials för att visa klient-ID:t.
Grafiska runbooks
Kontrollera om ett Kör som-konto används i grafiska runbooks
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
.Granska de parametrar som cmdleten använder.
För användning med Kör som-kontot använder cmdleten parametern inställd på
ServicePrinicipalCertificate
ApplicationId
.CertificateThumbprint
kommer frånRunAsAccountConnection
.
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:
Logga in på Azure-portalen.
Öppna Automation-kontot och välj sedan Process Automation>Runbooks.
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.
Ersätt Den Kör som-anslutning som använder
AzureRunAsConnection
och anslutningstillgången som internt använder PowerShell-cmdletenGet-AutomationConnection
med cmdletenConnect-AzAccount
.Välj Ta bort för att ta bort aktiviteterna
Get Run As Connection
ochConnect to Azure
.I den vänstra panelen, under RUNBOOK CONTROL, väljer du Kod och sedan Lägg till på arbetsytan.
Redigera kodaktiviteten, tilldela ett lämpligt etikettnamn och välj Logik för redigeringsaktivitet.
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 }
Anslut den nya aktiviteten till de aktiviteter som anslöts av Connect till Azure tidigare och spara runbooken.
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
Granska vanliga frågor och svar om migrering till hanterade identiteter
Om dina runbooks inte slutförs kan du läsa Felsöka problem med hanterade identiteter i Azure Automation.
Mer information om systemtilldelade hanterade identiteter finns i Använda en systemtilldelad hanterad identitet för ett Azure Automation-konto.
Mer information om användartilldelade hanterade identiteter finns i Använda en användartilldelad hanterad identitet för ett Azure Automation-konto.
Information om säkerhet för Azure Automation-konton finns i Översikt över autentisering av Azure Automation-konto.