Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule omówiono rozwiązania problemów, które mogą wystąpić podczas korzystania z tożsamości zarządzanej z kontem usługi Automation. Aby uzyskać ogólne informacje na temat korzystania z tożsamości zarządzanej z kontami usługi Automation, zobacz Omówienie uwierzytelniania konta usługi Azure Automation.
Scenariusz: Runbook z przypisaną przez system tożsamością zarządzaną kończy się niepowodzeniem, wyświetlając komunikat o błędzie 400.
Problem
Runbook z przypisaną przez system tożsamością zarządzaną kończy się niepowodzeniem z powodu błędu unable to acquire for tenant organizations with error ManagedIdentityCredential authentication failed. Managed System Identity not found! Status 400 (Bad Request)
Przyczyna
Nie przypisałeś uprawnień po utworzeniu zarządzanej tożsamości przypisanej przez system.
Rozwiązanie
Upewnij się, że przypisano odpowiednie uprawnienia dla przez system przypisanej tożsamości zarządzanej. Używanie tożsamości zarządzanej przypisanej przez system w przypadku konta usługi Azure Automation
Scenariusz: tożsamość zarządzana w elemecie Runbook nie może uwierzytelniać się na platformie Azure
Problem
W przypadku korzystania z tożsamości zarządzanej w elemencie Runbook wyświetlany jest błąd: 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)
Przyczyna
Może się tak zdarzyć, gdy:
Przyczyna 1: Używasz tożsamości zarządzanej systemu usługi Automation, która nie została jeszcze utworzona, i
Code Connect-AzAccount -Identitypróbujesz uwierzytelnić się na platformie Azure i uruchomić element Runbook na platformie Azure lub w hybrydowym procesie roboczym elementu Runbook.Przyczyna 2: Konto usługi Automation ma przypisaną tożsamość zarządzaną przez użytkownika, a nie przez system —
Code Connect-AzAccount -Identitypróbuje uwierzytelnić się na platformie Azure i uruchomić runbook na hybrydowym komputerze wirtualnym Azure Hybrid Runbook Worker przy użyciu tożsamości zarządzanej przez system maszyny wirtualnej platformy Azure.
Rozwiązanie
Rozwiązanie 1: Należy utworzyć tożsamość zarządzaną systemu kont usługi Automation i udzielić jej dostępu do zasobów platformy Azure.
Rozwiązanie 2: Zgodnie z wymaganiami można wykonać następujące czynności:
- Utwórz tożsamość zarządzaną systemu konta usługi Automation i użyj jej do uwierzytelniania.
Lub - Usuń tożsamość zarządzaną przypisaną przez użytkownika konta usługi Automation.
- Utwórz tożsamość zarządzaną systemu konta usługi Automation i użyj jej do uwierzytelniania.
Scenariusz: Nie można odnaleźć tożsamości zarządzanej przypisanej przez użytkownika w celu dodania jej do konta usługi Automation
Problem
Chcesz dodać tożsamość zarządzaną przypisaną przez użytkownika do konta usługi Automation. Nie można jednak znaleźć konta w panelu Automatyzacja.
Przyczyna
Ten problem występuje, gdy nie masz następujących uprawnień do tożsamości zarządzanej przypisanej przez użytkownika, aby wyświetlić ją w panelu Automatyzacja.
Microsoft.ManagedIdentity/userAssignedIdentities/*/readMicrosoft.ManagedIdentity/userAssignedIdentities/*/assign/action
Uwaga
Powyższe uprawnienia są domyślnie przyznawane operatorowi tożsamości zarządzanej i współautorowi tożsamości zarządzanej.
Rozwiązanie
Upewnij się, że masz uprawnienia do roli Operator tożsamości, aby dodać tożsamość zarządzaną przypisaną przez użytkownika do swojego konta Automation.
Scenariusz: Runbook nie powiodło się z komunikatem błędu "this.Client.SubscriptionId nie może być null."
Problem
Twój runbook używający tożsamości zarządzanej za pomocą Connect-AzAccount -Identity, który próbuje zarządzać obiektami Azure, nie działa pomyślnie i rejestruje następujący błąd — 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
Przyczyna
Może się tak zdarzyć, gdy tożsamość zarządzana (lub inne konto używane w runbooku) nie otrzymała żadnych uprawnień dostępu do subskrypcji.
Rozwiązanie
Przyznaj tożsamości zarządzanej (lub innemu kontu używanemu w runbooku) odpowiednią rolę w subskrypcji. Dowiedz się więcej
Scenariusz: Nie można pobrać tokenu MSI dla konta
Zagadnienie
Podczas pracy z tożsamością zarządzaną przypisaną przez użytkownika na koncie usługi Automation jest wyświetlany błąd podobny do: Failed to get MSI token for account a123456b-1234-12a3-123a-aa123456aa0b.
Przyczyna
Korzystanie z zarządzanej tożsamości przypisanej przez użytkownika przed włączeniem zarządzanej tożsamości przypisanej przez system dla konta usługi Automation.
Rozwiązanie
Włącz tożsamość zarządzaną przypisaną przez system dla konta usługi Automation. Następnie użyj tożsamości zarządzanej przypisanej przez użytkownika.
Scenariusz: Próba użycia tożsamości zarządzanej z kontem usługi Automation kończy się niepowodzeniem
Problem
Podczas próby pracy z tożsamościami zarządzanymi na koncie usługi Automation wystąpi błąd podobny do następującego:
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
Przyczyna
Problem ten najczęściej wynika z tego, że nie włączono tożsamości przed próbą jej użycia. Aby to sprawdzić, uruchom następujący Runbook programu PowerShell na koncie Automation, którego dotyczy problem.
$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"
}
Jeśli problem polega na tym, że nie włączono tożsamości przed próbą jej użycia, powinien wyświetlić się wynik podobny do następującego:
Request Failed with Status: 400, Message: {"Message":"No managed identity was found for Automation account xxxxxxxxxxxx"}
Rozwiązanie
Aby móc korzystać z usługi tożsamości zarządzanej, musisz włączyć tożsamość dla konta usługi Automation. Zobacz Włączanie tożsamości zarządzanej dla konta usługi Azure Automation
Następne kroki
Jeśli ten artykuł nie rozwiąże problemu, wypróbuj jeden z następujących kanałów, aby uzyskać dodatkową pomoc techniczną:
- Uzyskaj odpowiedzi od ekspertów platformy Azure za pośrednictwem forów platformy Azure.
- Nawiąż połączenie z @AzureSupport. To jest oficjalne konto platformy Microsoft Azure służące do łączenia społeczności platformy Azure z odpowiednimi zasobami: odpowiedziami, pomocą techniczną i ekspertami.
- Zgłoś zgłoszenie pomocy technicznej Azure. Przejdź do witryny pomoc techniczna platformy Azure i wybierz pozycję Uzyskaj pomoc techniczną.