跳至主要内容

Pod Security Admission (PSA) 配置範本

Pod Security admission (PSA) 配置範本是 Rancher 自訂資源 (CRD),在 Rancher v2.7.2 及更高版本中可用。這些範本提供您可以應用於叢集的預先定義安全配置:

重要

Rancher 預設提供的政策旨在在安全性和便利性之間提供權衡。如果需要更嚴格的政策配置,使用者可以根據其特定要求自行制定此類政策。如果首選 Rancher 政策,您將需要部署準入控制器,以阻止建立任何不會在您的環境中使用的豁免命名空間。

  • rancher-privileged: 最寬鬆的配置。它不限制任何 Pod 的行為。這允許已知的權限升級。此政策沒有豁免。
  • rancher-restricted: 遵循當前強化 Pod 的最佳實踐的嚴格限制配置。您必須為 Rancher 元件進行命名空間層級豁免。

分配 Pod Security Admissions (PSA) 配置範本​

您可以在建立下游叢集的同時分配 PSA 範本。您也可以透過配置現有叢集來新增範本。

在建立叢集時分配範本​

  1. 在左上角,點擊 ☰ > 叢集管理。
  2. 在叢集頁面上,點擊建立按鈕。
  3. 選擇提供者。
  4. 在叢集:建立頁面上,前往基本 > 安全性。
  5. 在 Pod Security Admission 配置範本下拉選單中,選擇您要分配的範本。
  6. 點擊建立。

將範本分配給現有叢集​

  1. 在左上角,點擊 ☰ > 叢集管理。
  2. 在叢集表中找到您要更新的叢集,然後點擊 ⋮。
  3. 選擇編輯配置。
  4. 在 Pod Security Admission 配置範本下拉選單中,選擇您要分配的範本。
  5. 點擊儲存。

新增或編輯 Pod Security Admissions (PSA) 配置範本​

如果您具有管理員權限,您可以透過建立額外的 PSA 範本或編輯現有範本來自訂安全限制和權限。

警告

如果您在 PSA 範本仍在使用時進行編輯,變更將應用於已分配給該範本的所有叢集。

  1. 在左上角,點擊 ☰ > 叢集管理。
  2. 點擊進階以開啟下拉選單。
  3. 選擇 Pod Security Admissions。
  4. 找到您要修改的範本,然後點擊 ⋮。
  5. 選擇編輯配置以編輯範本。
  6. 完成編輯配置後,點擊儲存。

允許非管理員使用者管理 PSA 範本​

如果您想允許其他使用者管理範本,您可以將該使用者繫結到授予 management.cattle.io/podsecurityadmissionconfigurationtemplates 所有動詞 ("*") 的角色。

警告

繫結到上述權限的任何使用者都將能夠變更使用給定 PSA 範本的_所有_受管理叢集的限制層級,包括他們沒有權限的叢集。

豁免所需的 Rancher 命名空間​

當您在預設強制執行限制性安全政策的 Kubernetes 叢集上執行 Rancher 時,您需要豁免以下命名空間,否則該政策可能會阻止 Rancher 系統 Pod 正常執行。

  • calico-apiserver
  • calico-system
  • cattle-alerting
  • cattle-csp-adapter-system
  • cattle-elemental-system
  • cattle-epinio-system
  • cattle-externalip-system
  • cattle-fleet-local-system
  • cattle-fleet-system
  • cattle-gatekeeper-system
  • cattle-global-data
  • cattle-global-nt
  • cattle-impersonation-system
  • cattle-istio
  • cattle-istio-system
  • cattle-logging
  • cattle-logging-system
  • cattle-monitoring-system
  • cattle-neuvector-system
  • cattle-prometheus
  • cattle-provisioning-capi-system
  • cattle-resources-system
  • cattle-sriov-system
  • cattle-system
  • cattle-ui-plugin-system
  • cattle-windows-gmsa-system
  • cert-manager
  • cis-operator-system
  • fleet-default
  • fleet-local
  • ingress-nginx
  • istio-system
  • kube-node-lease
  • kube-public
  • kube-system
  • longhorn-system
  • rancher-alerting-drivers
  • security-scan
  • sr-operator-system
  • tigera-operator

Rancher、一些 Rancher 擁有的圖表以及 RKE2 和 K3s 發行版都使用這些命名空間。列出的命名空間的子集已經在內建的 Rancher rancher-restricted 政策中豁免,以便在下游叢集中使用。有關包含執行 Rancher 所需的所有豁免的完整範本,請參閱此範例 Admission 配置。

豁免命名空間​

如果您將 rancher-restricted 範本分配給叢集,預設情況下,限制會在命名空間層級應用於整個叢集。要豁免某些命名空間免受此高度限制政策的影響,請執行以下操作:

  1. 在左上角,點擊 ☰ > 叢集管理。
  2. 點擊進階以開啟下拉選單。
  3. 選擇 Pod Security Admissions。
  4. 找到您要修改的範本,然後點擊 ⋮。
  5. 選擇編輯配置。
  6. 點擊豁免下的命名空間核取框以編輯命名空間欄位。
  7. 完成豁免命名空間後,點擊儲存。
備註

您需要更新目標叢集,以使新範本在該叢集中生效。可以透過編輯和儲存叢集而不變更值來觸發更新。