Azure API Management (2) API Managment 保護內網服務,且通過JWT驗證


  《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內容

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM