API прав на папки
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.
Этот API можно использовать для обновления и получения прав на папку.
Права с folderId=-1 — это права по умолчанию для пользователей с ролями «Наблюдатель» и «Редактор». Права можно задавать для пользователя, команды или роли (Viewer или Editor). Права нельзя задать для администраторов — у них всегда есть доступ ко всему.
Уровни прав для поля permission:
- 1 = View
- 2 = Edit
- 4 = Admin
Если вы используете Grafana Enterprise, для некоторых конечных точек потребуются определённые права. Дополнительные сведения см. в разделе Права управления доступом на основе ролей.
Получение прав на папку
GET /api/folders/:uid/permissions
Возвращает все существующие права для папки с заданным uid.
Требуемые права
Пояснения см. в примечании во введении.
Пример запроса:
GET /api/folders/nErXDvCkzz/permissions 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: 551
[
{
"id": 1,
"folderId": -1,
"created": "2017-06-20T02:00:00+02:00",
"updated": "2017-06-20T02:00:00+02:00",
"userId": 0,
"userLogin": "",
"userEmail": "",
"teamId": 0,
"team": "",
"role": "Viewer",
"permission": 1,
"permissionName": "View",
"uid": "nErXDvCkzz",
"title": "",
"slug": "",
"isFolder": false,
"url": ""
},
{
"id": 2,
"dashboardId": -1,
"created": "2017-06-20T02:00:00+02:00",
"updated": "2017-06-20T02:00:00+02:00",
"userId": 0,
"userLogin": "",
"userEmail": "",
"teamId": 0,
"team": "",
"role": "Editor",
"permission": 2,
"permissionName": "Edit",
"uid": "",
"title": "",
"slug": "",
"isFolder": false,
"url": ""
}
]
Коды состояния:
- 200 — Ok
- 401 — Не авторизован
- 403 — Доступ запрещён
- 404 — Папка не найдена
Обновление прав на папку
POST /api/folders/:uid/permissions
Обновляет права на папку. Эта операция удалит существующие права, если они не включены в запрос.
Требуемые права
Пояснения см. в примечании во введении.
Пример запроса:
POST /api/folders/nErXDvCkzz/permissions
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>
{
"items": [
{
"role": "Viewer",
"permission": 1
},
{
"role": "Editor",
"permission": 2
},
{
"teamId": 1,
"permission": 1
},
{
"userId": 11,
"permission": 4
}
]
}
Схема тела JSON:
- items — элементы прав для добавления или обновления. Элементы, пропущенные в списке, будут удалены.
Пример ответа:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35
{"message":"Folder permissions updated","id":1,"title":"Department ABC"}
Коды состояния:
- 200 — Ok
- 401 — Не авторизован
- 403 — Доступ запрещён
- 404 — Дашборд не найден