Azure에서 "인증 실패" 메트릭 가져오기 문제

Azure에서 "인증 실패" 메트릭 가져오기 문제

Azure에서 메트릭을 가져오기 위해 PowerShell 스크립트를 만들고 있습니다. Insights-UserMetric.Read.All(응용 프로그램 유형)에 대한 API 권한이 있는 앱 등록이 있습니다. 또한 구독 수준에서 이 앱에 모니터링 리더 역할이 할당되었습니다. 스크립트를 실행할 때 오류가 발생합니다.

{   "error": {     "code": "AuthenticationFailed",     "message": "Authentication failed."   } }

충분한 권한이 없는지 확인하기 위해 기여자에게 역할을 높이려고 했지만 기여자 역할을 사용해도 동일한 오류가 발생합니다.

스크립트는 다음과 같습니다.

$ClientId = 'someClientId'
$ClientSecret = 'someClientSecret'
$Tenantid = 'someTenantId'

$TokenBody = @{
    Grant_Type = "client_credentials"
    Scope = "https://graph.microsoft.com/.default"
    Client_Id = $ClientId
    Client_Secret = $ClientSecret
}
$TokenResponse = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$Tenantid/oauth2/v2.0/token" -Method POST -Body $TokenBody

$Headers = @{
    "Authorization" = "Bearer $($tokenResponse.access_token)"
    "Content-type" = "application/json"
}

$Uri = 'https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.EventHub/namespaces/$eventHub/providers/Microsoft.Insights/metrics?api-version=2018-01-01'

Invoke-RestMethod -Headers $Headers -Uri $Uri -Method GET

어떤 종류의 안내도 감사합니다

답변1

문제가 해결되었습니다. 토큰 부분 수정됨:

$TokenBody = @{
    Grant_Type = "client_credentials"
    Scope = "https://management.azure.com/.default"
    Client_Id = $ClientId
    Client_Secret = $ClientSecret
    Tenant_Id = $TenantId
}

관련 정보