Microsoft Entra ID를 사용하여 Azure Managed Grafana 데이터 평면 API에 인증

이 문서에서는 Grafana API를 프로그래밍 방식으로 호출할 수 있도록 Azure Managed Grafana 데이터 평면 API에 대한 Microsoft Entra ID 액세스 토큰을 가져오는 방법을 보여 줍니다.

Azure Managed Grafana 데이터 평면 API에 대해 Microsoft Entra ID 인증을 수행할 때 Azure Managed Grafana audience 6f2d169c-08f3-4a4c-a982-bcaf2d038c45를 사용합니다.

시나리오에 따라 하나의 토큰 획득 방법을 선택합니다.

사전 요구 사항

토큰 획득 방법 선택

옵션 1: Azure CLI(대화형 테스트)

이 명령을 실행하여 Azure Managed Grafana 대상 그룹에 대한 액세스 토큰을 가져옵니다.

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

이 문서에서 유효성 검사 명령을 실행하려는 경우 토큰을 셸 변수에 저장합니다.

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

옵션 2: 코드(애플리케이션 및 자동화 시나리오)

코드에서 관리 ID 또는 서비스 주체 인증을 사용하는 경우 이 범위에 대한 토큰을 요청합니다.

다음 Python 예제와 같이 DefaultAzureCredential를 사용하세요:

from azure.identity import DefaultAzureCredential

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

API 액세스 유효성 검사

토큰을 받은 후 빠른 호출을 실행하여 인증 및 권한의 유효성을 검사합니다. <grafana-endpoint-URL>을 엔드포인트 URL로 바꿉니다.

코드 옵션을 사용했다면 curl를 실행하기 전에 토큰 값을 사용해 셸 변수를 설정하세요.

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

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

예상 결과: 유효한 JSON 본문이 있는 HTTP 200 응답입니다. 응답 헤더는 요청마다 다를 수 있습니다.

동일한 Authorization: Bearer 헤더 패턴을 사용하여 다른 Azure Managed Grafana 데이터 평면 API 엔드포인트를 호출합니다.

Troubleshoot

요청이 실패 401 하거나 권한 부여 오류가 발생한 경우:

  • 토큰 대상 그룹인지 확인합니다 6f2d169c-08f3-4a4c-a982-bcaf2d038c45.
  • 호출자에게 Azure Managed Grafana 리소스에 대한 Grafana 역할 할당이 있는지 확인합니다.
  • 역할 할당이 최근에 변경된 경우 몇 분 정도 기다렸다가 다시 시도합니다.

자세한 도움말은 일반적인 Azure Managed Grafana 문제 해결을 참조하세요.