Grafana

64617
下载
Grafana 是一个开源的分析和监控平台,能够从多种数据源(如数据库、云服务和API)中提取数据。它提供强大的图表、时序数据分析和告警功能,帮助用户深入了解系统性能、可靠性和健康状况。

Grafana OAuth统一认证登录


Grafana 支持使用OAuth 2.0协议进行用户认证和应用授权。本文以阿里云系统模拟第三方应用为例介绍对接Grafana实现第三方应用登录的操作。

背景信息

OAuth(Open Authorization,开放授权)是一种开放协议,支持以简单和标准的方法为Web、移动或桌面应用程序进行安全授权,被授权的应用不需要使用用户名和密码即可访问受保护的信息。更多信息,请参见OAuth官方文档

用户自建系统在授权的前提下可以访问托管Grafana存储的各种信息。此处以阿里云系统授权登录托管Grafana为例,为您演示OAuth接入,其他产品账号授权的操作,请参见Grafana官方文档

基本流程

接下来将为您演示如何使用阿里云系统模拟上图的授权系统。下述步骤涉及的配置仅供参考,具体的系统配置属性在符合OAuth2.0标准下,以您的实际设置为准。

步骤一:创建应用

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏选择集成管理 > OAuth 应用(公测)
  3. 企业应用页签,单击创建应用
  4. 创建应用面板,设置应用参数。
    1. 输入应用名称显示名称
    2. 按照下表说明选择应用类型
    3. 设置访问令牌有效期时长。 访问令牌有效期范围:900秒(15分钟)~10,800秒(3小时)。默认值为3,600秒。
    4. 对于WebApp和NativeApp,设置刷新令牌有效期和回调地址。
      1. 刷新令牌有效期范围:7,200秒(2小时)~31,536,000秒(1年)。默认值为2,592,000秒。
      2. 回调地址为Grafana工作区的连接地址加/login/generic_oauth后缀,例如http://[Grafana连接地:端口号]/login/generic_oauth。
应用类型类型说明
WebApp指基于浏览器交互的网络应用。
NativeApp指操作系统中运行的本地应用,主要为运行在桌面操作系统或移动操作系统中的应用。
ServerApp指直接访问阿里云服务,而无需依赖用户登录的应用,目前仅支持基于SCIM协议的用户同步应用。示例请参见通过SCIM协议将企业内部账号同步到阿里云RAM
  1. 单击保存

步骤二:添加范围

  1. 企业应用页签,单击目标应用名称。

说明

在应用详情页面的基本信息区域可以查看应用ID,应用ID在步骤四设置参数时需要使用。

  1. 应用OAuth范围页签,单击添加OAuth范围
  2. 添加OAuth范围面板,选择添加profile范围。

  1. 单击确定

步骤三:创建密钥

  1. 在目标应用详情页面,单击应用密钥页签,然后单击创建密钥
  2. 创建应用密钥对话框,查看并复制创建成功的应用密钥,然后单击关闭

重要

  • 应用密钥内容仅在创建时可见,不支持查询,请及时保存。
  • 每个应用最多允许创建2个应用密钥。

步骤四:修改Grafana 启动参数参数

  1. 在Grafana安装目录 conf 文件夹下找到defaults.ini文件。
  2. 在文件中选择auth.generic_oauth,然后进行修改。
  3. 参考以下配置,修改运行参数,然后重启Grafana实例。
Terminal window
name = Alibaba
enabled = true
allow_sign_up = true
client_id = {应用ID} //您可以在RAM控制台的应用基本信息页面查看应用ID。
client_secret = {步骤三中创建的应用密钥}
scopes = openid profile
auth_url = https://signin.aliyun.com/oauth2/v1/auth
token_url = https://oauth.aliyun.com/v1/token
api_url = https://oauth.aliyun.com/v1/userinfo
email_attribute_path=login_name
  1. 参考以下配置,修改运行参数列,然后单击保存并生效
Terminal window
root_url = http://[Grafana连接地址:端口号]

待重启完成后即可在登录页面看到设置的OAuth登录入口


observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32