Felsök Azure Automation-problem med hanterad identitet
I den här artikeln beskrivs lösningar på problem som kan uppstå när du använder en hanterad identitet med ditt Automation-konto. Allmän information om hur du använder hanterad identitet med Automation-konton finns i Översikt över Azure Automation-kontoautentisering.
Scenario: Runbook med systemtilldelad hanterad identitet misslyckas med felmeddelandet 400
Problem
Runbook med systemtilldelad hanterad identitet misslyckas med felet som unable to acquire for tenant organizations with error ManagedIdentityCredential authentication failed. Managed System Identity not found! Status 400 (Bad Request)
Orsak
Du har inte tilldelat behörigheter när du har skapat den systemtilldelade hanterade identiteten.
Åtgärd
Se till att tilldela lämpliga behörigheter för systemtilldelad hanterad identitet. Använda en systemtilldelad hanterad identitet för ett Azure Automation-konto
Scenario: Hanterad identitet i en Runbook kan inte autentisera mot Azure
Problem
När du använder en hanterad identitet i din runbook får du ett felmeddelande som: connect-azaccount : ManagedIdentityCredential authentication failed: Failed to get MSI token for account d94c0db6-5540-438c-9eb3-aa20e02e1226 and resource https://management.core.windows.net/. Status: 500 (Internal Server Error)
Orsak
Detta kan inträffa antingen när:
Orsak 1: Du använder Automation-kontot Systemhanterad identitet, som ännu inte har skapats och försöker autentisera
Code Connect-AzAccount -Identity
till Azure och köra en runbook i Azure eller på en Hybrid Runbook Worker.Orsak 2: Automation-kontot har en tilldelad användarhanterad identitet och inte en systemhanterad identitet och –
Code Connect-AzAccount -Identity
försöker autentisera till Azure och köra en runbook på en virtuell Azure-dator Hybrid Runbook Worker med hjälp av Azure VM System Managed Identity.
Åtgärd
Lösning 1: Du måste skapa automationskontots systemhanterade identitet och ge den åtkomst till Azure-resurserna.
Lösning 2: Efter behov kan du:
- Skapa automationskontots systemhanterade identitet och använd den för att autentisera.
Eller - Ta bort den tilldelade hanterade identiteten för Automation-kontot.
- Skapa automationskontots systemhanterade identitet och använd den för att autentisera.
Scenario: Det går inte att hitta den användartilldelade hanterade identiteten för att lägga till den i Automation-kontot
Problem
Du vill lägga till en användartilldelad hanterad identitet till Automation-kontot. Du kan dock inte hitta kontot på Automation-bladet.
Orsak
Det här problemet uppstår när du inte har följande behörigheter för den användartilldelade hanterade identiteten att visa den på Automation-bladet.
Microsoft.ManagedIdentity/userAssignedIdentities/*/read
Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action
Kommentar
Ovanstående behörigheter beviljas som standard till Hanterad identitetsoperatör och Hanterad identitetsdeltagare.
Åtgärd
Se till att du har behörighet som identitetsoperator för att lägga till den användartilldelade hanterade identiteten i ditt Automation-konto.
Scenario: Runbook misslyckas med "this. Client.SubscriptionId får inte vara null." felmeddelande
Problem
Din runbook med hjälp av en hanterad identitet Connect-AzAccount -Identity som försöker hantera Azure-objekt, misslyckas med att fungera och loggar följande fel – this.Client.SubscriptionId cannot be null.
get-azvm : 'this.Client.SubscriptionId' cannot be null. At line:5 char:1 + get-azvm + ~~~~~~~~ + CategoryInfo : CloseError: (:) [Get-AzVM], ValidationException + FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.GetAzureVMCommand
Orsak
Detta kan inträffa när den hanterade identiteten (eller något annat konto som används i runbooken) inte har beviljats några behörigheter för att komma åt prenumerationen.
Åtgärd
Ge den hanterade identiteten (eller annat konto som används i runbooken) ett lämpligt rollmedlemskap i prenumerationen. Läs mer
Scenario: Det gick inte att hämta MSI-token för kontot
Problem
När du arbetar med en användartilldelad hanterad identitet i ditt Automation-konto får du ett fel som liknar: Failed to get MSI token for account a123456b-1234-12a3-123a-aa123456aa0b
.
Orsak
Använda en användartilldelad hanterad identitet innan du aktiverar en systemtilldelad hanterad identitet för ditt Automation-konto.
Åtgärd
Aktivera en systemtilldelad hanterad identitet för ditt Automation-konto. Använd sedan den användartilldelade hanterade identiteten.
Scenario: Försök att använda hanterad identitet med Automation-konto misslyckas
Problem
När du försöker arbeta med hanterade identiteter i ditt Automation-konto får du ett felmeddelande som liknar detta:
Connect-AzureRMAccount : An error occurred while sending the request. At line:2 char:1 + Connect-AzureRMAccount -Identity +
CategoryInfo : CloseError: (:) [Connect-AzureRmAccount], HttpRequestException + FullyQualifiedErrorId : Microsoft.Azure.Commands.Profile.ConnectAzureRmAccountCommand
Orsak
Den vanligaste orsaken till detta är att du inte aktiverade identiteten innan du försökte använda den. Kontrollera detta genom att köra följande PowerShell-runbook i det berörda Automation-kontot.
$resource= "?resource=https://management.azure.com/"
$url = $env:IDENTITY_ENDPOINT + $resource
$Headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$Headers.Add("X-IDENTITY-HEADER", $env:IDENTITY_HEADER)
$Headers.Add("Metadata", "True")
try
{
$Response = Invoke-RestMethod -Uri $url -Method 'GET' -Headers $Headers
}
catch
{
$StatusCode = $_.Exception.Response.StatusCode.value__
$stream = $_.Exception.Response.GetResponseStream()
$reader = New-Object System.IO.StreamReader($stream)
$responseBody = $reader.ReadToEnd()
Write-Output "Request Failed with Status: $StatusCode, Message: $responseBody"
}
Om problemet är att du inte aktiverade identiteten innan du försökte använda den bör du se ett resultat som liknar detta:
Request Failed with Status: 400, Message: {"Message":"No managed identity was found for Automation account xxxxxxxxxxxx"}
Åtgärd
Du måste aktivera en identitet för ditt Automation-konto innan du kan använda den hanterade identitetstjänsten. Se Aktivera en hanterad identitet för ditt Azure Automation-konto
Nästa steg
Om den här artikeln inte löser problemet kan du prova någon av följande kanaler för ytterligare support:
- Få svar från Azure-experter via Azure-forum.
- Anslut med @AzureSupport. Det här är det officiella Microsoft Azure-kontot för att ansluta Azure-communityn till rätt resurser: svar, support och experter.
- Skapa en Azure Support incident. Gå till webbplatsen Azure Support och välj Hämta support.