다음을 통해 공유


Azure Automation 관리 ID 문제 해결

이 문서에서는 Automation 계정으로 관리 ID를 사용할 때 발생할 수 있는 문제에 대한 솔루션에 대해 설명합니다. Automation 계정에서 관리 ID를 사용하는 방법에 대한 일반적인 정보는 Azure Automation 계정 인증 개요를 참조하세요.

시나리오: 시스템이 할당한 관리 ID가 있는 Runbook이 400 오류 메시지와 함께 실패함

문제

시스템이 할당한 관리 ID가 있는 Runbook이 unable to acquire for tenant organizations with error ManagedIdentityCredential authentication failed. Managed System Identity not found! Status 400 (Bad Request) 오류로 인해 실패합니다.

원인

시스템 할당 관리 ID를 만든 후 사용 권한을 할당하지 않았습니다.

해결

시스템 할당 관리 ID에 적절한 권한을 할당해야 합니다. Azure Automation 계정에 시스템 할당 관리 ID 사용

시나리오: Runbook의 관리 ID는 Azure에 대해 인증할 수 없습니다.

문제

Runbook에서 관리 ID를 사용하는 경우 다음과 같은 오류가 발생합니다. 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)

원인

다음과 같은 경우에 이러한 문제가 발생할 수 있습니다.

  • 원인 1: 아직 생성되지 않은 Automation 계정 시스템 관리 ID를 사용하며 Code Connect-AzAccount -Identity는 Azure에 인증하고 Azure 또는 Hybrid Runbook Worker에서 Runbook을 실행하려고 합니다.

  • 원인 2: Automation 계정에는 시스템 관리 ID가 아닌 사용자 관리 ID가 할당되며 Code Connect-AzAccount -Identity는 Azure에 인증하고 Azure VM 시스템 관리 ID를 사용하여 Azure 가상 머신 Hybrid Runbook Worker에서 Runbook을 실행하려고 합니다.

해결

  • 해결 방법 1: Automation 계정 시스템 관리 ID를 만들고 Azure 리소스에 대한 액세스 권한을 부여해야 합니다.

  • 해결 방법 2: 요구 사항에 맞게 다음을 수행할 수 있습니다.

    • Automation 계정 시스템 관리 ID를 만들고 이를 사용하여 인증합니다.
      또는
    • Automation 계정 사용자가 할당한 관리 ID를 삭제합니다.

시나리오: Automation 계정에 추가할 사용자가 할당한 관리 ID를 찾을 수 없음

문제

Automation 계정에 사용자가 할당한 관리 ID를 추가하려고 합니다. 그러나 Automation 블레이드에서 계정을 찾을 수 없습니다.

원인

이 문제는 사용자가 할당한 관리 ID가 Automation 블레이드에서 볼 수 있는 다음 권한이 없는 경우에 발생합니다.

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

참고 항목

위의 권한은 기본적으로 관리 ID 운영자 및 관리 ID 기여자에 부여됩니다.

해결

Automation 계정에 사용자 할당 관리 ID를 추가할 수 있는 ID 운영자 역할 권한이 있는지 확인합니다.

시나리오: Runbook이 “this.Client.SubscriptionId는 null일 수 없습니다.”라는 오류 메시지와 함께 실패함

문제

관리 ID Connect-AzAccount -Identity를 사용하는 Runbook은 Azure 개체를 관리하려고 시도하지만, 작업에 실패하며 다음 오류가 기록됩니다. 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

원인

이 문제는 관리 ID(또는 Runbook에 사용된 다른 계정)에 구독에 액세스할 수 있는 권한이 부여되지 않은 경우에 발생할 수 있습니다.

해결

관리 ID(또는 Runbook에서 사용되는 다른 계정)에 구독에 적절한 역할 구성원 자격을 부여합니다. 자세한 정보

Azure 역할 할당을 보여 주는 스크린샷

역할 할당을 완료하는 방법을 보여주는 스크린샷

시나리오: 계정에 대한 MSI 토큰을 가져오지 못함

문제

Automation 계정에서 사용자 할당 관리 ID로 작업하는 경우 Failed to get MSI token for account a123456b-1234-12a3-123a-aa123456aa0b와 유사한 오류가 표시됩니다.

원인

Automation 계정에 대해 시스템 할당 관리 ID를 사용하도록 설정하기 전에 사용자 할당 관리 ID를 사용합니다.

해결

Automation 계정에 대해 시스템 할당 관리 ID를 사용하도록 설정합니다. 그런 다음 사용자가 할당한 관리 ID를 사용합니다.

시나리오: Automation 계정으로 관리되는 ID를 사용하지 못했습니다.

문제

Automation 계정에서 관리 ID를 사용하려고 할 때 다음과 같은 오류가 발생합니다.

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

원인

가장 일반적인 원인은 ID를 사용하기 전에 사용하도록 설정하지 않았기 때문입니다. 이를 확인하려면 영향을 받는 Automation 계정에서 다음 PowerShell runbook을 실행합니다.

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

ID를 사용하기 전에 사용 설정하지 않은 경우 다음과 유사한 결과가 표시됩니다.

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

해결

관리 ID 서비스를 사용하려면 먼저 Automation 계정에 대한 ID를 사용하도록 설정해야 합니다. Azure Automation 계정에 관리 ID 사용을 참조하세요.

다음 단계

이 문서에서 문제가 해결되지 않으면 다음 채널 중 하나를 시도하여 추가 지원을 받습니다.

  • Azure 포럼을 통해 Azure 전문가로부터 답변을 얻습니다.
  • @AzureSupport에 연결하세요. 이는 Azure 커뮤니티를 적절한 리소스(답변, 지원 및 전문가)에 연결하기 위한 공식 Microsoft Azure 계정입니다.
  • Azure 지원 인시던트 제출 Azure 지원 사이트로 이동하여 지원 받기를 선택합니다.