Pod 安全准入 (PSA) 配置模板

Pod Security admission (PSA) 配置模板是 Rancher 自定义资源 (CRD),在 Rancher v2.7.2 及更高版本中可用。这些模板提供了可应用于集群的预定义安全配置:

  • rancher-privileged:最宽松的配置。它不限制任何 Pod 行为,允许已知的权限升级。该策略没有豁免。
  • rancher-restricted:严格限制的配置,遵循当前加固 pod 的最佳实践。你必须对 Rancher 组件进行命名空间级别豁免

分配 Pod 安全准入 (PSA) 配置模板

你可以在创建下游集群的同时分配 PSA 模板。你还可以通过配置现有集群来添加模板。

在集群创建期间分配模板

  • RKE2 和 K3s
  • RKE1
  1. 在左上角,单击 ☰ > 集群管理
  2. 集群页面上,单击创建按钮。
  3. 选择提供商。
  4. 集群: 创建页面上,转到基本信息 > 安全
  5. PSA 配置模板下拉菜单中,选择要分配的模板。
  6. 单击创建

将模板分配给现有集群

  1. 在左上角,单击 ☰ > 集群管理
  2. 集群表中找到要更新的集群,点击
  3. 选择编辑配置
  4. PSA 配置模板下拉菜单中,选择要分配的模板。
  5. 单击保存

加固集群

如果选择 rancher-restricted 模板但不选择 CIS 配置文件,你将无法满足 CIS Benchmark。有关详细信息,请参阅 RKE2 加固指南

  1. 在左上角,单击 ☰ > 集群管理
  2. 集群页面上,单击创建按钮。
  3. 选择提供商。
  4. 添加集群页面上的集群选项下,单击 高级选项
  5. PSA 配置模板下拉菜单中,选择要分配的模板。
  6. 单击创建

将模板分配给现有集群

  1. 在左上角,单击 ☰ > 集群管理
  2. 集群表中找到要更新的集群,点击
  3. 选择编辑配置
  4. 编辑集群页面上,转到集群选项 > 高级选项
  5. PSA 配置模板中,选择要分配的模板。
  6. 单击保存

添加或编辑 Pod 安全准入 (PSA) 配置模板

如果你拥有管理员权限,则可以通过创建其他 PSA 模板或编辑现有模板来自定义安全限制和权限。

Pod 安全准入 (PSA) 配置模板 - 图1警告

如果编辑使用中的现有 PSA 模板,更改将应用​​于已分配给该模板的所有集群。

  1. 在左上角,单击 ☰ > 集群管理
  2. 点击高级选项打开下拉菜单。
  3. 选择 Pod 安全准入
  4. 找到要修改的模板,点击
  5. 选择编辑配置来编辑模板。
  6. 完成配置编辑后,单击保存

允许非管理员用户管理 PSA 模板

如果你想允许其他用户管理模板,你可以将该用户绑定到一个角色,并为该角色授予 management.cattle.io/podsecurityadmissionconfigurationtemplates 上的所有操作 ("*")。

Pod 安全准入 (PSA) 配置模板 - 图2警告

绑定到上述权限的用户都能够更改使用该 PSA 模板的所有托管集群的限制级别,包括用户没有权限的集群。

豁免必须的 Rancher 命名空间

在默认执行限制性安全策略的 Kubernetes 集群上运行 Rancher 时,你需要豁免以下命名空间,否则该策略可能会阻止 Rancher system pod 正常运行。

  • calico-apiserver
  • calico-system
  • cattle-alerting
  • cattle-csp-adapter-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-sriov-system
  • cattle-system
  • cattle-ui-plugin-system
  • cattle-windows-gmsa-system
  • cert-manager
  • cis-operator-system
  • fleet-default
  • ingress-nginx
  • istio-system
  • kube-node-lease
  • kube-public
  • kube-system
  • longhorn-system
  • rancher-alerting-drivers
  • security-scan
  • tigera-operator

Rancher、Rancher 拥有的一些 Chart 以及 RKE2 和 K3s 发行版都使用这些命名空间。列出的命名空间的一个子集已经在内置的 Rancher rancher-restricted 策略中被豁免,用于下游集群。有关运行 Rancher 所需的所有豁免的完整模板,请参阅此准入配置示例

豁免命名空间

如果你将 rancher-restricted 模板分配给集群,默认情况下,限制会在命名空间级别应用于整个集群。要在此高度受限的策略下豁免特定的命名空间,执行以下操作:

  1. 在左上角,单击 ☰ > 集群管理
  2. 点击高级选项打开下拉菜单。
  3. 选择 Pod 安全准入
  4. 找到要修改的模板,点击
  5. 选择编辑配置
  6. 选中豁免下的命名空间复选框以编辑命名空间字段。
  7. 豁免命名空间后,单击保存

Pod 安全准入 (PSA) 配置模板 - 图3备注

你需要更新目标集群才能让新模板在集群中生效。要触发更新,在不更改值的情况下编辑和保存集群。