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 – OK
  • 400 – 잘못된 요청 (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 – OK
  • 401 – 인증되지 않음 (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 – 처리 불가능한 엔티티, 잘못된 인스턴스 이름이 제공됨.

더 알아보기 (Learn more)