Azure получает метрики, проблема «Ошибка аутентификации»

Azure получает метрики, проблема «Ошибка аутентификации»

Я создаю скрипт PowerShell для получения метрик из Azure. У меня есть регистрация приложения с разрешением API для Insights-UserMetric.Read.All (тип приложения). Также этому приложению назначена роль Monitoring Reader на уровне подписки. При запуске скрипта я получаю ошибку:

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

Я попытался повысить роль до Contributor, просто чтобы проверить, достаточно ли у меня разрешений, но даже с ролью Contributor я получаю ту же ошибку.

Вот сценарий:

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

Связанный контент