使用 Microsoft Entra ID 驗證 Azure 受控 Grafana 資料平面 API

本文說明如何為 Azure 受控 Grafana 資料平面 API 取得 Microsoft Entra ID 存取權杖,以便您能夠以程式設計方式呼叫 Grafana API。

使用 Azure 受控 Grafana 的對象 https://dashboard.azure.com ,以透過 Microsoft Entra ID 對 Azure 受控 Grafana 資料平面 API 進行驗證。

根據你的情況選擇一種代幣取得方式。

先決條件

選擇一種代幣取得方式

Option 1: Azure CLI (interactive testing)

執行此指令以取得 Azure 受控 Grafana 受眾的存取權杖:

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

如果你打算執行本文中的驗證指令,請將標記存入一個 shell 變數中:

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

選項二:程式碼(應用與自動化情境)

當您在程式碼:https://dashboard.azure.com/.default中使用受控識別或服務主體驗證時,請要求此範圍的權杖。

如這個 Python 範例所示,使用 DefaultAzureCredential:

from azure.identity import DefaultAzureCredential

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

驗證 API 存取

取得權杖後,進行一次快速呼叫,以確認驗證和權限是否有效。 使用您的端點 URL 取代 <grafana-endpoint-URL>。

如果你使用程式碼選項,請在執行 curl 之前,先使用你的權杖值設定 shell 變數:

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

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

預期結果:具有有效 JSON 主體的 HTTP 200 回應。 回應標頭在不同請求間可能有所不同。

用同一個Authorization: Bearer標頭模式呼叫其他 Azure 受控 Grafana data plane API endpoints。

故障排除

若請求失敗且出現 401 授權錯誤:

  • 檢查權杖對象是否為https://dashboard.azure.com。
  • 請確認呼叫者對 Azure 受控 Grafana 資源具有 Grafana 角色指派。
  • 如果最近角色分配有變動,請等幾分鐘再試一次。

如需更多協助,請參閱「常見Azure 受控 Grafana問題故障排除」。