如何建立有效的API安全策略(完結篇)

8、邊緣到端點的安全

對於微服務架構,需要考慮“邊緣到端點”的安全策略,具體如下圖6所示:

如圖6所示,外部API網關執行身份認證以及其他功能,例如內容檢查,然後使用諸如JSON web令牌之類的標準,將安全內容“注入”到API調用中。接下來,微網關可以使用此安全內容信息(包括API客戶端的屬性,如位置)執行細粒度授權。您也可以選擇,使用外部化訪問管理產品,來執行該細粒度授權,例如Axiomatics Policy Server。如果API調用得到了授權,那麼微網關會將它們傳遞給微服務本身。這是邊緣到端點安全策略的一個好處。這種體系結構的另一個優點是微服務到微服務之間的通信不需要經過外部網關層,也可以使用JSON web令牌。

六、下一步

如《如何建立有效的API安全策略(三)》中的圖4所示,API安全性的第一步是瞭解您的組織創建和使用的API。選擇適當的工具來保護這些API,通過使用功能方法來標識API安全策略中的步驟,然後將這些步驟映射到提供這些功能的產品(如《如何建立有效的API安全策略(二)》中的圖1、2和3所示)。

確保表1(見《如何建立有效的API安全策略(一)》)中列出的所有相關利益者都能看到這個過程。最後,抵制誘惑,不是自己去構建API安全策略,而是使用現成的產品(其中一些可能已經被您的組織部署了),從而來獲得API安全性的好處。

七、案例研究

在銀行業,第三方技術公司(通常是金融科技初創公司,稱爲“fintechs”)提供應用程序,從而爲最終用戶提供服務,如個人財務管理或賬戶彙總。這些應用程序一般通過一種被稱爲“屏幕抓取”的方法與銀行進行交互。請注意,剛剛提到的術語“屏幕抓取”的用法與以前用於用戶界面的光學字符識別(OCR)的用法不同。它以如下所述的方式工作:

1、用戶在第三方應用程序中輸入他們的網上銀行憑證。

2、第三方應用程序提供商使用這些憑證連接到在線銀行系統。

因爲這些應用程序可以代表用戶連接到多個銀行和投資服務,所以用戶憑證通常由應用程序提供商存儲。銀行自然而然會擔憂安全問題。實際上,銀行可以通過提供API的方式來控制第三方的訪問,一般有兩種實現方式:

1、應用程序提供商(例如fintechs)必須通過API開發者門戶網站註冊,才能使用銀行的API。

2、客戶登錄網上銀行系統,授權第三方應用程序從而代表他們來訪問銀行系統。通常使用OAuth 2.0版本。

具體如圖7所示:

站在銀行的角度,調用API的方法更佔優勢。首先,用戶憑證從不傳遞給第三方或由第三方存儲,從而限制了欺詐問題。其次,銀行還可以控制訪問,因爲API可能無法提供其在線銀行系統提供的相同功能,從而限制其範圍。再次,還可以應用API安全性(通常使用API網關)。然而,站在應用程序提供商的角度,很可能限制了其訪問數據的能力,因爲銀行控制着API。此外,fintechs可能認爲,要求用戶授權第三方應用程序來訪問的這種方式,會引入複雜度,從而使得調用API的方法處於弱勢。

銀行正在與第三方協商,讓對方同意通過API的方式訪問數據。Capital One Financial Corporation是一個成功的例子,它已經宣佈與財務管理公司Intuit達成協議,允許使用Intuit服務套件(包括QuickBooks Online、Mint和TurboTax)的Capital One客戶通過API安全地導入他們的財務數據,而無需共享登錄憑證。

許多國家的銀行業法規,特別是歐盟的PSD2,要求銀行開放用於訪問賬戶和支付狀態的API。這種情況下,銀行在開放API時(包括支持不同級別的訪問權限),嵌入API安全策略來保護這些API尤爲關鍵。

(完)

未經同意,本文禁止轉載或摘編。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章