Autenticarsi alle API del piano dati di Grafana con gestione Azure con Microsoft Entra ID

Questo articolo illustra come ottenere un token di accesso Microsoft Entra ID per le API del piano dati Grafana con gestione Azure in modo da poter chiamare le API Grafana a livello di codice.

Usa l'audience https://dashboard.azure.com di Grafana con gestione Azure per l'autenticazione Microsoft Entra ID alle API del piano dati di Grafana con gestione Azure.

Scegliere un metodo di acquisizione di token in base al proprio scenario.

Prerequisiti

Scegliere un metodo di acquisizione di token

Opzione 1: interfaccia della riga di comando di Azure (test interattivi)

Eseguire questo comando per ottenere un token di accesso per il gruppo di destinatari Grafana con gestione Azure:

az account get-access-token --resource https://dashboard.azure.com --query accessToken -o tsv

Se si prevede di eseguire il comando di convalida in questo articolo, archiviare il token in una variabile della shell:

TOKEN=$(az account get-access-token --resource https://dashboard.azure.com --query accessToken -o tsv)

Opzione 2: Codice (scenari di applicazione e automazione)

Richiedi un token per questo ambito quando usi l'autenticazione con identità gestita o service principal nel codice: https://dashboard.azure.com/.default.

Usare DefaultAzureCredential come illustrato in questo esempio di Python:

from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()
token = credential.get_token("https://dashboard.azure.com/.default")
print(token.token)

Convalidare l'accesso all'API

Dopo aver ottenuto un token, eseguire una chiamata rapida per convalidare l'autenticazione e le autorizzazioni. Sostituire <grafana-endpoint-URL> con l'URL dell'endpoint.

Se hai usato l'opzione del codice, imposta una variabile della shell a partire dal valore del token prima di eseguire curl:

TOKEN="<access-token>"
GRAFANA_ENDPOINT="<grafana-endpoint-URL>"

curl -i -H "Authorization: Bearer $TOKEN" "$GRAFANA_ENDPOINT/api/org"

Risultato previsto: una risposta HTTP 200 con un corpo JSON valido. Gli header di risposta possono variare da una richiesta all'altra.

Usa lo stesso Authorization: Bearer schema di intestazione per chiamare altri endpoint dell'API del piano di dati di Grafana con gestione Azure.

Troubleshoot

Se una richiesta non riesce con 401 o con un errore di autorizzazione:

  • Verificare che il gruppo di destinatari del token sia https://dashboard.azure.com.
  • Verificare che il chiamante disponga di un'assegnazione di ruolo Grafana nella risorsa Grafana con gestione Azure.
  • Se le assegnazioni di ruolo sono cambiate di recente, attendere alcuni minuti e riprovare.

Per altre informazioni, vedere Risolvere i problemi di Grafana con gestione Azure comuni.