天天看點

使用API網關流控防攻擊API分組流控API流控設定

  api使軟體之間的通訊更加便捷,使得基于軟體支撐的商業模式得以落地,如移動支付,進而促進api經濟的繁榮。現在開放api服務已經成為軟體服務的主要趨勢,對于api提供者而言,api服務的安全性則是需要重點考慮的。但網際網路上的攻擊,或者某次促銷導緻流量暴增,超出服務承受能力的情況無可避免,在這種情況下,怎麼保護後端服務不受影響,服務不被中斷?

  api網關在設計之初,就重點考慮了安全性的問題,流控作為api網關的主要功能,能從api分組、api、使用者、app四個次元進行流量控制,當流量超過設定門檻值時,api網關會直接傳回錯誤資訊(錯誤碼403,有明确的因流控被拒的錯誤資訊)給請求者,不會再繼續調用api提供者的後端服務,進而保護了後端服務不被攻擊。同時我們還具有精準流控,實時生效的特點。

  每個api分組在建立的時候,預設設定了分組的qps為500,指該分組下所有api的qps之和為500,目前該值沒有開放給使用者編輯,如果該值不能滿足你的業務情況,請通過送出工單的方式聯系我們修改。

  api流控用于通道内的業務分層,api提供者可以根據後端服務能力和業務的重要程度來區分api,可分别設定不同的流量控制,以保證重要業務的延續性。api流控須小于分組流控。

  使用者流控用于在api上的使用者分層,api提供者可以為普通使用者設定流量控制,防止使用者間互相擠占資源。使用者流控須小于api流控。

  同理,app流控類似。app流控須小于使用者流控。

  具體操作方法如下:

使用API網關流控防攻擊API分組流控API流控設定
使用API網關流控防攻擊API分組流控API流控設定

  api流量控制指機關時間内的調用次數控制

  機關時間:目前支援分鐘、小時、天三個粒度的流量控制。

  分鐘:适合配置在調用頻繁,請求量大的api上,防攻擊,因為不能長時間中斷調用,是以機關時間不能設定太長。

  小時、天:級别的适合配置在敏感型api上,比如發短信api,擷取驗證碼api等,限制調用頻率。

  上面的流控是針對普通使用者設定的預設流控,如果還有例外的情況,我們支援給使用者和app設定特殊流控。特殊流控,主要用于對使用者或app分層,api提供者可以設定api上某個使用者(或某個app)的單獨流控,可以大于或小于使用者流控。

  在“流控管理”詳情頁面可分别添加“特殊應用”和“特殊阿裡雲使用者”的流控。

使用API網關流控防攻擊API分組流控API流控設定

  将政策綁定到api上,即可生效。針對不同環境的api(如測試、線上),可分别綁定不同的api政策。

使用API網關流控防攻擊API分組流控API流控設定
使用API網關流控防攻擊API分組流控API流控設定

繼續閱讀