Azure obtiene el problema de "Error de autenticación" de métricas

Azure obtiene el problema de "Error de autenticación" de métricas

Estoy creando un script de PowerShell para obtener métricas de Azure. Tengo un registro de aplicación con permiso API para Insights-UserMetric.Read.All (tipo de aplicación). También el rol de Lector de monitoreo asignado a esta aplicación en el nivel de suscripción. Al ejecutar un script aparece el error:

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

Intenté aumentar el rol a Colaborador solo para verificar si no tengo permisos suficientes, pero incluso con el rol de Colaborador recibo el mismo error.

Aquí está el guión:

$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

Agradezco cualquier tipo de orientación.

Respuesta1

Problema resuelto. Parte del token arreglada:

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

información relacionada