이 문서에서는 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를 사용합니다.
시나리오에 따라 하나의 토큰 획득 방법을 선택합니다.
사전 요구 사항
- 활성 구독이 있는 Azure 계정.
- Azure Managed Grafana 작업 영역입니다. 작업 영역이 없으면 Azure Managed Grafana 작업 영역을 만듭니다.
- Grafana Viewer, Grafana Editor 또는 Grafana Admin과 같은 Azure Managed Grafana 역할 할당이 있는 사용자, 서비스 주체 또는 관리 ID입니다. 역할을 할당하려면 사용자 및 ID에 대한 액세스 및 권한 관리를 참조하세요.
토큰 획득 방법 선택
옵션 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 문제 해결을 참조하세요.