Authentifizierung bei den APIs der Datenebene von Azure Managed Grafana mit Microsoft Entra ID

In diesem Artikel wird gezeigt, wie Sie ein Microsoft Entra ID-Zugriffstoken für die Azure Managed Grafana Data-Plane-APIs abrufen, um Grafana-APIs programmgesteuert aufrufen zu können.

Verwenden Sie die Azure Managed Grafana-Audience 6f2d169c-08f3-4a4c-a982-bcaf2d038c45 für die Microsoft Entra ID-Authentifizierung bei den APIs der Datenebene von Azure Managed Grafana.

Wählen Sie eine Tokenakquisitionsmethode basierend auf Ihrem Szenario aus.

Voraussetzungen

Auswählen einer Tokenakquisitionsmethode

Option 1: Azure CLI (interaktive Tests)

Führen Sie diesen Befehl aus, um ein Zugriffstoken für die Azure Managed Grafana Zielgruppe abzurufen:

az account get-access-token --resource 6f2d169c-08f3-4a4c-a982-bcaf2d038c45 --query accessToken -o tsv

Wenn Sie den Überprüfungsbefehl in diesem Artikel ausführen möchten, speichern Sie das Token in einer Shellvariable:

TOKEN=$(az account get-access-token --resource 6f2d169c-08f3-4a4c-a982-bcaf2d038c45 --query accessToken -o tsv)

Option 2: Code (Anwendungs- und Automatisierungsszenarien)

Fordern Sie ein Token für diesen Bereich an, wenn Sie die verwaltete Identität oder die Dienstprinzipalauthentifizierung im Code verwenden.

Verwenden Sie DefaultAzureCredential wie in diesem Python-Beispiel gezeigt:

from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()
token = credential.get_token("6f2d169c-08f3-4a4c-a982-bcaf2d038c45")
print(token.token)

Überprüfen des API-Zugriffs

Nachdem Sie ein Token erhalten haben, führen Sie einen schnellen Aufruf aus, um die Authentifizierung und Berechtigungen zu überprüfen. Ersetzen Sie <grafana-endpoint-URL> durch Ihre Endpunkt-URL.

Wenn Sie die Codeoption verwendet haben, legen Sie vor dem Ausführen curleine Shellvariable aus Ihrem Tokenwert fest:

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

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

Erwartetes Ergebnis: eine HTTP-Antwort 200 mit einem gültigen JSON-Textkörper. Antwortheader können zwischen Anforderungen variieren.

Verwenden Sie dasselbe Authorization: Bearer Headermuster, um andere Azure Managed Grafana API-Endpunkte der Datenebene aufzurufen.

Fehlersuche

Wenn eine Anforderung mit 401 oder einem Autorisierungsfehler fehlschlägt:

  • Überprüfen Sie, ob die Zielgruppe des Tokens 6f2d169c-08f3-4a4c-a982-bcaf2d038c45 ist.
  • Überprüfen Sie, ob der Aufrufer über eine Grafana-Rollenzuweisung für die Azure Managed Grafana Ressource verfügt.
  • Wenn die Rollenzuweisungen kürzlich geändert wurden, warten Sie einige Minuten, und wiederholen Sie den Vorgang.

Weitere Hilfe finden Sie unter Problembehandlung für häufige Probleme mit Azure Managed Grafana.