Megosztás a következőn keresztül:


Az Azure Automation felügyelt identitásaival kapcsolatos problémák elhárítása

Ez a cikk az Automation-fiókkal felügyelt identitás használatakor felmerülő problémák megoldásait ismerteti. A felügyelt identitás Automation-fiókokkal való használatával kapcsolatos általános információkért tekintse meg az Azure Automation-fiókhitelesítés áttekintését.

Forgatókönyv: A rendszer által hozzárendelt felügyelt identitással rendelkező runbook 400-os hibaüzenettel meghiúsul

Probléma

A rendszer által hozzárendelt felügyelt identitással rendelkező runbook a következő hibával meghiúsul: unable to acquire for tenant organizations with error ManagedIdentityCredential authentication failed. Managed System Identity not found! Status 400 (Bad Request)

Ok

A rendszer által hozzárendelt felügyelt identitás létrehozása után nem rendelt hozzá engedélyeket.

Resolution (Osztás)

Győződjön meg arról, hogy a rendszer által hozzárendelt felügyelt identitáshoz megfelelő engedélyeket rendel hozzá. Rendszer által hozzárendelt felügyelt identitás használata Azure Automation-fiókhoz

Forgatókönyv: A Runbook felügyelt identitása nem hitelesíthető az Azure-on

Probléma

Ha felügyelt identitást használ a runbookban, a következő hibaüzenet jelenik meg: 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)

Ok

Ez akkor fordulhat elő, ha:

  • 1. ok: Az Automation-fiók felügyelt identitását használja, amely még nem lett létrehozva, és megpróbál hitelesíteni az Code Connect-AzAccount -Identity Azure-ban, és futtatni egy runbookot az Azure-ban vagy egy hibrid runbook-feldolgozón.

  • 2. ok: Az Automation-fiókhoz felhasználó által felügyelt identitás van hozzárendelve, és nem rendszer által felügyelt identitás, és a – Code Connect-AzAccount -Identity megpróbál hitelesíteni az Azure-ban, és futtatni egy runbookot egy hibrid Azure-beli virtuális gép hibrid runbook-feldolgozóján az Azure-beli virtuális gép rendszer által felügyelt identitásával.

Resolution (Osztás)

  • 1. megoldás: Létre kell hoznia az Automation-fiókrendszer felügyelt identitását, és hozzáférést kell adnia az Azure-erőforrásokhoz.

  • 2. megoldás: A követelményeknek megfelelően:

    • Hozza létre az Automation-fiókrendszer felügyelt identitását, és használja a hitelesítéshez.
      Vagy
    • Törölje az Automation-fiók felhasználó által hozzárendelt felügyelt identitását.

Forgatókönyv: Nem található a felhasználó által hozzárendelt felügyelt identitás az Automation-fiókhoz való hozzáadásához

Probléma

Felhasználó által hozzárendelt felügyelt identitást szeretne hozzáadni az Automation-fiókhoz. A fiókot azonban nem találja az Automation-panelen.

Ok

Ez a probléma akkor fordul elő, ha nem rendelkezik a következő engedélyekkel a felhasználó által hozzárendelt felügyelt identitáshoz annak az Automation-panelen való megtekintéséhez.

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

Feljegyzés

A fenti engedélyek alapértelmezés szerint a Felügyelt identitáskezelő és a Felügyelt identitás közreműködője számára vannak megadva.

Resolution (Osztás)

Győződjön meg arról, hogy rendelkezik identitáskezelői szerepkör-engedéllyel a felhasználó által hozzárendelt felügyelt identitás automation-fiókhoz való hozzáadásához.

Forgatókönyv: A runbook "ezzel" meghiúsul. A Client.SubscriptionId nem lehet null értékű." hibaüzenet

Probléma

A felügyelt identitást használó runbook Csatlakozás-AzAccount -Identity, amely megpróbálja kezelni az Azure-objektumokat, nem működik sikeresen, és a következő hibát naplózza -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

Ok

Ez akkor fordulhat elő, ha a felügyelt identitás (vagy a runbookban használt egyéb fiók) nem kapott engedélyt az előfizetés elérésére.

Resolution (Osztás)

Rendeljen a felügyelt identitáshoz (vagy egy másik, a runbookban használt fiókhoz) megfelelő szerepkörtagságot az előfizetésben. További információ

 Képernyőkép az Azure-szerepkör-hozzárendelések hozzárendeléséről.

Képernyőkép a szerepkör-hozzárendelés hozzáadásáról.

Forgatókönyv: Nem sikerült lekérni az MSI-jogkivonatot a fiókhoz

Probléma

Ha felhasználó által hozzárendelt felügyelt identitással dolgozik az Automation-fiókjában, a következőhöz hasonló hibaüzenet jelenik meg: Failed to get MSI token for account a123456b-1234-12a3-123a-aa123456aa0b.

Ok

Felhasználó által hozzárendelt felügyelt identitás használata a rendszer által hozzárendelt felügyelt identitás engedélyezése előtt az Automation-fiókhoz.

Resolution (Osztás)

Engedélyezze a rendszer által hozzárendelt felügyelt identitást az Automation-fiókhoz. Ezután használja a felhasználó által hozzárendelt felügyelt identitást.

Forgatókönyv: A felügyelt identitás automation-fiókkal való használatának kísérlete meghiúsul

Probléma

Amikor felügyelt identitásokkal próbál dolgozni az Automation-fiókjában, a következőhöz hasonló hibaüzenet jelenik meg:

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

Ok

Ennek leggyakoribb oka, hogy a használat előtt nem engedélyezte az identitást. Ennek ellenőrzéséhez futtassa a következő PowerShell-runbookot az érintett Automation-fiókban.

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

Ha a probléma az, hogy a használat előtt nem engedélyezte az identitást, a következőhöz hasonló eredményt kell látnia:

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

Resolution (Osztás)

Engedélyeznie kell egy identitást az Automation-fiókjához, mielőtt használhatja a felügyeltidentitás-szolgáltatást. Lásd: Felügyelt identitás engedélyezése az Azure Automation-fiókhoz

Következő lépések

Ha ez a cikk nem oldja meg a problémát, próbálkozzon az alábbi csatornák egyikével további támogatásért:

  • Azure-szakértők válaszolnak az Azure Fórumain keresztül.
  • Csatlakozás @AzureSupport. Ez a hivatalos Microsoft Azure-fiók az Azure-közösség megfelelő erőforrásokhoz való csatlakoztatásához: válaszok, támogatás és szakértők.
  • Azure-támogatás incidens bejelentése. Lépjen a Azure-támogatás webhelyre, és válassza a Támogatás kérése lehetőséget.