全部產品
Search
文件中心

Enterprise Distributed Application Service:使用服務鑒權實現Dubbo應用的存取控制

更新時間:Nov 27, 2024

當您的某個微服務應用有安全要求時,您可以對該應用進行介面或方法粒度的存取控制,對調用方進行訪問鑒權,僅允許匹配鑒權規則的調用方發起調用,以此提高應用的安全性。本文介紹如何使用服務鑒權實現Dubbo應用的存取控制。

使用情境

未佈建服務鑒權

  • 同一命名空間內的服務可以相互調用,Consumer 1、Consumer 2和Consumer 3預設可以調用Provider的所有Path(Path 1、Path 2和Path 3)。
  • 使用MSE網關對Consumer服務進行路由轉寄,Gateway 1和Gateway 2可以調用Consumer 1、Consumer 2、Consumer 3三個應用執行個體。
未佈建服務鑒權

佈建服務鑒權

  • 設定所有介面的鑒權
    • 對Provider的所有介面設定鑒權規則。例如,Provider設定所有介面鑒權規則為:將Consumer 1加入黑名單(拒絕訪問),Consumer 2、Consumer 3加入白名單(允許調用)。
    • 對Consumer的所有介面設定鑒權規則。例如,Consumer 1隻允許Gateway 1的調用,Consumer 2、Consumer 3隻允許Gateway 2的調用,需進行如下操作。
      • Consumer 1設定所有介面鑒權規則,將Gateway 1加入白名單(允許調用)。
      • Consumer 2、Consumer 3設定所有介面鑒權規則,將Gateway 2加入白名單(允許調用)。
  • 設定指定介面的鑒權

    在設定所有Path的鑒權基礎上,還可設定Consumer指定Path的鑒權規則。例如,在設定所有Path的鑒權方式下,Consumer 2、Consumer 3可以訪問Provider的所有Path,但Provider的Path 2涉及一些核心業務或資料,不希望Consumer 2調用,可以將Path 2對Consumer 2的鑒權方式設定為黑名單(拒絕調用),則Consumer 2隻能訪問Provider的Path 1和Path 3。

設定鑒權規則的調用示意圖如下所示。

已佈建服務鑒權
說明
  • 對於作為Readiness或Liveness健康探針的介面,為避免因服務鑒權規則導致應用健全狀態檢查失敗,請設定該介面的鑒權方式白名單(允許調用),且調用方任意來源
  • 對於在EDAS服務鑒權規則中引用的MSE網關執行個體,EDAS會預設開啟網關外掛程式edas-service-auth。請勿在MSE網關管理主控台隨意更改該外掛程式的開啟狀態和配置內容。

建立服務鑒權規則

  1. 登入EDAS控制台

  2. 在左側導覽列,選擇流量管理 > 微服務治理 > Dubbo

  3. Dubbo左側導覽列,單擊服務鑒權

  4. 服務鑒權頁面,單擊建立規則

  5. 建立規則面板設定服務鑒權參數,然後單擊確定

    服務鑒權-建立規則-Dubbo

    服務鑒權規則參數說明:

    配置項

    說明

    微服務空間

    服務所在的地區微服務空間

    規則名稱

    鑒權規則名稱,支援大小寫字母、數字、底線(_)和短劃線(-),長度不超過64個字元。

    被呼叫者類型

    預設為應用

    被呼叫者(應用)

    被調用的應用。

    被呼叫者架構

    被調用的應用所使用的架構,選擇Dubbo

    添加所有介面規則

    重要

    所有介面的通用規則僅支援添加一次。

    被呼叫者介面

    預設為所有服務 / 所有介面,且該參數值不可修改。

    鑒權方式

    服務鑒權的方式。包含白名單(允許調用)黑名單(拒絕調用),請根據實際鑒權需求選擇。

    調用方

    需要鑒權的調用方。

    調用方類型:應用網關任意來源。您可按需選擇EDAS應用和MSE網關作為需要鑒權的調用方,也可選擇任意來源將介面完全公開。

    說明
    • 應用網關可同時選擇,您可添加多個應用和多個網關。

    • 任意來源應用網關互斥。

    添加指定介面規則

    重要

    指定介面添加的規則不是追加,而是覆蓋針對所有介面的通用規則,請謹慎配置。

    被呼叫者介面

    指定被調用應用的服務和介面。

    鑒權方式

    服務鑒權的方式,包含白名單(允許調用)黑名單(拒絕調用),請根據實際鑒權需求選擇。

    調用方

    需要鑒權的調用方。

    調用方類型:應用網關任意來源。您可按需選擇EDAS應用和MSE網關作為需要鑒權的調用方,也可選擇任意來源將介面完全公開。

    說明
    • 應用網關可同時選擇,您可添加多個應用和多個網關。

    • 任意來源應用網關互斥。

    預設狀態

    規則的啟用開關。

    • 開啟:建立後即啟用,預設開啟。

    • 關閉:建立後不啟用,需要在服務鑒權頁面規則的操作列,單擊開啟規則

結果驗證

服務鑒權規則配置完成且開啟後,請根據實際業務驗證服務鑒權規則是否生效。

相關操作

服務鑒權規則建立完成後,您還可以在服務鑒權頁面,單擊對應規則操作列的編輯開啟關閉以及刪除,對規則進行管理。