簡體   English   中英

wso2 api管理器安全的公共API

[英]wso2 api manager secure public API

我設計了一個帶有JSON的公共REST API,該API主要用於本機移動應用程序。 應該訂閱該API的應用程序沒有任何用戶名/密碼登錄機制,因為它應該是公共的。

該API是使用版本2.1.0中的WSO2 API Manager設計的,應用程序應建立TLSv1.2可信連接才能使用服務。

后端的API正在訂閱具有相互TLS身份驗證的內部REST API。

目前,該API的OAuth2已禁用,我正在考慮如何使用它,以便獲得更高的保證並確定嘗試使用該API的端點。

從我的角度來看,在這種情況下,我可以使用的唯一OAuth2授權類型是“客戶端證書”,在該應用程序中,應用程序可以獲取其使用者密鑰和使用者機密以請求訪問令牌。 但是可以從應用程序源代碼或配置中獲取。

由於沒有用戶名/密碼機制,因此無法使用隱式授予類型。

在這種情況下如何使用API​​ Manager?

對於相互SSL,您可以參考以下博客文章。

http://ishara-cooray.blogspot.com/2016/07/how-to-secure-your-backend-services-and.html

這是博客文章中的重要部分。

配置API Manager以啟用動態SSL配置文件

要為HHTPS傳輸發件人配置用於動態SSL配置文件的APIM,您需要創建一個新的XML文件/repository/deployment/server/multi_ssl_profiles.xml(此路徑是可配置的)並將以下配置復制到其中,這將配置客戶端信任庫.jks作為所有10.100.5.130:9443連接的信任庫

 <parameter name="customSSLProfiles"> <profile> <servers>10.100.5.130:9443</servers> <TrustStore> <Location>repository/resources/security/client-truststore.jks </Location> <Type>JKS</Type> <Password>wso2carbon</Password> </TrustStore> </profile> </parameter> 

要啟用此配置的動態加載,請將以下配置添加到API管理器({AM_HOME} /repository/conf/axis2.xml)的傳輸發件人配置(PassThroughHttpSSLSender)中。 將以上文件路徑設置為“ filePath”參數。

 <parameter name="dynamicSSLProfilesConfig"> <filePath>repository/deployment/server/multi_ssl_profiles.xml</filePath> <fileReadInterval>3600000</fileReadInterval> </parameter> <parameter name="HostnameVerifier">AllowAll</parameter> 

現在,后端服務和ESB均已配置為使用默認密鑰存儲,並且API Manager已配置為加載動態SSL配置文件。 重新啟動API管理器。 它將在控制台中顯示以下消息,確認已加載動態配置。

ClientConnFactoryBuilder customSSLProfiles配置是從以下路徑加載的:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM