API прав на дашборды
[ru] DOCS_SHARED: "docs/grafana/latest/developer-resources/api-reference/http-api/api-legacy/dashboard_permissions.ru.md" ("/hugo/content/docs/grafana/latest/developer-resources/api-reference/http-api/api-legacy/dashboard_permissions.ru.md:28:1") shared directory "docs/grafana/latest/shared" not found
Этот API можно использовать для обновления и получения прав на дашборд.
Права с dashboardId=-1 — это права по умолчанию для пользователей с ролями «Наблюдатель» и «Редактор». Права можно задавать для пользователя, команды или роли (Viewer или Editor). Права нельзя задать для администраторов — у них всегда есть доступ ко всему.
Уровни прав для поля permission:
- 1 = View
- 2 = Edit
- 4 = Admin
Если вы используете Grafana Enterprise, для некоторых конечных точек потребуются определённые права. Дополнительные сведения см. в разделе Права управления доступом на основе ролей.
Получение прав на дашборд
GET /api/dashboards/uid/:uid/permissions
Возвращает все существующие права для дашборда с заданным uid.
Требуемые права
Пояснения см. в примечании во введении.
Пример запроса:
GET /api/dashboards/uid/dHEquNzGz/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,
"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": "Viewer",
"permission": 1,
"permissionName": "View",
"uid": "dHEquNzGz",
"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": "dHEquNzGz",
"title": "",
"slug": "",
"isFolder": false,
"url": ""
}
]
Коды состояния:
- 200 — Ok
- 401 — Не авторизован
- 403 — Доступ запрещён
- 404 — Дашборд не найден
Обновление прав на дашборд
POST /api/dashboards/uid/:uid/permissions
Обновляет права на дашборд. Эта операция удалит существующие права, если они не включены в запрос.
Требуемые права
Пояснения см. в примечании во введении.
Пример запроса:
POST /api/dashboards/uid/dHEquNzGz/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":"Dashboard permissions updated"}
Коды состояния:
- 200 — Ok
- 401 — Не авторизован
- 403 — Доступ запрещён
- 404 — Дашборд не найден