天天看點

開源API網關APINTO:應用管理

作者:大楓林2

問題:

公司的業務系統比較多,各種業務系統彼此調用,還有調用了第三方廠商的OpenAPI,現在公司面臨着無法監控這些系統的調用關系以及調用量統計。更為關鍵的是,這些系統的鑒權不統一,每次開辟一條業務線,新上線系統必須與其他系統聯調,新加盟的經銷商同樣面臨着這些問題,對研發和運維來說,效率極其低下。

Apinto網關提出應用管理概念,統一管理應用及其生命周期。應用作為業務通訊的發起者角色,始終貫穿着整個調用鍊,Apinto網關對應用請求的流量進行鑒權認證,并對其所請求的流量進行服務治理,同時還對其監控告警,統計應用調用情況。

Apinto網關中的應用管理完美解決公司管理各業務系統所面臨的問題,這也是上司贊美Apinto網關的其中一個方面,那接下來就把最近研究的Apinto的應用管理子產品詳細介紹一下。

配置:

2.1 應用清單

開源API網關APINTO:應用管理
  • 網關通過請求流量中的鑒權資訊,來識别是哪個應用,應用必須上線到指定的網關叢集且是未禁用狀态時才真正生效。
  • 網關對匿名應用和其他應用處理邏輯:
  • 當沒有應用上線(包括匿名應用),此時不需要鑒權,所有請求被放行
  • 當有應用上線,此時匿名應用開啟上線,此時可鑒權可不鑒權,若鑒權失敗,則走匿名應用邏輯
  • 當有應用上線,此時匿名應用開啟上線,且給匿名應用配置了通路政策,僅允許匿名應用通路生效範圍内的API,其他API請求都需要應用鑒權
  • 當有應用上線,此時匿名應用禁用下線,此時必須要做鑒權

2.2 配置帶有鑒權資訊的test應用并上線

開源API網關APINTO:應用管理

2.3 下線匿名應用,測試test應用調用情況

開源API網關APINTO:應用管理

下線匿名應用并且禁用掉,那麼不帶test這個應用的鑒權,調用testAPI這個API是調不通的報403,看結果:

開源API網關APINTO:應用管理

在請求頭加上test應用的鑒權資訊,應該可以成功調用,看結果:

開源API網關APINTO:應用管理

測試結果如預期一般,必須帶有鑒權資訊且是正确的鑒權才可以調用API。

下回研究應用的監控調用統計,到時候分享給大家。

  1. 總結:

對于公司來說,必須監控誰安全合規調用了業務API,什麼時段的調用量。

好東西必須關注,好了,省得大家去搜,直接提供github位址。

開源位址:https://github.com/eolinker/apinto

繼續閱讀