在 grafana 启动时预配用户

Provision user(s) at grafana start-up

提问人:max 提问时间:11/17/2023 更新时间:11/17/2023 访问量:21

问:

我想使用预配置的用户启动一个 grafana 容器,只有查看权限。虽然可以使用 和 环境变量或在 grafana.ini 文件中轻松配置管理员用户,但我找不到添加初始标准用户的选项。GF_SECURITY_ADMIN_USERGF_SECURITY_ADMIN_PASSWORD

可以轻松地将 -file 挂载到容器中,例如在 docker-compose 中:grafana.ini

version: '3'
services:
  grafana:
    image: grafana/grafana-oss:10.2.0
    container_name: grafana
    volumes:
      - ./grafana.ini:/etc/grafana/grafana.ini:ro
    environment:
      - GF_SECURITY_ADMIN_USER=AdminUser
      - GF_SECURITY_ADMIN_PASSWORD=PASSW0RD

但是没有选项可以创建本地 SQLlite 数据库的用户。

思路:config-container + REST api

我能想到的唯一方法是启动第二个容器,通过REST添加用户,例如在带有bash脚本的alpine容器中:

#!/bin/bash

curl -X POST \
  "http://AdminUser:PASSW0RD@grafana:3000/api/admin/users" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "TestUser",
    "login": "TestUser",
    "password": "TestUserPassword"
}'

这或多或少与之前建议的在启动后使用 ansible 配置 grafana 的想法大致相同。

想法:users.yaml |不工作

询问 ChatGPT,它不断建议与用户挂载一个 YAML 文件(例如调用它),以便:grafana_users.yaml/etc/grafana/provisioning/dashboards/users.yaml

apiVersion: 1

users:
  - name: TestUser
    password: TestUserPassword
    role: Editor

并将以下绑定添加到 docker-compose 配置中:

    volumes:
      - ./grafana_users.yaml:/etc/grafana/provisioning/dashboards/users.yaml:ro

根据日志,这没有任何效果,ChatGPT 的建议无论如何都是指 grafana 7.x ......


知道如何在配置时自动创建权限少于管理员的用户吗?(无需启动第二个容器来进行配置,这也只需要在第一次启动时启动,而不是每次启动时启动。docker compose up

docker-compose grafana

评论

0赞 Jan Garaj 11/18/2023
ChatGPT产生幻觉!查看 Grafana 文档,您会发现 Grafana 中没有用户预配。

答: 暂无答案