Sdílet prostřednictvím


Řešení potíží se spravovanými identitami ve službě Azure Automation

Tento článek popisuje řešení problémů, se kterými se můžete setkat při použití spravované identity s účtem Automation. Obecné informace o používání spravované identity s účty Automation najdete v přehledu ověřování účtů Azure Automation.

Scénář: Runbook se spravovanou identitou přiřazenou systémem selže s chybovou zprávou 400

Problém

Runbook se spravovanou identitou přiřazenou systémem selže s chybou jako unable to acquire for tenant organizations with error ManagedIdentityCredential authentication failed. Managed System Identity not found! Status 400 (Bad Request)

Příčina

Po vytvoření spravované identity přiřazené systémem nemáte přiřazená oprávnění.

Rozlišení

Ujistěte se, že přiřadíte příslušná oprávnění pro spravovanou identitu přiřazenou systémem. Používání spravované identity přiřazené systémem pro účet Azure Automation

Scénář: Spravovaná identita v runbooku se nemůže ověřit v Azure

Problém

Při použití spravované identity v runbooku se zobrazí chyba jako: 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)

Příčina

K tomu může dojít v těchto případech:

  • Příčina 1: Použijete spravovanou identitu účtu Automation, která ještě nebyla vytvořena, a Code Connect-AzAccount -Identity pokusí se ověřit v Azure a spustit runbook v Azure nebo v procesu Hybrid Runbook Worker.

  • Příčina 2: Účet Automation má přiřazenou identitu spravovanou uživatelem, ne spravovanou identitu systému a pokouší Code Connect-AzAccount -Identity se ověřit v Azure a spustit runbook na virtuálním počítači Azure Hybrid Runbook Worker pomocí spravované identity systému virtuálního počítače Azure.

Rozlišení

  • Řešení 1: Musíte vytvořit spravovanou identitu systému účtů Automation a udělit jí přístup k prostředkům Azure.

  • Řešení 2: V závislosti na vašich požadavcích můžete:

    • Vytvořte spravovanou identitu systému účtů Automation a použijte ji k ověření.
      Nebo
    • Odstraňte spravovanou identitu přiřazenou uživatelem účtu Automation.

Scénář: Nejde najít spravovanou identitu přiřazenou uživatelem a přidat ji do účtu Automation

Problém

Chcete přidat spravovanou identitu přiřazenou uživatelem do účtu Automation. Účet ale nemůžete najít v okně Automation.

Příčina

K tomuto problému dochází v případě, že nemáte následující oprávnění pro spravovanou identitu přiřazenou uživatelem, abyste ji mohli zobrazit v okně Automation.

  • Microsoft.ManagedIdentity/userAssignedIdentities/*/read
  • Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action

Poznámka:

Výše uvedená oprávnění jsou ve výchozím nastavení udělena operátorovi spravované identity a přispěvateli spravované identity.

Rozlišení

Ujistěte se, že máte oprávnění k roli operátora identity pro přidání spravované identity přiřazené uživatelem do účtu Automation.

Scénář: Runbook selže s touto chybou. Client.SubscriptionId nemůže mít hodnotu null." chybová zpráva

Problém

Runbook s využitím spravované identity Connect-AzAccount –Identity, která se pokouší spravovat objekty Azure, nefunguje úspěšně a zaznamená následující chybu: 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

Příčina

K tomu může dojít v případě, že spravovaná identita (nebo jiný účet použitý v runbooku) nemá udělená žádná oprávnění pro přístup k předplatnému.

Řešení

Udělte spravované identitě (nebo jinému účtu používanému v runbooku) odpovídající členství v rolích v předplatném. Další informace

 Snímek obrazovky znázorňující přiřazení rolí Azure

Snímek obrazovky, který ukazuje, jak přidat přiřazení role

Scénář: Nepodařilo se získat token MSI pro účet

Problém

Při práci se spravovanou identitou přiřazenou uživatelem v účtu Automation se zobrazí chyba podobná této: Failed to get MSI token for account a123456b-1234-12a3-123a-aa123456aa0b

Příčina

Použití spravované identity přiřazené uživatelem před povolením spravované identity přiřazené systémem pro váš účet Automation.

Rozlišení

Povolte spravovanou identitu přiřazenou systémem pro váš účet Automation. Pak použijte spravovanou identitu přiřazenou uživatelem.

Scénář: Pokus o použití spravované identity s účtem Automation selže

Problém

Při pokusu o práci se spravovanými identitami ve vašem účtu Automation se zobrazí chyba podobná této:

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

Příčina

Nejběžnější příčinou je to, že jste identitu nepovolili, než se ji pokusili použít. Pokud to chcete ověřit, spusťte následující runbook PowerShellu v dotčeném účtu Automation.

$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"
}

Pokud jste před pokusem o jeho použití nepovolili identitu, měli byste vidět výsledek podobný tomuto:

Request Failed with Status: 400, Message: {"Message":"No managed identity was found for Automation account xxxxxxxxxxxx"}

Řešení

Před použitím spravované služby identit musíte pro svůj účet Automation povolit identitu. Viz Povolení spravované identity pro váš účet Azure Automation.

Další kroky

Pokud tento článek váš problém nevyřeší, zkuste další podporu jedním z následujících kanálů:

  • Získejte odpovědi od odborníků na Azure prostřednictvím fór Azure.
  • Připojte se pomocí @AzureSupport. Toto je oficiální účet Microsoft Azure pro připojení komunity Azure ke správným prostředkům: odpovědi, podpora a odborníci.
  • Vytvořte podpora Azure incident. Přejděte na web podpora Azure a vyberte Získat podporu.