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