Uwierzytelnianie w interfejsach API płaszczyzny danych Azure Managed Grafana przy użyciu Microsoft Entra ID

W tym artykule pokazano, jak uzyskać token dostępu Microsoft Entra ID dla interfejsów API warstwy danych usługi Azure Managed Grafana, aby można było wywoływać interfejsy API Grafany programowo.

Użyj odbiorcy Azure Managed Grafana https://dashboard.azure.com do uwierzytelniania Microsoft Entra ID w interfejsach API płaszczyzny danych usługi Azure Managed Grafana.

Wybierz jedną metodę pozyskiwania tokenu na podstawie danego scenariusza.

Wymagania wstępne

Wybieranie metody pozyskiwania tokenu

Opcja 1: Azure CLI (testowanie interakcyjne)

Uruchom to polecenie, aby uzyskać token dostępu dla odbiorców Azure Managed Grafana:

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

Jeśli planujesz uruchomić polecenie weryfikacji opisane w tym artykule, zapisz token w zmiennej powłoki:

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

Opcja 2. Kod (scenariusze aplikacji i automatyzacji)

Zażądaj tokenu dla tego zakresu, gdy używasz tożsamości zarządzanej lub uwierzytelniania jednostki usługi w kodzie: https://dashboard.azure.com/.default.

Użyj polecenia DefaultAzureCredential , jak pokazano w tym przykładzie Python:

from azure.identity import DefaultAzureCredential

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

Weryfikowanie dostępu do interfejsu API

Po otrzymaniu tokenu uruchom szybkie wywołanie, aby zweryfikować uwierzytelnianie i uprawnienia. Zastąp <grafana-endpoint-URL> adresem URL swojego punktu końcowego.

Jeśli użyto opcji kodu, ustaw zmienną powłoki na podstawie wartości tokenu przed uruchomieniem curl:

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

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

Oczekiwany wynik: odpowiedź HTTP 200 z prawidłową treścią JSON. Nagłówki odpowiedzi mogą się różnić w zależności od żądań.

Użyj tego samego Authorization: Bearer wzorca nagłówka, aby wywołać inne punkty końcowe interfejsu API płaszczyzny danych Azure Managed Grafana.

Troubleshoot

Jeśli żądanie zakończy się niepowodzeniem z komunikatem 401 lub z powodu błędu autoryzacji:

  • Sprawdź, czy odbiorcą tokenu jest https://dashboard.azure.com.
  • Sprawdź, czy podmiot wywołujący ma przypisaną rolę Grafana w zasobie Azure Managed Grafana.
  • Jeśli przypisania ról uległy ostatnio zmianie, zaczekaj kilka minut i ponów próbę.

Aby uzyskać więcej pomocy, zobacz Rozwiązywanie typowych problemów z Azure Managed Grafana.