Azure API Management (2) API Managment 保護內網服務,且通過JWT驗證 Windows Azure Platform 系列文章目錄

  《Windows Azure Platform 系列文章目錄

 

  之前客戶有1個需求,我這裏研究了一下可以實現,先記錄一下。

 

  環境準備:

  • 創建1個新的Azure資源組,創建Azure VNet,有2個Subnet
    • subnet-1部署API Management
    • subnet-2部署一臺Azure VM。這臺VM僅有內網IP地址
  • 在Azure VM上準備一個HTPP API,返回一串JSON,具體如下圖:

  

 

 

  搭建API Management

  1.設置SKU爲Developer,注意:僅爲演示使用,Developer SKU沒有SLA保障。

  設置API Management name,訪問URL如下:

  

 

  2.選擇與VNet集成,Type爲External,即該API Management提供公網訪問,我們需要配置加入到subnet-1,如下圖:

  

 

  3.等待API Management創建完畢

  4.創建完畢後,選擇API Management,點擊API,點擊Add API,點擊HTTP API。圖略

  5.在Web Service URL輸入虛擬機內網IP地址。如下圖:

   

 

  6.增加Operation,如下圖:

  

 

   7.增加Action,如下圖:

  

 

  8.修改API Inbound Rule,設置All APIs,針對所有API都生效

  

 

  9.在彈出的窗口中,選擇CORS。Allowed Origins設置爲*,點擊保存

 

  10.然後繼續點擊步驟5中的Inbound Processing,點擊Add Policy,選擇Full

  修改下面1-5部分

  

 

  11.登錄到http://tool.chinaz.com/Tools/Base64.aspx

  12.在左邊輸入字符:PasswordMSFTleizhang20211109,把該字符設置爲Base64編碼

  把下圖右側部分,複製到上面步驟10的截圖5裏

  

 

  13.然後打開https://jwt.io/,在下圖箭頭部分,輸入步驟11中,被base64編碼後的值

  勾選下圖的secret based64 encoded,再把下圖中左側encoded部分複製到剪切板

   

 

  14.複製API Management的build in access key,如下圖

   

 

  

15.最後,我們打開postman,輸入訪問的url

方法爲GET。訪問地址在步驟1說明了

Ocp-apim-subscription-key的值,在步驟14中複製了

Authorization,設置爲Bearer[空格]AccessKey,這裏的Access Key,就是步驟13的左側部分

 

   訪問結果就是我們需要的JSON內容

  

 

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