Grafana: read-only пользователь it@vinogorod.ru (Viewer); опыт: provisioning users в OSS 11.1 не работает — только UI

This commit is contained in:
Evgeny Storozhenko
2026-09-08 13:26:21 +00:00
parent b4f4493961
commit da1746c455
2 changed files with 26 additions and 0 deletions
+23
View File
@@ -81,6 +81,29 @@ blackbox-exporter поддерживает ICMP-пробы (prober: icmp). Ме
алертом UptimeKuma. Это реальная авария, а не ошибка конфига: blackbox алертом UptimeKuma. Это реальная авария, а не ошибка конфига: blackbox
корректно видит недоступность шлюза. корректно видит недоступность шлюза.
### 23. Read-only пользователь Grafana: provisioning НЕ работает (OSS), только UI (2026-09-08)
Задача: дать сотруднику IT Винограда read-only доступ к дашбордам
(`it@vinogorod.ru`, роль Viewer). Попытки автоматизировать — провалились:
- **Файловое provisioning пользователей** (`grafana/provisioning/access-control/users.yml`)
в Grafana 11 OSS **не обрабатывается**: в логах старта только
dashboards/datasources/alerting/plugins; access-control — фича
Enterprise/Cloud (`security.provisioning`). Файл молча игнорируется, даже с
валидным YAML.
- **API create**: `POST /api/users` → 404 (в OSS недоступно). `POST /api/login`
(JSON) → 401 даже при верном пароле; а **Basic auth работает**
(`curl -u estorozhenko:пароль /api/user` → 200).
- Итог: пользователя можно создать **только в UI** (Administration → Users →
New user, роль Viewer). Пароль задаётся при создании.
Проверка после создания:
```bash
curl -s -u 'it@vinogorod.ru:1qazXSW2' http://127.0.0.1:3001/api/user # → 200
curl -s -u 'estorozhenko:ПАРОЛЬ' http://127.0.0.1:3001/api/orgs/1/users # role=Viewer
curl -s -u 'it@vinogorod.ru:1qazXSW2' http://127.0.0.1:3001/api/users # → 403 (read-only)
```
## Ключевые находки / грабли ## Ключевые находки / грабли
### 1. Admin API Garage v2.1 слушает ОТДЕЛЬНЫЙ порт (`[admin] api_bind_addr`) ### 1. Admin API Garage v2.1 слушает ОТДЕЛЬНЫЙ порт (`[admin] api_bind_addr`)
+3
View File
@@ -52,6 +52,9 @@ grafana.nixg.ru → 87.242.100.206 (vps02) → caddy → reverse_proxy 10.8.0.2:
`docker exec caddy caddy reload --config /etc/caddy/Caddyfile` `docker exec caddy caddy reload --config /etc/caddy/Caddyfile`
- Сертификат Let's Encrypt выпускается автоматически. - Сертификат Let's Encrypt выпускается автоматически.
- Логин: **estorozhenko** (сменён с admin через UI), пароль — задан пользователем. - Логин: **estorozhenko** (сменён с admin через UI), пароль — задан пользователем.
- Read-only доступ: **it@vinogorod.ru** (роль **Viewer**, создан вручную в UI,
пароль `1qazXSW2`). Только просмотр дашбордов, без правки. Учётка в
`grafana-data` (переживает пересоздание контейнера).
## Garage admin API (метрики) ## Garage admin API (метрики)