当前位置: 首页 > news >正文

Grafana 接入 SSO 配置指南

# Grafana 接入 SSO 配置指南

> Grafana 不支持 SAML 协议接入,本教程采用 **OAuth2** 接入

---

## 一、前置准备

### 1.1 配置飞连应用回调地址

在飞连(Feilian/SealSuite)应用中配置回调地址:

```
http://grafana.example.com/login/generic_oauth
```

---

## 二、Grafana 配置

### 2.1 grafana.ini 配置文件

```ini
[server]
root_url = http://grafana.example.com

[auth]
oauth_allow_insecure_email_lookup = true

[auth.generic_oauth]
enabled = true
name = OAuth
allow_sign_up = true
client_id = xxxxx
client_secret = xxxxxxx
scopes = openid profile email
auth_url = https://ltp.sealsuite.com/api/oauth2/authorize
token_url = https://ltp.sealsuite.com/api/oauth2/token
api_url = https://ltp.sealsuite.com/api/oauth2/userinfo

email_attribute_path = data.email
name_attribute_path = data.fullname
login_attribute_path = data.email
```

### 2.2 关键参数说明

| 参数 | 说明 |
|------|------|
| `enabled` | 启用 OAuth 认证 |
| `allow_sign_up` | 允许新用户自动注册 |
| `client_id` | OAuth 应用 ID |
| `client_secret` | OAuth 应用密钥 |
| `scopes` | 请求的权限范围 |
| `auth_url` | 授权 URL |
| `token_url` | Token 获取 URL |
| `api_url` | 用户信息 API URL |
| `email_attribute_path` | 邮箱字段路径 |
| `name_attribute_path` | 用户名字段路径 |

---

## 三、Docker Compose 部署

### 3.1 docker-compose.yml

```yaml
version: '3.3'

services:
grafana:
image: grafana/grafana-oss
container_name: grafana
ports:
- "3001:3000"
volumes:
- ./grafana.ini:/etc/grafana/grafana.ini
environment:
# 这两条环境变量需要配置
- GF_AUTH_GENERIC_OAUTH_ENABLED=true
- GF_AUTH_DISABLE_LOGIN_FORM=false
restart: unless-stopped
```

### 3.2 关键环境变量

| 环境变量 | 说明 |
|---------|------|
| `GF_AUTH_GENERIC_OAUTH_ENABLED` | 启用 OAuth 认证 |
| `GF_AUTH_DISABLE_LOGIN_FORM` | 是否禁用密码登录表单 |

---

## 四、验证配置

1. 访问 Grafana 登录页面
2. 应该能看到 "Sign in with OAuth" 按钮
3. 点击后跳转到飞连进行认证
4. 认证成功后自动跳转回 Grafana

---

## 五、常见问题

### 5.1 登录后用户没有权限

需要在 Grafana 中配置角色映射或手动分配权限。

### 5.2 回调地址不匹配

确保 `root_url` 配置正确,与飞连应用中配置的回调地址一致。

### 5.3 无法获取用户信息

检查 `email_attribute_path`、`name_attribute_path` 是否与 OAuth 返回的 JSON 结构匹配。

---

*文档整理日期:2025-05*
http://www.jsqmd.com/news/412442/

相关文章:

  • 华为晟腾计算芯片 —— AI国产化 —— Ascend / pytorch —— 支持NPU的pytorch下载地址
  • ArgoCD 接入 SSO 配置指南
  • 【每日一题】LeetCode 1356. 根据数字二进制下 1 的数目排序
  • HTML 布局
  • 信用卡债务协商最佳解决方案,信用卡债务协商真的能帮我摆脱困境吗? - 代码非世界
  • 文件夹监控文件变动通知器
  • 【eclipse 升级】
  • 像素蛋糕专用
  • 信用卡逾期后,如何才能成功申请60期分期?这样协商还款,压力瞬间减半 - 代码非世界
  • 大气电场监测仪:实时测量大气中的电场强度变化
  • 信用卡债务协商:探寻最佳解决方案,信用卡债务协商的最佳解决方案到底是什么? - 代码非世界
  • 11.3 监控与可观测性:指标体系、日志追踪、drift检测
  • LuxTTS语音克隆
  • 青木川古镇酒店排名哪家好?2026最新榜单,青云客栈稳居首选! - 一个呆呆
  • 11.2 模型路由与网关:多模型调度、流量切分、故障转移
  • 青木川酒店排名哪家好?2026最新榜单,青云客栈稳居首选! - 一个呆呆
  • 11.1 AI工程五步构建法:增强上下文、护栏、路由、缓存、智能体
  • 小白也能轻松做GEO优化了,立省万元
  • 每天登录10个自媒体后台太累了试试这个一键发布工具
  • 10.3 服务优化:连续批处理、动态批处理、负载均衡实战
  • 10.4 AI加速器选型:GPU、TPU、NPU架构与算力对比
  • 软件专业毕设中HTML技术与Python技术如何结合用
  • LeetCode 1356.根据数字二进制下 1 的数目排序:自定义排序模拟
  • django基于python文化旅游信息公开管理平台的设计与实现
  • 信用卡与贷款协商分期 委托律师处理的全流程实操指南,信用卡和贷款协商分期,到底该怎么委托律师处理? - 代码非世界
  • 最高补 1000 万!2026 福建省级 AI 项目申报全攻略,AI企业必看的申报要点与实操指南
  • 律师协助下信用卡与贷款分期协商全攻略,委托律师处理信用卡分期协商到底有多靠谱? - 代码非世界
  • AI原生应用:重塑视频生成格局
  • 信用卡逾期找律师协商分期还款靠谱吗?选择和律掌柜,选择专业、可靠、有效的债务解决方案 - 代码非世界
  • 网络安全】网络安全设备,你知道哪些呢?防火墙?IDS?