01.背景介紹
透過騰訊雲 API 閘道器,開發者可以將來自 Serverless 無伺服器的雲函式 SCF、CVM 上的 Web 服務、使用者自身的 Web 服務進行統一封裝並開放給終端使用者。終端使用者無論是移動客戶端、Web 客戶端、物聯網或其他應用,都可以透過 API 閘道器呼叫 API 服務。為了確保 API 呼叫的安全性,API 閘道器目前支援免鑑權、應用認證、OAuth2.0 三種方式。對於免鑑權方式,由於使用者無需鑑權即可透過API閘道器呼叫後臺業務,安全級別較低;對於應用認證方式,如果使用者數目變多,需要考慮應用的管理安全問題;對於 OAuth2.0 方式,需要開發者自建和維護認證伺服器。
騰訊數字身份管控平臺(EIAM)支援對使用者身份的集中管理、使用者認證、應用整合、SSO、授權管理、審計管理等能力,支援 SAML、CAS、JWT、OIDC、OAuth2.0 等多種協議,支援多種基於角色的訪問控制(RBAC)模型。採用 EIAM 為API 閘道器提供認證和鑑權能力可以為 API 呼叫提供更為安全和簡便的方式。
02.能力優勢
透過 EIAM 為 API 閘道器提供防護的能力,具有以下優勢:
- 使用標準 OAuth2.0 協議;
- 可一鍵建立授權 API 和業務 API,輕配置;
- EIAM 維護使用者目錄,免自建認證伺服器;
- 在認證能力基礎上支援鑑權功能,保護 API 安全;
- EIAM 內建多種 RBAC 模型,免自建鑑權伺服器和授權模型;
- 內建快取機制,更快的訪問速度;
03.功能亮點簡析
1. API 閘道器新功能詳解
鑑權型別中新增 EIAM 認證型別,透過配置化組合滿足不同的客戶需求;
支援自動新建 EIAM 應用、自動關聯已建 EIAM 應用;
支援選擇只認證不鑑權、既認證又鑑權;
支援適用於非 Web 客戶端(如伺服器端、APP 客戶端、小程式客戶端等)、Web 客戶端(瀏覽器、web viewer 等)發起的API 呼叫;
2. EIAM 新功能詳解
支援建立 API 閘道器應用型別,支援 OAuth2 + JWT 結合方式對 API 呼叫進行認證和鑑權支援;
支援按照組組織機構、使用者組、使用者進行 API 級的授權;
OAuth2 輸出增加 id_token,帶有 scope,支援返回使用者資訊和當前使用者可訪問的 API 列表;
04.配置流程
透過 EIAM 為 API 閘道器提供防護能力包括 3 個步驟: 1. 建立 API 釋出服務; 2. 對 API 進行授權; 3. 從客戶端訪問API;
從業務場景上,終端使用者對於 API 呼叫的發起方可能為非 Web 客戶端(如伺服器端、C/S 架構系統客戶端、App 客戶端、小程式客戶端)、Web 客戶端(如瀏覽器、Web Viewer)。非Web 客戶端能支援以 POST 方式發起請求,Web 客戶端支援以 Web 重定向方式接收返回資訊。下文以非 Web 客戶端為例說明配置流程。
第一步:建立 API 釋出服務
1. 進入 API 閘道器的控制檯 --> 服務選單 --> 管理 API Tab 頁面
- API 閘道器控制檯地址:https://console.cloud.tencent.com/apigateway
2. 點選新建 API 進入前端配置
- 鑑權型別選擇 EIAM 認證;
- 接入方式選擇新建 EIAM 應用,會在 EIAM 自動建立 API 閘道器應用;
- 既認證又鑑權;
- EIAM 應用型別選擇非 Web 客戶端;
3. 完成前端配置後,進入後端配置;
- 公網 URL/IP 的後端型別,填寫應用域名、後端路徑、請求方式選擇 GET 等資訊;
4. 選擇響應結果型別
第二步:對 API 進行授權(EIAM)
1. 進入 EIAM 的控制檯 --> 資源級授權;2. 選擇使用者授權 Tab 頁,選擇 API 閘道器應用;3. 選擇新增授權;
4. 選擇使用者 “user001” 和 “userName_11” 進行授權;
5. 授權完成後,可以在資源級授權頁面看到授權結果
第三步:從客戶端訪問 API
採用 postman 的方式對非 Web 客戶端對 API 的呼叫進行驗證。1. 對於未完成授權的用戶
- 鑑權驗證,返回結果 “Access not authorized”;
2. 對於完成授權的用戶
- 解析 id token 內容,可以檢視對應使用者身份為 user001;
- 鑑權驗證,返回結果 “Work!!!”,即可以進行 API 的呼叫;
透過 3 步簡單配置,即可快速完成 EIAM + API 閘道器聯合方案的配置,無需自建認證伺服器、鑑權伺服器,即可為您的業務 API 呼叫提供認證與鑑權能力。在未來,透過 EIAM 對多種授權模型的支援可以為 API 閘道器後防護的業務 API 提供更為細粒度的訪問控制能力,讓開發者聚焦關注自身業務開發。
05.直播預告,參與有禮
參與直播互動,將有機會 免費獲得 騰訊影片 VIP 月卡 1 張!8 月 16 日,晚 7 點見!