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

这是尚未发布的文档。 Admission Controller 1.34-dev.

安全强化

SUSE Security Admission Controller 力求在最简配置下确保安全。在本节及其子页面中,您可以找到安全强化提示(及其权衡)来保护Admission Controller本身。

请参考威胁模型以获取更多信息。

kubewarden-defaults Helm图表

操作员可以通过安装所有Admission Controller Helm图表来获得安全部署。建议安装`kubewarden-defaults` Helm图表并启用其推荐的策略:

helm install --wait -n kubewarden kubewarden-defaults kubewarden/kubewarden-defaults \
  --set recommendedPolicies.enabled=True \
  --set recommendedPolicies.defaultPolicyMode=protect

这提供了一个默认的PolicyServer和默认策略,在保护模式下,确保Admission Controller堆栈免受其他工作负载的影响。

验证Admission Controller工件

请参考验证Admission Controller教程。

RBAC

Admission Controller 描述了在不同 _说明_部分中的 RBAC 配置。用户可以微调审计扫描器功能所需的权限,以及每个策略服务器服务帐户的上下文感知功能。

查看所有角色:

kubectl get clusterroles,roles -A | grep kubewarden

每个策略的权限

对于上下文感知策略,操作员在其`spec.contextAwareResources`下为每个策略指定细粒度权限,这些权限与为策略服务器配置的服务帐户协同工作。

工作负载覆盖

默认情况下,Admission Controller排除特定名称空间的Admission Controller覆盖。这样做是为了简化首次使用和与其他工作负载的互操作性。

注重安全的操作员可以通过设置`.global.skipNamespaces`值来调整`kubewarden-controller`和`kubewarden-defaults` Helm图表的名称空间列表。

Pod 安全准入

从1.23开始,Admission Controller的堆栈能够在一个名称空间中运行,该名称空间中实施了https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted[`restricted`Pod安全标准],并遵循当前的 Pod安全强化最佳实践。

为此,您需要将`pod-security.kubernetes.io/enforce: restricted`标签添加到Admission Controller部署名称空间。

kubectl label namespace kubewarden pod-security.kubernetes.io/enforce=restricted --overwrite

请参阅 Kubernetes Pod安全准入 的https://kubernetes.io/docs/concepts/security/pod-security-admission/[官方文档]以了解更多详细信息。

SecurityContexts

kubewarden-controller Helm图表配置了SecurityContexts并在其`values.yaml`中公开它们。

kubewarden-defaults Helm图表允许在`.Values.policyServer.securityContexts`下配置默认的 PolicyServer .spec.securityContexts

对于由操作员管理的 PolicyServer,您可以通过它们的spec.securityContexts进行配置。