Enterprise 라이선스 API
Enterprise 라이선스 API
이 문서는 Grafana Enterprise에서 라이선스를 확인, 추가, 갱신, 삭제하는 API를 설명해요. 라이선싱은 Grafana Enterprise에서만 사용할 수 있습니다. Grafana Enterprise에 대해 더 알아보세요.
출처: 문서
본문
참고: Grafana 13부터
/api엔드포인트는/apis경로를 위해 더 이상 사용되지 않습니다(deprecated). Grafana가 기존 API를 마이그레이션하는 동안 현재 여러분이 사용하는 레거시 API와 정확히 일치하는 항목이 없을 수도 있어요. 이 변경은 현재 설정을 방해하거나 깨지 않습니다. 레거시 API는 비활성화되지 않으며 완전히 접근 가능하고 정상 작동하지만,/api경로는 더 이상 업데이트되지 않습니다. 자세한 내용은 Grafana의 새 API 구조를 참고하세요.
주의: 서비스 계정 토큰으로는 Licensing HTTP API에 인증할 수 없어요. 서비스 계정은 조직과 조직 역할로 제한됩니다. 서비스 계정에는 Grafana 서버 관리자 권한을 부여할 수 없습니다. 이 API 엔드포인트를 사용하려면 Basic 인증을 사용해야 하며, Grafana 사용자에게 Grafana 서버 관리자 권한이 있어야 해요. Grafana가 기본적으로 프로비저닝하는 admin 사용자는 이 API 엔드포인트를 사용할 권한이 있습니다.
Grafana Enterprise를 실행 중이라면 일부 엔드포인트에 특정 권한이 필요합니다. 자세한 내용은 역할 기반 접근 제어 권한을 참고하세요.
라이선스 사용 가능 여부 확인하기
참고: Grafana Enterprise v7.4+에서 사용 가능.
GET /api/licensing/check
유효한 라이선스가 있는지 확인합니다.
필요 권한 (소개 부분의 참고를 참고하세요):
| 액션 | 범위 |
|---|---|
| licensing:read | n/a |
예시 요청:
GET /api/licensing/check
Accept: application/json
Authorization: Bearer <SERVI...KEN>
예시 응답:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 4
true
상태 코드:
200– OK
라이선스 추가하기
참고: Grafana Enterprise v7.4+에서 사용 가능.
POST /api/licensing/token
Grafana 인스턴스에 라이선스를 적용합니다.
필요 권한:
| 액션 | 범위 |
|---|---|
| licensing:write | n/a |
예시 요청:
POST /licensing/token
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVI...KEN>
{"token":"eyJhbG...RuLE"}
예시 응답:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 357
{
"status":0,
"jti":"",
"iss":"",
"sub":"",
"iat":0,
"exp":0,
"nbf":0,
"lexp":0,
"lid":"",
"limit_by":"",
"included_users":0,
"lic_exp_warn_days":0,
"tok_exp_warn_days":0,
"update_days":0,
"prod":null,
"company":"",
"account":"",
"slug":"",
"usage_billing":false,
"max_concurrent_user_sessions":0,
"details_url":"",
"trial":false,
"trial_exp":0,
"anonymousRatio":0
}
응답은 특정 값이 의도적으로 표시되지 않는 JSON blob이에요. 사용 가능한 필드는 사전 통지 없이 언제든 바뀔 수 있습니다. API로 라이선스 상태를 확인하는 방법은 라이선스 사용 가능 여부 확인하기를 참고하세요.
상태 코드:
200– OK400– 잘못된 요청 (Bad request)500– 내부 서버 오류 (자세한 내용은 서버 로그 참고)
수동으로 라이선스 갱신 강제하기
참고: Grafana Enterprise v7.4+에서 사용 가능.
POST /api/licensing/token/renew
라이선스 발급자에게 새 토큰을 수동으로 요청합니다.
필요 권한:
| 액션 | 범위 |
|---|---|
| licensing:write | n/a |
예시 요청:
POST /api/licensing/token/renew
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVI...KEN>
{}
예시 응답:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 357
{
"jti":"2",
"iss":"https://grafana.com",
"sub":"https://play.grafana.org/"
"lid":"1",
"included_users":15,
"lic_exp_warn_days":30,
"tok_exp_warn_days":2,
"update_days":1,
"prod":["grafana-enterprise"],
"company":"Grafana Labs"
}
응답은 디버깅 목적으로 제공되는 JSON blob입니다. 사용 가능한 필드는 사전 통지 없이 언제든 바뀔 수 있어요.
상태 코드:
200– OK401– 인증되지 않음 (Unauthorized)403– 접근 거부 (Access denied)
데이터베이스에서 라이선스 제거하기
참고: Grafana Enterprise v7.4+에서 사용 가능.
DELETE /api/licensing/token
Grafana 데이터베이스에 저장된 라이선스를 제거합니다.
필요 권한:
| 액션 | 범위 |
|---|---|
| licensing:delete | n/a |
예시 요청:
DELETE /api/licensing/token
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVI...KEN>
{"instance": "http://play.grafana.org/"}
JSON 본문 스키마:
instance– 라이선스를 삭제할 인스턴스의 루트 URL. 필수.
예시 응답:
HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 2
{}
상태 코드:
202– 수락됨, 라이선스 제거됨 또는 존재하지 않았음.401– 인증되지 않음403– 접근 거부422– 처리 불가능한 엔티티, 잘못된 인스턴스 이름이 제공됨.