建立並管理 OAuth 用戶端
OAuth 是用於授權和委派的安全性通訊協定。這允許第三方應用程式存取 API 資源,不必揭露最終使用者認證。OAuth 用戶端可請求授權代碼、交換以獲得存取 Token,並使用 Token 以透過 API 存取 Qlik Cloud 內容。
OAuth 用戶端類型
OAuth 用戶端是 Web 應用程式或軟體,這代表使用者請求存取 Qlik Cloud 中的資源。OAuth 定義兩個用戶端類型:公用用戶端和機密用戶端,以保護應用程式 (用戶端) 和授權伺服器 (Qlik Cloud) 之間的授權。
Qlik Cloud 支援傳統 Web (伺服器端) 應用程式的機密用戶端,和適合使用特定授權流程之原生和單頁應用程式的公用用戶端。
有關用戶端類型的官方 OAuth 2.0 規格,請參閱 RFC 6749 第 2.1 節:OAuth 2.0 用戶端類型。
公用用戶端
公用用戶端是不使用用戶端密碼的應用程式,因為這不會維護所需認證的機密性。在 Qlik Cloud 中,這些包括前端應用程式,例如具有內嵌分析或需要使用者驗證之 Qlik Sense 中的自訂視覺化延伸的單頁應用程式 (SPA)。
機密用戶端
機密用戶端可以安全地儲存用戶端 ID 和用戶端密碼,並用來透過授權伺服器進行驗證。這些用戶端可以存取受保護的資源,因為他們擁有用戶端密碼。
範例:Web 應用程式,與 Qlik Cloud API 有安全後端互動,以管理使用者存取權限或安排資料重新整理任務。
OAuth 授權流程
Qlik 支援兩種授權流程 (授予類型):
-
授權代碼流程:適用於機密用戶端。
-
使用證明金鑰進行代碼交換 (PKCE) 的授權代碼流程:適用於公用用戶端。
授權代碼流程
此流程由未公開原始程式碼的伺服器端應用程式使用。這涉及使用授權代碼交換存取 Token,並使用用戶端密碼進行驗證。使用此流程的 Web 應用程式必須是伺服器端,因為用戶端密碼會在 Token 交換期間傳遞至授權伺服器。
如需更多關於授權代碼流程的資訊,請參閱官方 OAuth 2.0 文件:授權代碼流程。
使用 PKCE 的授權代碼流程
原生和單頁應用程式無法安全地儲存用戶端密碼,因為其原始程式碼可以在瀏覽器中反向組譯或檢查。PKCE 要求使用代碼驗證器取得存取 Token,藉此增強安全性。
如需更多關於 PKCE 授權的資訊,請參閱官方 OAuth 2.0 文件:使用證明金鑰進行代碼交換 (PKCE) 的授權代碼流程。
OAuth 範圍和權限
OAuth 範圍定義授予 OAuth 用戶端應用程式的存取層級。例如,存取 Token 可以允許完整存取資源或將其限制為唯讀存取。在 Qlik Cloud 中,範圍可控制用戶端對於可用功能和資源的存取權限。如果沒有範圍,用戶端就無法存取任何資源。
可用的 OAuth 範圍
下表列出了可用的範圍及其相關權限:
範圍 | 權限 |
---|---|
user_default | 對帳戶和內容的完整存取權限 |
admin_classic |
對租用戶的完整管理員存取權限 另請參見: 部署和管理 Qlik Cloud 資訊備註不支援單一頁面應用程式和原生用戶端類型。
|
admin.apps |
讀取並管理租用戶中的所有應用程式。 另請參見: 管理應用程式 |
|
匯出租用戶中的所有應用程式 另請參見: 匯出應用程式 |
|
讀取租用戶中的所有應用程式 |
admin.automations |
讀取並管理租用戶中的所有自動化 另請參見: 管理自動化 |
|
讀取租用戶中的所有自動化 |
admin.spaces |
讀取並管理租用戶中的所有空間 另請參見: 管理空間 |
|
讀取租用戶中的所有空間 |
應用程式 |
讀取並管理應用程式 另請參見: 管理應用程式 |
|
匯出應用程式 另請參見: 匯出應用程式 |
|
讀取您的應用程式 |
自動化 |
讀取並管理您的自動化 另請參見: 管理自動化 |
|
讀取您的自動化 |
automl-實驗 | 讀取並管理 ML 實驗 |
automl-部署 | 讀取並管理 ML 部署 |
identity.email:read |
讀取您的電子郵件地址 另請參見: Qlik Cloud 中的識別提供者 |
identity.name:read |
讀取您的全名 |
identity.picture:read |
讀取您的個人檔案圖片 另請參見: Qlik Cloud 中的識別提供者 |
identity.subject:read |
讀取使用者主體識別碼 |
spaces.data |
讀取並管理資料空間 另請參見: 管理空間 |
|
讀取資料空間 |
spaces.managed |
讀取並管理受管理空間 另請參見: 管理空間 |
|
讀取受管理空間 |
spaces.shared |
讀取並管理共用空間 另請參見: 管理空間 |
|
讀取共用空間 |
offline_access |
在離線時存取資源 資訊備註不支援單一頁面應用程式用戶端類型。
|
建立 OAuth 用戶端
租用戶管理員可在 OAuth 頁面上的 管理 活動中心管理 OAuth 用戶端。透過 OAuth 用戶端,您可以整合用戶端應用程式與 Qlik Cloud 以便安全存取資源。
OAuth 用戶端限制
適用以下限制:
-
每個用戶端最多 5 個重新導向 URL。
-
每個用戶端最多允許 5 個來源。
-
每個用戶端最多有 5 個用戶端密碼。
-
每個租用戶最多有 200 個 OAuth 用戶端。
建立 OAuth 用戶端的步驟
請執行下列動作:
-
在 管理 活動中心內,前往 OAuth。
-
按一下新建。
-
選取用戶端類型:
-
Web 適用於機密用戶端。
-
單頁應用程式或原生適用於公用用戶端。
-
-
在對話方塊中,輸入 OAuth 用戶端的名稱。
-
也可以選擇新增說明。
-
捲動或使用搜尋欄位,以選取任何可用範圍。
提示備註使用全部和已選取按鈕,以檢視所有範圍或僅所選範圍。 -
為 OAuth 用戶端應用程式輸入一個或多個重新導向 URL (最多 5 個)。然後按一下新增以將重新導向 URL 新增至允許清單。
-
重新導向 URL 可在驗證並授予權限後,讓授權伺服器將使用者的瀏覽器傳送至用戶端應用程式。例如,https://www.exampleapp.com/oauth/callback,其中 /oauth/callback 處理來自 OAuth 提供者的驗證回撥。
-
只有在 URL 屬於重新導向 URL 的允許清單時,Qlik Cloud 才會在成功授權之後,將使用者重新導向回到應用程式。
-
URL 必須以 https:// 開頭,除非網域為 localhost,在此情況下,可以使用 http:// 為開頭。原生應用程式也可以使用應用程式特定連結格式,例如 exampleapp://。
-
-
對於 Web 或單頁應用程式用戶端類型,請指定一個或多個允許的來源 (最多 5 個)。
-
只有在 URL 新增至允許的來源清單時,才會授予應用程式的存取權限。
-
-
對於 Web 用戶端類型,您可以啟用以下選項之一,以實現無需使用者互動的自動化系統存取:
-
允許機器對機器 (M2M):無需使用者參與即可實現系統到系統的通訊。
-
允許 M2M 使用者模擬:允許您的應用程式代表使用者進行驗證,並在驗證過程中以他們的身分行事。
-
-
按一下建立。
-
按一下複製到剪貼簿以儲存用戶端 ID 和用戶端密碼以供之後使用。安全儲存用戶端密碼。
資訊備註公用用戶端沒有用戶端密碼。 -
按一下完成。
特定使用情況下的 OAuth 用戶端
對於 OAuth 用戶端使用情況,請參考下列資源:
-
Qlik 開發人員入口網站上的 OAuth 概述:OAuth 使用案例和不同 OAuth 類型的概述。
-
為 Microsoft Excel 建立 Qlik 增益集的 OAuth 用戶端:設定 OAuth 用戶端以安裝 Microsoft Excel 的 Qlik 增益集。
-
為應用程式內容的匿名內嵌建立 OAuth 用戶端:建立 OAuth 用戶端以啟用對內嵌應用程式內容的匿名存取。
為 Microsoft Excel 建立 Qlik 增益集的 OAuth 用戶端
需要 OAuth 用戶端設定才能安裝 Microsoft Excel 的 Qlik 增益集。增益集由報告開發人員使用,以準備報告範本,這控制從 Qlik Sense 應用程式輸出表格式報告。
為了讓 OAuth 在增益集運作,需要使用以下所示的確切設定來設定 OAuth 用戶端。
請執行下列動作:
-
在 管理 活動中心內,於 Qlik Cloud 中,前往 OAuth。
-
按一下新建。
-
在用戶端類型下拉式功能表中,選取單頁應用程式。將會顯示更多欄位。
-
插入名稱。描述為選填。
-
至少應選取核取方塊,以納入 user_default 範圍。您可以在設定中納入其他範圍,但沒有 user_default,安裝將無法運作。
請參閱 可用的 OAuth 範圍 瞭解每個可用範圍的完整描述。
-
在新增重新導向 URL 欄位中,插入租用戶的 URL,接著插入固定字串:/office-add-ins/oAuthLoginSuccess.html
結果應如下所示:https://YourServer/office-add-ins/oAuthLoginSuccess.html
-
按一下新增。
-
在新增允許來源欄位中,插入租用戶 URL,並按一下新增。
-
按一下建立。
-
就會顯示複製用戶端 ID 視窗。您可以選擇將用戶端 ID 複製到剪貼簿,或按一下完成以關閉視窗。
建立 OAuth 用戶端後,取得連結,從 管理 活動中心前往更新後的資訊清單 XML 檔案。前往設定頁面,並前往 管理 活動中心內的共用和報告 > Excel 增益集。使用此連結部署並安裝增益集。
如需更多關於產生資訊清單檔案以及部署並安裝增益集的資訊,請參閱:
為應用程式內容的匿名內嵌建立 OAuth 用戶端
若要使用 qlik-embed 內嵌應用程式內容以進行匿名存取,您需要建立專門為此使用情況設計之類型的 OAuth 用戶端。
請執行下列動作:
-
在 管理 活動中心內,前往 OAuth 區段。
-
按一下新建。
-
在用戶端類型下拉式功能表中,選取匿名內嵌。
-
輸入 OAuth 用戶端的名稱和描述 (選填)。
-
在允許的來源之下,輸入您需要授權的每個來源。這些網域將存取 Qlik Cloud 租用戶,以擷取內嵌分析的資訊。
插入每個 URL 後,按一下新增。
-
完成後,按一下建立。
-
按一下複製到剪貼簿以儲存用戶端 ID 以供之後使用。應用程式內容透過 qlik-embed 內嵌時將會需要。
-
按一下完成。
編輯 OAuth 用戶端
您可以重新命名 OAuth 用戶端、更新說明或管理重新導向 URL。
請執行下列動作:
- 在 管理 活動中心內,前往 OAuth。
- 找到您要編輯的 OAuth 用戶端。
- 按一下
然後選取編輯。
- 按需要修改 OAuth 用戶端選項。
- 按一下儲存。
刪除 OAuth 用戶端
若您不再需要 OAuth 用戶端或要撤銷存取權限,可以刪除 OAuth 用戶端。
請執行下列動作:
-
在 管理 活動中心內,前往 OAuth。
-
選取您要移除的一個或多個 OAuth 用戶端,然後按一下刪除。
- 確認刪除。
發佈 OAuth 用戶端
OAuth 用戶端最初會繫結至建立這些 OAuth 用戶端的租用戶。但是,您可以設定一個 OAuth 用戶端,以供相同區域內的多個租用戶共用。這讓第三方應用程式可以在不同的 Qlik Cloud 租用戶中使用相同的用戶端 ID。
應用程式擁有者可以輪換密碼並更新設定而沒有透過租用戶管理員互動。租用戶管理員不需要管理認證或瞭解已發佈用戶端的任何設定詳細資訊。
若要允許其他租用戶連線至 OAuth 用戶端,您必須發佈。
請執行下列動作:
- 在 管理 活動中心內,前往 OAuth。
- 找到您要發佈的 OAuth 用戶端。
- 按一下用戶端旁邊的
然後選取發佈。
- 按一下發佈以確認。
一旦發佈了 OAuth 用戶端,其他租用戶就可供外部使用。使用者造訪使用此 OAuth 用戶端的外部網站時,會向他們提示輸入租用戶主機名稱和使用者認證,除非使用者已經有作用中的 SaaS 工作階段。
初始登入需要租用戶管理員的同意。一旦獲得核准,OAuth 用戶端就會出現在租用戶的 管理 活動中心。
同意方法
預設情況下,Qlik Cloud 在驗證時會提示使用者同意。若要簡化流程,尤其是對於受信任的應用程式,您可以將同意方法設為「受信任」,即可略過同意提示。
您有兩個同意選項:
-
必需:OAuth 用戶端每次要求新的範圍時會向使用者提示同意。此方法可確保每個存取層級都有明確的使用者核准。
-
受信任:不會向使用者提示同意。此選項僅適用於未發佈的用戶端。對於已發佈的用戶端,同意方法永遠是必需,以維護多個租用戶的安全性。
變更同意方法
若要變更 OAuth 用戶端的同意方法,請執行下列操作:
- 在 管理 活動中心內,前往 OAuth。
- 在 OAuth 用戶端上,按一下
並選取變更同意方法。
- 選取必需或受信任,然後按一下變更同意方法。
檢視並複製 OAuth 設定
在 管理 活動中心的 OAuth 區段,選取檢視 OAuth 設定以顯示 Qlik Cloud 租用戶的驗證詳細資訊。這將顯示包含 OAuth 端點和設定的程式碼片段,以及您可以複製以用於外部應用程式的 URL。
您可以使用此設定來整合 Qlik Cloud 與第三方應用程式、自動化 API 存取或設定內嵌分析的驗證。
管理用戶端密碼
如果用戶端密碼外洩或您的安全性政策要求定期更新,則可能需要新增或移除密碼。為了避免停機,您可以新增多個用戶端密碼 (最多 5 個)、更新用戶端應用程式,然後移除舊密碼。
新增用戶端密碼
請執行下列動作:
- 在 管理 活動中心內,前往 OAuth。
- 找到 OAuth 用戶端。
- 按一下
然後選取管理密碼。
- 按一下產生新的用戶端密碼。
-
複製用戶端密碼和用戶端 ID,並安全儲存。
資訊備註您之後無法存取用戶端密碼。 - 按一下關閉。
移除用戶端密碼
請執行下列動作:
- 在 管理 活動中心內,前往 OAuth。
- 找到 OAuth 用戶端。
- 按一下
然後選取管理密碼。
- 按一下用戶端密碼旁邊的
。
- 按一下關閉。
建置 OAuth 用戶端應用程式以存取 Qlik Cloud
透過 Qlik Cloud 註冊 OAuth 用戶端之後,您可以在 OAuth 用戶端應用程式中使用相關的用戶端 ID 和用戶端密碼。
如需逐步指導,請參閱 Qlik 開發人員入口網站的 OAuth 概述區段中的教學課程。這些教學課程介紹如何使用熱門的程式化語言建立用戶端應用程式。