Grafana OAuth统一认证登录
Grafana 支持使用OAuth 2.0协议进行用户认证和应用授权。本文以阿里云系统模拟第三方应用为例介绍对接Grafana实现第三方应用登录的操作。
背景信息
OAuth(Open Authorization,开放授权)是一种开放协议,支持以简单和标准的方法为Web、移动或桌面应用程序进行安全授权,被授权的应用不需要使用用户名和密码即可访问受保护的信息。更多信息,请参见OAuth官方文档。
用户自建系统在授权的前提下可以访问托管Grafana存储的各种信息。此处以阿里云系统授权登录托管Grafana为例,为您演示OAuth接入,其他产品账号授权的操作,请参见Grafana官方文档。
基本流程
接下来将为您演示如何使用阿里云系统模拟上图的授权系统。下述步骤涉及的配置仅供参考,具体的系统配置属性在符合OAuth2.0标准下,以您的实际设置为准。
步骤一:创建应用
- 使用阿里云账号登录RAM控制台。
- 在左侧导航栏选择集成管理 > OAuth 应用(公测)。
- 在企业应用页签,单击创建应用。
- 在创建应用面板,设置应用参数。
- 输入应用名称和显示名称。
- 按照下表说明选择应用类型。
- 设置访问令牌有效期时长。 访问令牌有效期范围:900秒(15分钟)~10,800秒(3小时)。默认值为3,600秒。
- 对于WebApp和NativeApp,设置刷新令牌有效期和回调地址。
- 刷新令牌有效期范围:7,200秒(2小时)~31,536,000秒(1年)。默认值为2,592,000秒。
- 回调地址为Grafana工作区的连接地址加/login/generic_oauth后缀,例如http://[Grafana连接地:端口号]/login/generic_oauth。
应用类型 | 类型说明 |
---|---|
WebApp | 指基于浏览器交互的网络应用。 |
NativeApp | 指操作系统中运行的本地应用,主要为运行在桌面操作系统或移动操作系统中的应用。 |
ServerApp | 指直接访问阿里云服务,而无需依赖用户登录的应用,目前仅支持基于SCIM协议的用户同步应用。示例请参见通过SCIM协议将企业内部账号同步到阿里云RAM。 |
- 单击保存。
步骤二:添加范围
- 在企业应用页签,单击目标应用名称。
说明
在应用详情页面的基本信息区域可以查看应用ID,应用ID在步骤四设置参数时需要使用。
- 在应用OAuth范围页签,单击添加OAuth范围。
- 在添加OAuth范围面板,选择添加profile范围。
- 单击确定。
步骤三:创建密钥
- 在目标应用详情页面,单击应用密钥页签,然后单击创建密钥。
- 在创建应用密钥对话框,查看并复制创建成功的应用密钥,然后单击关闭。
重要
- 应用密钥内容仅在创建时可见,不支持查询,请及时保存。
- 每个应用最多允许创建2个应用密钥。
步骤四:修改Grafana 启动参数参数
- 在Grafana安装目录 conf 文件夹下找到defaults.ini文件。
- 在文件中选择auth.generic_oauth,然后进行修改。
- 参考以下配置,修改运行参数,然后重启Grafana实例。
- 参考以下配置,修改运行参数列,然后单击保存并生效。
待重启完成后即可在登录页面看到设置的OAuth登录入口