可觀測可視化 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個應用密鑰。
步驟四:修改工作區參數
登錄可觀測可視化 Grafana 版控制臺,在左側導航欄單擊工作區管理。
在工作區管理頁面,單擊目標工作區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工作區的連接地址和端口號。