데이터 소스 LBAC 규칙 API

데이터 소스 LBAC 규칙 API

LBAC(Label-Based Access Control, 레이블 기반 접근 제어) 규칙은 팀에 대해 설정할 수 있어요.

⚠️ Grafana 13부터 /api 엔드포인트가 /apis 라우트로 대체되어 더 이상 사용되지 않게(deprecated) 되고 있어요. Grafana가 기존 API를 마이그레이션하는 동안 현재 사용 중인 레거시 API와 정확히 일치하지 않을 수 있어요. 이 변경으로 현재 설정이 중단되거나 깨지지는 않아요. 레거시 API는 비활성화되지 않으며 완전히 접근·사용 가능하지만, /api 라우트는 더 이상 업데이트되지 않아요. 자세한 내용은 "Grafana의 새 API 구조" 문서를 참조해요.

출처: 문서

본문

데이터 소스의 LBAC 규칙 가져오기

GET /api/datasources/uid/:uid/lbac/teams

주어진 uid를 가진 데이터 소스의 모든 기존 LBAC 규칙을 가져와요.

필요한 권한:

Action Scope
datasources:read datasources:datasources:uid:datasources:uid:my_datasource (단일 데이터 소스)

예제

예제 요청:

GET /api/datasources/uid/my_datasource/lbac/teams HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVI...>

예제 응답:

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 131

{
  "rules": [
    {
      "teamUId": "fdnd1pf4m9sxvc",
      "rules": [
        "{ service_name=\"bigquery-sync-mysql\" }"
      ]
    },
    {
      "teamUid": "dfed1p2m9sxvfc",
      "rules": [
        "{ service_name=\"api\" }"
      ]
    }
  ]
}

데이터 소스의 LBAC 규칙 업데이트하기

PUT /api/datasources/uid/:uid/lbac/teams

주어진 uid를 가진 데이터 소스에 연결된 팀의 LBAC 규칙을 업데이트해요. 여기서 팀 목록과 각 팀의 규칙을 제출해요. 목록에서 팀을 삭제하면 해당 팀의 LBAC 규칙이 제거돼요. 업데이트할 모든 팀과 규칙을 제출해야 하며, 팀의 규칙을 제거하려면 해당 팀 없이 현재 규칙 목록을 제출해야 해요.

필요한 권한:

Action Scope
datasources:write datasources:datasources:uid:datasources:uid:my_datasource (단일 데이터 소스)
datasources.permissions:write datasources:datasources:uid:datasources:uid:my_datasource (단일 데이터 소스)

예제

예제 요청:

PUT /api/datasources/uid/my_datasource/lbac/teams
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVI...KEN>

{
  "rules": [
    {
      "teamUId": "fdnd1pf4m9sxvc",
      "rules": [
        "{ service_name=\"bigquery-sync-mysql\" }"
      ]
    },
    {
      "teamUid": "dfed1p2m9sxvfc",
      "rules": [
        "{ service_name=\"api\" }"
      ]
    }
  ]
}

예제 응답:

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35

{
  "id": 1,
  "message": "Data source LBAC rules updated",
  "name": "loki",
  "rules": [
    {
      "teamUId": "fdnd1pf4m9sxvc",
      "rules": [
        "{ service_name=\"bigquery-sync-mysql\" }"
      ]
    },
    {
      "teamUid": "dfed1p2m9sxvfc",
      "rules": [
        "{ service_name=\"api\" }"
      ]
    }
  ],
  "uid": "ee1nm1t7spog0e",
}

더 알아보기 (Learn more)

  • 데이터 소스 관리 API
  • 레이블 기반 접근 제어 (LBAC)
  • Grafana의 새 API 구조