一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問

騰訊安全發表於2021-08-09

01.背景介紹

透過騰訊雲 API 閘道器,開發者可以將來自 Serverless 無伺服器的雲函式 SCFCVM 上的 Web 服務、使用者自身的 Web 服務進行統一封裝並開放給終端使用者。終端使用者無論是移動客戶端、Web 客戶端、物聯網或其他應用,都可以透過 API 閘道器呼叫 API 服務。為了確保 API 呼叫的安全性,API 閘道器目前支援免鑑權、應用認證、OAuth2.0 三種方式。對於免鑑權方式,由於使用者無需鑑權即可透過API閘道器呼叫後臺業務,安全級別較低;對於應用認證方式,如果使用者數目變多,需要考慮應用的管理安全問題;對於 OAuth2.0 方式,需要開發者自建和維護認證伺服器。


騰訊數字身份管控平臺(EIAM)支援對使用者身份的集中管理、使用者認證、應用整合、SSO、授權管理、審計管理等能力,支援 SAMLCASJWTOIDCOAuth2.0 等多種協議,支援多種基於角色的訪問控制(RBAC)模型。採用 EIAM API 閘道器提供認證和鑑權能力可以為 API 呼叫提供更為安全和簡便的方式。

一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問


02.能力優勢                                                                                      
透過 EIAM  API 閘道器提供防護的能力,具有以下優勢

  • 使用標準 OAuth2.0 協議
  • 可一鍵建立授權 API 和業務 API,輕配置
  • EIAM 維護使用者目錄,免自建認證伺服器
  • 在認證能力基礎上支援鑑權功能,保護 API 安全
  • EIAM 內建多種 RBAC 模型,免自建鑑權伺服器和授權模型
  • 內建快取機制,更快的訪問速度

 

03.功能亮點簡析

1. API 閘道器新功能詳

  • 新增鑑權類

鑑權型別中新增 EIAM 認證型別,透過配置化組合滿足不同的客戶需求

  • 多種接入方

支援自動新建 EIAM 應用、自動關聯已建 EIAM 應用

  • 不同粒度的認證與鑑

支援選擇只認證不鑑權、既認證又鑑權

  • 多端 API 呼叫適

支援適用於非 Web 客戶端(如伺服器端、APP 客戶端、小程式客戶端等)、Web 客戶端(瀏覽器、web viewer 等)發起的API 呼叫;

一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問

 
2. EIAM 新功能詳

  • 應用型別支

支援建立 API 閘道器應用型別,支援 OAuth2 + JWT 結合方式對 API 呼叫進行認證和鑑權支援

  • 資源級授權支

支援按照組組織機構、使用者組、使用者進行 API 級的授權

  • 鑑權支

OAuth2 輸出增加 id_token,帶有 scope,支援返回使用者資訊和當前使用者可訪問的 API 列表;


04.配置流程

透過 EIAM  API 閘道器提供防護能力包括 3 個步驟:    1. 建立 API 釋出服務;    2.  API 進行授權;    3. 從客戶端訪問API

一文了解如何使用數字身份認證平臺 EIAM 保護 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 保護 API 閘道器訪問

  • 鑑權型別選擇 EIAM 認證
  • 接入方式選擇新建 EIAM 應用,會在 EIAM 自動建立 API 閘道器應用
  • 既認證又鑑權
  • EIAM 應用型別選擇非 Web 客戶端


3. 完成前端配置後,進入後端配置

  • 公網 URL/IP 的後端型別,填寫應用域名、後端路徑、請求方式選擇 GET 等資訊

一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問

4. 選擇響應結果型別 

一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問

第二步:對 API 進行授權(EIAM

1.     進入 EIAM 的控制檯 --> 資源級授權;2. 選擇使用者授權 Tab 頁,選擇 API 閘道器應用;3. 選擇新增授權;

一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問


4. 選擇使用者 “user001”  “userName_11” 進行授權;

一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問

5. 授權完成後,可以在資源級授權頁面看到授權結果  

 一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問

第三步:從客戶端訪問 API

採用 postman 的方式對非 Web 客戶端對 API 的呼叫進行驗證。1. 對於未完成授權的用

  • 獲取 id token

一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問

  • 鑑權驗證,返回結果 “Access not authorized”

一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問

2. 對於完成授權的用

  • 解析 id token 內容,可以檢視對應使用者身份為 user001

一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問


  • 鑑權驗證,返回結果 “Work!!!,即可以進行 API 的呼叫

一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問

透過 3 步簡單配置,即可快速完成 EIAM + API 閘道器聯合方案的配置,無需自建認證伺服器、鑑權伺服器,即可為您的業務 API 呼叫提供認證與鑑權能力。在未來,透過 EIAM 對多種授權模型的支援可以為 API 閘道器後防護的業務 API 提供更為細粒度的訪問控制能力,讓開發者聚焦關注自身業務開發

 05.直播預告,參與有禮 

參與直播互動,將有機會 免費獲得 騰訊影片 VIP 月卡 1 張! 16 日,晚 7 點見!

 一文了解如何使用數字身份認證平臺 EIAM 保護 API 閘道器訪問

相關文章