惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
U
Unit 42
T
Tailwind CSS Blog
罗磊的独立博客
WordPress大学
WordPress大学
小众软件
小众软件
Recent Announcements
Recent Announcements
博客园 - 聂微东
Jina AI
Jina AI
云风的 BLOG
云风的 BLOG
博客园 - 【当耐特】
爱范儿
爱范儿
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
V
V2EX
博客园 - 三生石上(FineUI控件)
I
InfoQ
雷峰网
雷峰网
G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
B
Blog
腾讯CDC
A
About on SuperTechFans
博客园 - 叶小钗

i4T

OpenClaw在Macmini下网络HTTPS_Proxy代理配置 | i4T 容器化部署OpenClaw授权View权限对Kubernetes集群进行巡检故障排查 | i4T 初试VictoriaLogs集群采集Kubernetes Pod日志 | i4T Kubernetes 部署Elasticsearch为WordPress提供文章搜索 | i4T Kubernetes使用Prometheus监控爱快路由器iKuai_Exporter | i4T RustDesk API集成Authentik ODIC单点登录 | i4T Kubernetes 部署RustDesk API实现专业版功能及管理Web UI | i4T 使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接 | i4T Authentik 集成群晖Synology DSM 实现单点登录 | i4T Authentik 集成接入VMware vCenter 8.0.3实现ldP身份提供商登录 | i4T Kubernetes v1.29.9部署Authentik 统一认证平台并接入Harbor | i4T 二进制Kafka_2.13-3.9.0集群开启并配置ACL用户授权 | i4T R730 ESXI 8.0平台PCI直通2080Ti 实现Windows远程游戏以及AI模型 | i4T Dell R730虚拟化ESXI8.0.3平台使用丽台Tesla V100配置vGPU | i4T Kubernetes使用HostAliases手动为容器Pod添加hosts解析 | i4T Nginx 使用resolver变量实现动态DNS解析配置 | i4T Kubernetes LoadBalancer负载均衡外部访问方案MetalLB | i4T Kubernetes 1.29.0 部署配置Ingress-nginx-controller | i4T Ubuntu环境下Docker Compose配置Harbor开机自启 | i4T Dell PowerEdge R730更新iDRAC8版本 | i4T Kubernetes部署RedisShake实现Redis哨兵异地灾备 | i4T Kubernetes部署开源Excalidraw实现在线绘图 | i4T Kubernetes部署DNSmgr聚合公网DNS多平台域名解析系统及SSL自续签 | i4T Kubernetes Grafana数据从Sqlite3迁移到MySQL | i4T 宝塔内网Nginx获取公网宝塔Nginx用户真实IP | i4T 基于Kubernetes Categraf SNMP插件采集Dell R730服务器硬件并使用Grafana监控 | i4T Kubernetes v1.29.9安装Grafana 12并开启匿名访问 | i4T Containerd 配置免费镜像加速源 | i4T Docker集成Containerd实现容器管理 | i4T
Authentik 集成Kubernetes Grafana 实现SSO单点登录 | i4T
https://i4t.com/users/auuAwtzuk · 2025-10-17 · via i4T

Authentik原生支持Grafana的单点登录,也可以批量划分权限。我这里Grafana是使用Kubernetes 部署的,详细修改配置和Docker部署相同,需要注意的地方我会整理出来

Grafana 是一款多平台开源分析和交互式可视化 Web 应用程序。连接到支持的数据源后,它能够提供 Web 图表、图形和警报。此外,Grafana Enterprise 版本还提供了更多功能。它可通过插件系统进行扩展。

Authentik

authentik 是一个 IdP(身份提供者)和 SSO(单点登录)平台,其每段代码、每个功能都以安全性为首要考虑,并强调灵活性和多功能性。

Authentik部署文档可参考下面的文档

Authentik 创建应用程序

登录Authentik 后台,选择Application 创建应用程序

Authentik 集成Kubernetes Grafana 实现SSO单点登录

应用程序名称我这里设置为Grafana

Authentik 集成Kubernetes Grafana 实现SSO单点登录

可以配置一个启动URL,也可以不配置,这里可选

Authentik 集成Kubernetes Grafana 实现SSO单点登录

Authentik 创建提供程序

创建提供程序

Authentik 集成Kubernetes Grafana 实现SSO单点登录

认证方式选择 OAuth2/OpenID

Authentik 集成Kubernetes Grafana 实现SSO单点登录

这里创建一个名称,后续为应用程序绑定

Authentik 集成Kubernetes Grafana 实现SSO单点登录

重定向地址需要写Grafana的地址

Authentik 集成Kubernetes Grafana 实现SSO单点登录

创建好暂时是无法使用的,需要关联Grafana应用程序
Authentik 集成Kubernetes Grafana 实现SSO单点登录

到Grafana应用程序中,选择绑定
Authentik 集成Kubernetes Grafana 实现SSO单点登录

Authentik 集成Kubernetes Grafana 实现SSO单点登录

到提供程序中,记录以下配置

这里字段映射我已经截图相关配置,需要记住保留,将字段配置到Grafana

Authentik 集成Kubernetes Grafana 实现SSO单点登录
Authentik 集成Kubernetes Grafana 实现SSO单点登录
Authentik 集成Kubernetes Grafana 实现SSO单点登录

Grafana 配置文件调整

Grafana Kubernetes可以参考下面的文档,我这里配置文件采用k8s configmap创建,自行参考

  • Grafana.ini 配置文件修改 (演示)
[auth]
signout_redirect_url = https://authentik.company/application/o/<application_slug>/end-session/
# Optionally enable auto-login
oauth_auto_login = true

[auth.generic_oauth]
name = authentik
enabled = true
client_id = <Client ID from above>
client_secret = <Client Secret from above>
scopes = openid email profile
auth_url = https://authentik.company/application/o/authorize/
token_url = https://authentik.company/application/o/token/
api_url = https://authentik.company/application/o/userinfo/
# Optionally map user groups to Grafana roles
role_attribute_path = contains(groups, 'Grafana Admins') && 'Admin' || contains(groups, 'Grafana Editors') && 'Editor' || 'Viewer'
  • 如果是使用Docker安装的,只需要在下面添加环境变量信息即可
environment:
    GF_AUTH_GENERIC_OAUTH_ENABLED: "true"
    GF_AUTH_GENERIC_OAUTH_NAME: "authentik"
    GF_AUTH_GENERIC_OAUTH_CLIENT_ID: "<Client ID from above>"
    GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET: "<Client Secret from above>"
    GF_AUTH_GENERIC_OAUTH_SCOPES: "openid profile email"
    GF_AUTH_GENERIC_OAUTH_AUTH_URL: "https://authentik.company/application/o/authorize/"
    GF_AUTH_GENERIC_OAUTH_TOKEN_URL: "https://authentik.company/application/o/token/"
    GF_AUTH_GENERIC_OAUTH_API_URL: "https://authentik.company/application/o/userinfo/"
    GF_AUTH_SIGNOUT_REDIRECT_URL: "https://authentik.company/application/o/<application_slug>/end-session/"
    # Optionally enable auto-login (bypasses Grafana login screen)
    GF_AUTH_OAUTH_AUTO_LOGIN: "true"
    # Optionally map user groups to Grafana roles
    GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH: "contains(groups[*], 'Grafana Admins') && 'Admin' || contains(groups[*], 'Grafana Editors') && 'Editor' || 'Viewer'"
    # Required if Grafana is running behind a reverse proxy
    GF_SERVER_ROOT_URL: "https://grafana.company"

我这里演示下我如何修改的

  • Authentik 地址为https://sso.frps.cn
  • Grafana 地址为https://grafana.frps.cn
  • 获取client_id (在提供程序中查看)
  • 获取client_secret (在提供程序中查看)
  • signout_redirect_url (在提供程序中查看)
  • auth_url (在提供程序中查看)
  • token_url (在提供程序中查看)
  • api_url (在提供程序中查看)

完整配置文件如下展示grafana.ini

[auth]
signout_redirect_url = https://sso.frps.cn/application/o/grafana/end-session/
# Optionally enable auto-login
oauth_auto_login = true

[auth.generic_oauth]
name = authentik
enabled = true
client_id = **********
client_secret = ******
scopes = openid email profile
auth_url = https://sso.frps.cn/application/o/authorize/
token_url = https://sso.frps.cn/application/o/token/
api_url = https://sso.frps.cn/application/o/userinfo/
# Optionally map user groups to Grafana roles
role_attribute_path = contains(groups, 'authentik Admins') && 'Admin' ||  'Viewer'

role_attribute_path = contains(groups, 'authentik Admins') && 'Admin' || 'Viewer'
这里角色授权我直接绑定Authentik admin用户组为Admin权限

我这里使用Kubesphere 直接手动修改ConfigMap

Authentik 集成Kubernetes Grafana 实现SSO单点登录

Authentik 集成Kubernetes Grafana 实现SSO单点登录

除了以上配置,还需要检查root_url字段,是否可以和我们对外访问配置的一致,如不一致会出现The request fails due to a missing, invalid, or mismatching redirection URI (redirect_uri).报错

Authentik 集成Kubernetes Grafana 实现SSO单点登录

编辑Grafana.ini,和我们刚刚加配置在一个文件中


#这里我的配置,默认这里是被注释掉的
;root_url = %(protocol)s://%(domain)s:%(http_port)s/
root_url = https://grafana.frps.cn

配置完毕后需重启Pod

我直接重载,如果是Docker或者其它方式直接重启服务即可

Authentik 集成Kubernetes Grafana 实现SSO单点登录

接下来登录访问
Authentik 集成Kubernetes Grafana 实现SSO单点登录

此时登录Grafana就已经关联到我们Authentik用户,并且权限为Admin

Authentik 集成Kubernetes Grafana 实现SSO单点登录

个人中心

购物车

优惠劵

今日签到

有新私信 私信列表

搜索

幸运之星正在降临...

点击领取今天的签到奖励!

恭喜!您今天获得了{{mission.data.mission.credit}}积分

  • 限制以下商品使用: 限制以下商品分类使用: 不限制使用:

    所有商品和商品类型均可使用