首页 > 其他分享 >第三方系统通过iframe嵌套集成grafana

第三方系统通过iframe嵌套集成grafana

时间:2024-04-18 15:25:55浏览次数:20  
标签:jwks jwt grafana 嵌套 json iframe org true

具体步骤:

1. 开启允许集成嵌套配置,默认不允许

[security] allow_embedding = true

2. 生成签名验证文件(官网提供三种方式,具体参考官网)

在线生成JWK:https://mkjwk.org/

复制生成的shared key set 到文件jwks.json中
cat jwks.json
{ "keys": [ { "kty": "oct", "use": "sig", "kid": "FCGNjZstuoQZwCXYgCjSwCsHpo1hs9TTfESoOfZYU-M", "k": "ncUW_G8A_kbkF47L6WP6OmUgjiq4cHyRhvg_9KyYbBUPYXaMvaYR29dxky-NiY0uQsP45Y7LfVgyrDfDpV860GgdJgsVPVT5M1ANgVkACucZMF1JDjaFIlWECWgtSkx1BTHYQiOavFI4rIIm09KUoLLBZ9XxmU_ilPFdtV5EUb-dn1QCzJn_Lo7R-0voBfFFYCOnL8tRk07lzaaBMnEtnc1s9EC6qGLHxY2Ivppbihls-GMZCGTbn2C9iYMY4k1EvIjvBn3FcqYlCDj7Zbt3hwMCy9XXZ0hEDKF25maDIA2cTbbC1dPsHcfGl7Jr7K2v3C9VZK45lEj1Wd9Huo7KaQ", "alg": "HS256" } ] }

3. 生成jwt

token加密解密站点:https://jwt.io/

具体参数配置如下,可根据需要修改,注意:"your-256-bit-secret"是jwks.json中的“k”的值,不修改使用下面已生成jwt即可
HEADER

{
"alg": "HS256",
"typ": "JWT",
"kid": "FCGNjZstuoQZwCXYgCjSwCsHpo1hs9TTfESoOfZYU-M"
}

PAYLOAD

{
"sub": "hy-dev-user",
"name": "hy-dev-user",
"iat": 1713418413,
"exp": 4869092013,
"iss": "https://my-token-issuer",
"org": "hy",
"role": "Viewer"
}

cat grafana-jwt.txt
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkZDR05qWnN0dW9RWndDWFlnQ2pTd0NzSHBvMWhzOVRUZkVTb09mWllVLU0ifQ.eyJzdWIiOiJoeS1kZXYtdXNlciIsIm5hbWUiOiJoeS1kZXYtdXNlciIsImlhdCI6MTcxMzQxODQxMywiZXhwIjo0ODY5MDkyMDEzLCJpc3MiOiJodHRwczovL215LXRva2VuLWlzc3VlciIsIm9yZyI6Imh5Iiwicm9sZSI6IlZpZXdlciJ9.8NL2dpKjpUp_MzLzyit-388mCMAo0SzCHLLcFJZ1nrY

4. 修改相关配置

cat grafana.ini
[auth.jwt]

enabled = true

header_name = X-JWT-Assertion

role_attribute_path = contains(info.roles[], 'admin') && 'Admin' || contains(info.roles[], 'editor') && 'Editor' || 'Viewer'

jwk_set_file =conf/jwks.json (定义签名验证文件)

expect_claims = {"iss": "https://my-token-issuer", "org": "hy"}

allow_assign_grafana_admin = false

skip_org_role_sync = true

username_claim = sub

email_claim = email

auto_sign_up = true

url_login = true

5. 在现有系统中集成配置

                        <div class="card-body">
                            <iframe src="https://xxx.com/grafana/d/aka/be9e3f56-70f9-509c-9efd-be6e2c0b5292?orgId=1&auth_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkZDR05qWnN0dW9RWndDWFlnQ2pTd0NzSHBvMWhzOVRUZkVTb09mWllVLU0ifQ.eyJzdWIiOiJoeS1kZXYtdXNlciIsIm5hbWUiOiJoeS1kZXYtdXNlciIsImlhdCI6MTcxMzQxODQxMywiZXhwIjo0ODY5MDkyMDEzLCJpc3MiOiJodHRwczovL215LXRva2VuLWlzc3VlciIsIm9yZyI6Imh5Iiwicm9sZSI6IlZpZXdlciJ9.8NL2dpKjpUp_MzLzyit-388mCMAo0SzCHLLcFJZ1nrY" width="100%" scrolling="No" height="730px" frameborder="0">

                            </iframe>
                        </div>

标签:jwks,jwt,grafana,嵌套,json,iframe,org,true
From: https://www.cnblogs.com/chenhuxy/p/18143505

相关文章

  • 在Linux中,如何使用Grafana和Prometheus进行网络监控和可视化?
    Grafana和Prometheus是两个强大的开源工具,经常一起使用来进行网络监控和数据可视化。Prometheus是一个监控和警报工具,它可以收集和存储时间序列数据。Grafana则是一个开源的数据可视化和分析平台,它可以连接到Prometheus并创建丰富的仪表板来展示和分析数据。1.安装和配置Prometh......
  • 配置MogDB/openGauss的grafana 的dashboard
    配置MogDB/openGauss的grafana的dashboard本文出处:https://www.modb.pro/db/188684概述我们已经介绍了prometheus+grafana+opengauss_exporter完成对MogDB/openGauss数据库的监控,但这只是第一步,我们还需要通过grafana的dashboard查看各个关注的指标项,本文主要......
  • QDir创建目录嵌套
    voidsampleDete::isDirExist(constQString&path){qDebug()<<"path:"<<path;//"./images/2024-04-15-08-56-18/2024-04-15-08-56-18_1"QDirdir(path);if(!dir.exists()){if(!dir.mkpath(path))......
  • iframe跨域,获取iframe中元素
    1.需求让iframe嵌入页面,并且没有滚动条,也就是相当于两个页面拼接在一起跨域解决,通过框架配置代理proxy:{'/medical':{target:'https://example.com',changeOrigin:true,pathRewrite:{'^/medical':'',},},}......
  • HTML 高级用法 iframe框架
    HTML中,<iframe>标签允许一个HTML文档被嵌入到另一个HTML文档中。这种技术可以用于多种用途,比如嵌入第三方内容(例如YouTube视频或Google地图)、实现网页中的多窗口布局,或者加载异步内容而不影响主页面的加载时间。<iframe>的高级用法可以增强网站的功能性和用户体验,但也需要注意使......
  • Mybatis中ResultMap的嵌套查询
    要点:多对一:查询的多个对象中有一个属性包含一个复杂对象,使用association标签嵌套一对多:查询的单个对象中的一个属性包含多个其他对象,使用collection标签嵌套javaType为实体类中属性的类型,为常用基本数据类型时可以省略ofType则是用来指定到List或集合中的实体类类型,泛型中的......
  • wsl、Prometheus、grafana、性能瓶颈分析
    感觉学着没啥意义,有时候面试又问。待业半年了,技术有个屁用一、wslwsl解释看百度百科,主要是为了有一个linux环境,方便学习1、找到Windows功能,勾选       2、管理员运行终端      3、运行命令(默认安装ubuntu):wsl --install......
  • 内联和嵌套命名空间
    在开发大型的项目时,往往会有很多人参与协同开发,划分成各个小组负责不同的模块,模块之间相对独立。代码中会定义很多的类名、函数名、模板名,甚至一些全局变量,如果不对这些名称加以规范,很容易造成名字的冲突,因为默认情况下这些名字都是全局名字,这种情况也称之为命名空间污染。为了避......
  • 性能监控工具 grafana + prometheus + node_exporter 下载配置
        grafana   prometheus: 时序数据库,存储数据的   node_exporter: 收集数据(收集监控数据)     node_exporter 收集linux**系统资源利用**数据   这个解决方案中,node_exporter是可变的,是根据你要收集**哪些数据来进行选择**一、安装解压配置pr......
  • 如何使用 Grafana 监控文件系统状态
    当JuiceFS文件系统部署完成并投入生产环境,接下来就需要着手解决一个非常重要的问题——如何实时监控它的运行状态?毕竟,它可能正在为关键的业务应用或容器工作负载提供持久化存储支持,任何小小的故障或性能下降都可能造成不利的影响。JuiceFS启动后会实时发布自身的运行状态数......