API правил LBAC источников данных
Note
Starting in Grafana 13,
/apiendpoints are being deprecated in favor of the/apisroute. Note that while Grafana is working on migrating existing APIs, currently there may not be an exact match to the legacy API you’re using.This change doesn’t disrupt or break your current setup. Legacy APIs are not being disabled and remain fully accessible and operative, but
/apiroutes will no longer be updated.To learn more refer to the new API structure in Grafana.
Правила LBAC (Label-Based Access Control — управление доступом на основе меток) можно задавать для команд.
Получение правил LBAC для источника данных
GET /api/datasources/uid/:uid/lbac/teams
Возвращает все существующие правила LBAC для источника данных с заданным uid.
Требуемые права
Примеры
Пример запроса:
GET /api/datasources/uid/my_datasource/lbac/teams HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>
Пример ответа:
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
Обновляет правила LBAC для команд, связанных с источником данных с заданным uid. Здесь вы отправляете список команд и правила для каждой команды.
Удаление команды из списка удалит правила LBAC этой команды. Для обновления необходимо отправить все команды и их правила; чтобы удалить правила команды, нужно отправить текущий список правил без этой команды.
Требуемые права
Примеры
Пример запроса:
PUT /api/datasources/uid/my_datasource/lbac/teams
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>
{
"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",
}