第 14 章 了解并管理 pod 安全准入


Pod 安全准入是 Kubernetes pod 安全标准的实现。使用 pod 安全准入来限制 pod 的行为。

14.1. 关于 pod 安全准入

OpenShift Dedicated 包括 Kubernetes pod 安全准入。不遵循全局或命名空间级别定义的 pod 安全准入的 Pod 不会被接受到集群且无法运行。

在全局范围内,会强制 privileged 配置集,restricted 配置集用于警告和审核。

您还可以在命名空间级别配置 pod 安全准入设置。

重要

不要在默认项目中运行工作负载或共享对默认项目的访问权限。为运行核心集群组件保留默认项目。

以下默认项目被视为具有高度特权:default, kube-public, kube-system, openshift, openshift-infra, openshift-node,其他系统创建的项目的标签 openshift.io/run-level 被设置为 01。依赖于准入插件(如 pod 安全准入、安全性上下文约束、集群资源配额和镜像引用解析)的功能无法在高特权项目中工作。

14.1.1. Pod 安全准入模式

您可以为命名空间配置以下 pod 安全准入模式:

表 14.1. Pod 安全准入模式
模式标签描述

enforce

pod-security.kubernetes.io/enforce

如果 pod 不符合集合配置集,则拒绝 pod 来自准入

audit

pod-security.kubernetes.io/audit

如果 pod 不符合集合配置集,日志审计事件

warn

pod-security.kubernetes.io/warn

如果 pod 不符合集合配置集,则会显示警告

14.1.2. Pod 安全准入配置集

您可以将每个 pod 安全准入模式设置为以下配置集之一:

表 14.2. Pod 安全准入配置集
profile描述

privileged

最低限制策略;允许已知特权升级

baseline

最低限制策略;防止已知特权升级

restricted

最严格的策略;遵循当前的 pod 强化最佳实践

14.1.3. 特权命名空间

以下系统命名空间总是设置为 privileged pod 安全准入配置集:

  • default
  • kube-public
  • kube-system

您无法更改这些特权命名空间的 pod 安全配置集。

14.1.4. Pod 安全准入和安全性上下文约束

Pod 安全准入标准和安全上下文约束由两个独立的控制器协调并强制实施。这两个控制器使用以下进程独立工作,以强制执行安全策略:

  1. 安全性上下文约束控制器可能会根据 pod 分配的 SCC 模拟一些安全上下文字段。例如,如果 seccomp 配置集为空或未设置,如果 pod 的分配的 SCC 将 seccompProfiles 字段强制为 runtime/default,控制器会将默认类型设置为 RuntimeDefault
  2. 安全性上下文约束控制器根据匹配的 SCC 验证 Pod 的安全上下文。
  3. pod 安全准入控制器根据分配给命名空间的 pod 安全标准验证 pod 的安全上下文。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.