本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

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

Pod安全准入(PSA)配置模板是Rancher自定义的资源(CRD),在Rancher v2.7.2及以上版本中可用。这些模板提供了预定义的安全配置,您可以将其应用于集群:

Rancher默认提供的策略旨在在安全性和便利性之间提供权衡。如果需要更严格的策略配置,用户可以根据其特定要求自行制定此类策略。如果更倾向于使用Rancher策略,您需要部署阻止创建任何被豁免的命名空间的准入控制器,这些命名空间在您的环境中不会被使用。

  • rancher-privileged:最宽松的配置。它不限制任何Pod的行为。这允许已知的权限提升。此策略没有豁免。

  • rancher-restricted:一个严格限制的配置,符合当前关于Pod安全强化的最佳实践。您必须为Rancher组件进行名称空间级豁免

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

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

在集群创建期间分配模板

  • RKE2和K3s

  • RKE1

  1. 在左上角,单击*☰ > 集群管理*。

  2. 在*集群*页面上,单击*创建*按钮。

  3. 选择一个提供者。

  4. 在 * 集群:在创建*页面,转到 基础  安全

  5. Pod安全准入配置模板 下拉菜单中,选择您要分配的模板。

  6. 单击*创建*。

将模板分配给现有集群

  1. 在左上角,单击*☰ > 集群管理*。

  2. 集群 表中找到您要更新的集群,然后单击

  3. 选择 编辑配置

  4. Pod安全准入配置模板 下拉菜单中,选择您要分配的模板。

  5. 单击 保存

  1. 在左上角,单击*☰ > 集群管理*。

  2. 在*集群*页面上,单击*创建*按钮。

  3. 选择一个提供者。

  4. 添加集群 页面,集群选项 下,单击 高级选项

  5. Pod安全准入配置模板 下拉菜单中,选择您要分配的模板。

  6. 单击*创建*。

将模板分配给现有集群

  1. 在左上角,单击*☰ > 集群管理*。

  2. 集群 表中找到您要更新的集群,然后单击

  3. 选择 编辑配置

  4. 编辑集群 页面,转到 集群选项  高级选项

  5. Pod安全准入配置模板 中,选择您要分配的模板。

  6. 单击 保存

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

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

如果您在现有 PSA 模板仍在使用时进行编辑,所做的更改将应用于所有已分配该模板的集群。

  1. 在左上角,单击*☰ > 集群管理*。

  2. 单击 高级 以打开下拉菜单。

  3. 选择 Pod安全准入

  4. 找到您要修改的模板,然后单击

  5. 选择 编辑配置 以编辑模板。

  6. 完成配置编辑后,单击 保存

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

如果您希望允许其他用户管理模板,可以将该用户绑定到授予所有动词("*")在`management.cattle.io/podsecurityadmissionconfigurationtemplates`上的角色。

任何被绑定到上述权限的用户都能够更改在使用给定PSA模板的_所有_管理集群上的限制级别,包括他们没有权限的集群。

豁免所需的Rancher名称空间

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

  • calico-apiserver

  • calico-system

  • cattle-alerting

  • cattle-capi-system

  • 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-scc-system

  • cattle-sriov-system

  • cattle-system

  • cattle-turtles-system

  • cattle-ui-plugin-system

  • cattle-windows-gmsa-system

  • cert-manager

  • cis-operator-system

  • compliance-operator-system

  • fleet-default

  • fleet-local

  • istio-system

  • kube-node-lease

  • kube-public

  • kube-system

  • longhorn-system

  • rancher-alerting-drivers

  • rancher-compliance-system

  • security-scan

  • sr-operator-system

  • tigera-operator

  • traefik

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

豁免名称空间

如果您将`rancher-restricted`模板分配给集群,默认情况下,限制将在名称空间级别应用于整个集群。要从此高度限制的策略中豁免某些名称空间,请执行以下操作:

  1. 在左上角,单击*☰ > 集群管理*。

  2. 单击 高级 以打开下拉菜单。

  3. 选择 Pod安全准入

  4. 找到您要修改的模板,然后单击

  5. 选择 编辑配置

  6. 单击*名称空间*复选框,在*豁免*下编辑*名称空间*字段。

  7. 完成豁免名称空间后,单击*保存*。

您需要更新目标集群,以使新模板在该集群中生效。可以通过编辑并保存集群而不更改值来触发更新。