全部產品
Search
文件中心

Alibaba Cloud Service Mesh:在ASM安全性原則中配置自訂授權服務

更新時間:Jun 30, 2024

當您需要按照自身需求定製存取控制策略時,可以在ASM安全性原則中配置自訂授權服務,將請求轉寄至指定的自訂授權服務進行鑒權,便於實現更加複雜的鑒權邏輯,減少開發和維護成本,提高開發效率。

前提條件

操作步驟

  1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇網格資訊安全中心 > ASM安全性原則

  3. ASM安全性原則頁面,單擊建立。在建立ASM安全性原則對話方塊,單擊自訂授權服務,然後單擊確定

  4. 建立自訂授權服務頁面的自訂授權服務配置設定精靈,單擊基於envoy.ext_authz實現的自訂授權服務(HTTP或gRPC協議)頁簽,進行相關配置,然後單擊下一步

    本樣本配置如下。關於配置項的說明,請參見接入HTTP協議的自訂授權服務基本資料在鑒權請求中攜帶header鑒權通過/失敗時覆蓋Header

  5. 工作負載和匹配規則設定精靈,單擊添加工作負載組。在建立工作負載組對話方塊,進行相關配置,然後單擊提交

    本樣本配置如下。

    配置項

    說明

    工作負載組名稱

    配置為test-policy

    工作負載列表

    1. 單擊添加工作負載

    2. 添加工作負載對話方塊,選中工作負載生效,選擇命名空間default工作負載類型Service

    3. 選擇負載地區,選中productpage,單擊添加表徵圖,將選中的負載添加到已選擇地區,然後單擊確定

    匹配規則列表

    匹配模式選擇選中請求必須經過鑒權匹配規則選中自訂匹配規則,然後開啟HTTP路徑(Path)開關,配置為/productpage

    建立工作負載組

    建立成功後,在完成設定精靈,會顯示ASM安全性原則建立成功。您可以單擊查看YAML查看建立的資源,也可以單擊完成,返回ASM安全性原則頁面,查看新建立的安全性原則。

  6. 驗證自訂授權配置是否生效。

    1. 執行以下命令,請求中攜帶x-ext-authz: allow,訪問productpage服務。

      curl -I -H "x-ext-authz: allow" http://${ASM網關IP地址}/productpage

      預期輸出:

      HTTP/1.1 200 OK
      content-type: text/html; charset=utf-8
      content-length: 5288
      server: istio-envoy
      date: Tue, 17 Jan 2023 07:53:14 GMT
      x-envoy-upstream-service-time: 20

      預期輸出表明觸發鑒權且鑒權通過。

    2. 執行以下命令,請求中攜帶x-ext-authz: deny,訪問productpage服務。

      curl -I -H "x-ext-authz: deny" http://${ASM網關IP地址}/productpage

      預期輸出:

      HTTP/1.1 403 Forbidden
      x-ext-authz-check-result: denied
      date: Tue, 17 Jan 2023 07:55:27 GMT
      server: istio-envoy
      x-envoy-upstream-service-time: 2
      transfer-encoding: chunked

      預期輸出表明觸發鑒權但鑒權未通過。

    以上結果表明自訂授權配置生效。

相關操作