全部產品
Search
文件中心

Alibaba Cloud Service Mesh:為叢集開啟強制注入Sidecar安全性原則

更新時間:Apr 22, 2025

ACK安全性原則管理功能提供了符合Kubernetes容器應用情境的安全性原則規則。其中,新增了ASM限制Pod必須注入ASM Sidecar策略,進一步提升接入ASM的叢集安全性。本文介紹如何在ACK叢集中開啟強制注入Sidecar策略以及示範此策略開啟後的效果。

背景資訊

策略治理

自Kubernetes 1.21起,PodSecurityPolicy(PSP)被標記為棄用(Deprecated)狀態。為此,ACK升級了原先基於PSP的策略管理功能。基於使用OPA策略的Gatekeeper Admission Controller,ACK擴充了相應的策略治理狀態統計、日誌上報檢索等能力,同時內建了種類豐富的策略治理規則庫,提供符合更多Kubernetes應用情境的策略規則。在規則配置上,您可以在控制台上白屏化配置,降低使用原則治理相關能力的門檻。

策略類型包括以下大類:

  • Infra:基礎設施層資源相關的策略類型。

  • Compliance:基於阿里雲K8s加固等Kubernetes合規規範定製的策略類型。

  • PSP:替代Pod Security Policy(PSP)能力的策略類型。

  • K8s-general:基於最佳安全實踐對Kubernetes資源配置進行安全強化約束的通用策略類型。

Sidecar注入

Sidecar所支援的功能可以從應用程式的容器中抽象出來,並在作為同一Pod中的獨立容器提供的代理中實現。為了充分利用這些功能,應用程式中的每個服務都需要在其Pod中運行一個Sidecar代理。Sidecar代理攔截到該服務的所有入站和出站TCP通訊,並與Service MeshASM控制面通訊。

前提條件

  • 叢集版本為v1.16及以上。如需升級叢集,請參見手動升級叢集

  • 如需使用RAM使用者進行策略管理時,請確保該RAM使用者擁有以下授權:

    • cs:DescribePolicies:列舉策略治理規則庫列表

    • cs:DescribePoliceDetails:擷取策略規則模板詳情

    • cs:DescribePolicyGovernanceInCluster:擷取叢集策略治理詳情

    • cs:DescribePolicyInstances:擷取叢集中當前部署的策略執行個體列表

    • cs:DescribePolicyInstancesStatus:擷取叢集當前不同策略類型對應的執行個體部署狀態

    • cs:DeployPolicyInstance:在指定叢集中部署策略規則執行個體

    • cs:DeletePolicyInstance:在指定叢集中刪除策略規則執行個體

    • cs:ModifyPolicyInstance:在指定叢集中修改策略規則執行個體

    關於如何自訂RAM授權策略,請參見使用RAM授予叢集及雲資源存取權限

配置方式

叢集添加到ASM執行個體後,預設不會開啟命名空間級的自動注入。若叢集中開啟了此策略,相關命名空間Pod的建立動作不會成功或建立後叢集會收到高危安全警告,併產生對應違規審計的警示日誌。配置流程如下:

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集列表

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇安全管理 > 策略管理

  3. 策略管理頁面,按頁面提示完成組件的安裝或升級(如有),然後按需進行以下開啟操作。

    1. 從安全性原則列表開啟強制注入策略。

      1. 單擊我的策略頁簽,查看叢集所有可部署的策略名稱稱。

      2. 在策略列表中找到ASMSidecarInjectionEnforced策略,點擊條目右側操作列的開啟

      3. 按照以下內容填寫策略配置,然後單擊建立

        配置項

        說明

        實施動作

        您可以根據實際需求選擇:

        • 攔截:違反策略規則約束的指定資源部署會被攔截。

        • 警告:違反策略規則約束的指定資源仍舊可以部署,只會產生對應違規審計的警示日誌。

        作用範圍

        指定策略執行個體實施在叢集中哪些命名空間,您也可以選擇在所有命名空間(不推薦)。

        參數配置

        留空即可。

    2. 直接建立策略執行個體。

      單擊我的策略頁簽,然後單擊建立策略執行個體,在建立策略執行個體對話方塊配置相關參數。

      配置項

      說明

      策略類型

      選擇策略類型infra。更多資訊,請參見容器安全性原則規則庫說明

      策略名稱稱

      根據選擇的策略類型,在策略名稱稱下拉式清單中選擇ASMSidecarInjectionEnforced原則範本名稱。

      實施動作

      您可以根據實際需求選擇:

      • 攔截:違反策略規則約束的指定資源部署會被攔截。

      • 警告:違反策略規則約束的指定資源仍舊可以部署,只會產生對應違規審計的警示日誌。

      作用範圍

      指定策略執行個體實施在叢集中哪些命名空間,您也可以選擇在所有命名空間(不推薦)。

      參數配置

      留空即可。

  4. 驗證策略。

    1. default命名空間未開啟自動注入,同時ACK開啟強制注入策略,實施動作選擇攔截

      1. 部署httpbin應用

      2. 查看工作負載。

        可以看到容器組建立失敗。

        image

      3. 單擊策略實施總覽頁簽,在近7天策略實施記錄列表中出現了攔截記錄。

        image

    2. 編輯策略,修改實施動作警告

      1. 重新部署httpbin應用。

      2. 查看工作負載。

        可以看到應用部署成功。

        image

      3. 單擊策略實施總覽頁簽,在近7天策略實施記錄列表中出現了警告記錄。

        image