全部產品
Search
文件中心

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

更新時間:Dec 27, 2024

當您的某個微服務應用有安全要求,不希望其它所有應用都能調用時,可以對調用該應用的其它應用進行鑒權,僅允許匹配鑒權規則的應用調用。

背景資訊

下面以一個樣本介紹服務鑒權的使用情境。

  • 未佈建服務鑒權

    Consumer 1、2、3和Provider在同一個命名空間內,Consumer 1、2和3預設可以調用Provider的所有Path(Path 1、2和3)。

    未佈建服務鑒權
  • 佈建服務鑒權
    • 設定所有Path的鑒權

      可以對Provider的所有Path設定鑒權規則,例如Provider所有Path對Consumer 1的鑒權方式設定為黑名單(拒絕調用),則Consumer 2、3的鑒權方式為白名單(允許調用)。

    • 設定指定Path的鑒權

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

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

    已佈建服務鑒權

建立服務鑒權規則

  1. 登入EDAS控制台

  2. 在左側導覽列,選擇微服務治理 > Spring Cloud
  3. Spring Cloud左側導覽列單擊服務鑒權
  4. 服務鑒權頁面單擊建立規則
  5. 建立規則面板設定服務鑒權參數,然後單擊確定
    服務鑒權-建立規則

    服務鑒權規則參數說明:

    參數說明
    微服务空间服務所在的地區微服務空間
    規則名稱鑒權規則名稱,支援大小寫字母、數字、底線(_)和短劃線(-),長度不超過64個字元。
    被呼叫者被調用的應用。
    被呼叫者架構被調用的應用所使用的架構,選擇Spring Cloud
    添加所有介面規則
    重要 所有介面的通用規則僅支援添加一次。
    被呼叫者介面預設為所有Path,且該參數值不可修改。
    鑒權方式服務鑒權的方式,包含白名單(允許調用)黑名單(拒絕調用),請根據實際鑒權需求選擇。
    調用方需要鑒權的調用方應用,可以單擊添加調用方設定多個需要鑒權的調用方應用。
    添加指定介面規則
    重要 指定介面添加的規則不是追加,而是覆蓋針對所有介面的通用規則,請謹慎配置。
    被呼叫者Path指定被調用應用的Path。
    鑒權方式服務鑒權的方式,包含白名單(允許調用)黑名單(拒絕調用),請根據實際鑒權需求選擇。
    調用方需要鑒權的調用方應用,可以單擊添加調用方設定多個需要鑒權的調用方應用。
    預設狀態規則的啟用開關。
    • 開啟:建立後即啟用,預設開啟。
    • 關閉:建立後不啟用,需要在服務鑒權頁面規則的操作列單擊開啟規則

結果驗證

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

後續步驟

服務鑒權規則建立完成後,您還可以編輯規則、根據規則的不同狀態關閉規則或開啟規則。當不再需要服務鑒權時,刪除規則。