From 9c3cc2b00da1c479f11a032ee6b3def2532820fe Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 4 Jul 2022 22:07:34 +0800 Subject: [PATCH] [zh-cn] improve security/pod-security-policy.md --- .../concepts/security/pod-security-policy.md | 91 +++++++++---------- 1 file changed, 41 insertions(+), 50 deletions(-) diff --git a/content/zh-cn/docs/concepts/security/pod-security-policy.md b/content/zh-cn/docs/concepts/security/pod-security-policy.md index 31137aab7f..2b097ccb89 100644 --- a/content/zh-cn/docs/concepts/security/pod-security-policy.md +++ b/content/zh-cn/docs/concepts/security/pod-security-policy.md @@ -50,11 +50,11 @@ administrator to control the following: --> ## 什么是 Pod 安全策略? {#what-is-a-pod-security-policy} -_Pod 安全策略(Pod Security Policy)_ 是集群级别的资源,它能够控制 Pod 规约 -中与安全性相关的各个方面。 -[PodSecurityPolicy](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podsecuritypolicy-v1beta1-policy) +**Pod 安全策略(Pod Security Policy)**是集群级别的资源,它能够控制 Pod +规约中与安全性相关的各个方面。 +[PodSecurityPolicy](/zh-cn/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podsecuritypolicy-v1beta1-policy) 对象定义了一组 Pod 运行时必须遵循的条件及相关字段的默认值,只有 Pod 满足这些条件才会被系统接受。 -Pod 安全策略允许管理员控制如下方面: +Pod 安全策略允许管理员控制如下操作: -由于 Pod 安全策略 API(`policy/v1beta1/podsecuritypolicy`)是独立于准入控制器 -来启用的,对于现有集群而言,建议在启用准入控制器之前先添加策略并对其授权。 +由于 Pod 安全策略 API(`policy/v1beta1/podsecuritypolicy`)是独立于准入控制器来启用的, +对于现有集群而言,建议在启用准入控制器之前先添加策略并对其授权。 -现在如果你给 ReplicaSet 控制器一分钟的时间来重试,该控制器最终将能够 -成功地创建 Pod: +现在如果你给 ReplicaSet 控制器一分钟的时间来重试,该控制器最终将能够成功地创建 Pod: ```shell kubectl-user get pods --watch @@ -850,7 +849,7 @@ and `max`(inclusive). Defaults to no allowed host ports. 此类授权将允许 Pod 访问本地回路(loopback)设备、在本地主机(localhost) 上监听的服务、还可能用来监听同一节点上其他 Pod 的网络活动。 -**HostPorts** -提供可以在宿主网络名字空间中可使用的端口范围列表。 +**HostPorts** - 提供可以在宿主网络名字空间中可使用的端口范围列表。 该属性定义为一组 `HostPortRange` 对象的列表,每个对象中包含 `min`(含)与 `max`(含)值的设置。 默认不允许访问宿主端口。 @@ -906,12 +905,12 @@ PodSecurityPolicy 并不限制可以被 `PersistentVolumeClaim` 所引用的 --> **FSGroup** - 控制应用到某些卷上的附加用户组。 -- *MustRunAs* - 要求至少指定一个 `range`。 +- **MustRunAs** - 要求至少指定一个 `range`。 使用范围中的最小值作为默认值。所有 range 值都会被用来执行验证。 -- *MayRunAs* - 要求至少指定一个 `range`。 +- **MayRunAs** - 要求至少指定一个 `range`。 允许不设置 `FSGroups`,且无默认值。 如果 `FSGroup` 被设置,则所有 range 值都会被用来执行验证检查。 -- *RunAsAny* - 不提供默认值。允许设置任意 `fsGroup` ID 值。 +- **RunAsAny** - 不提供默认值。允许设置任意 `fsGroup` ID 值。 **RunAsGroup** - 控制运行容器时使用的主用户组 ID。 -- *MustRunAs* - 要求至少指定一个 `range` 值。第一个范围中的最小值作为默认值。 +- **MustRunAs** - 要求至少指定一个 `range` 值。第一个范围中的最小值作为默认值。 所有范围值都被用来执行验证检查。 -- *MayRunAs* - 不要求设置 `RunAsGroup`。 +- **MayRunAs** - 不要求设置 `RunAsGroup`。 不过,如果指定了 `RunAsGroup` 被设置,所设置值必须处于所定义的范围内。 -- *RunAsAny* - 未指定默认值。允许 `runAsGroup` 设置任何值。 +- **RunAsAny** - 未指定默认值。允许 `runAsGroup` 设置任何值。 **SupplementalGroups** - 控制容器可以添加的组 ID。 -- *MustRunAs* - 要求至少指定一个 `range` 值。第一个范围中的最小值用作默认值。 +- **MustRunAs** - 要求至少指定一个 `range` 值。第一个范围中的最小值用作默认值。 所有范围值都被用来执行验证检查。 -- *MayRunAs* - 要求至少指定一个 `range` 值。 +- **MayRunAs** - 要求至少指定一个 `range` 值。 允许不指定 `supplementalGroups` 且不设置默认值。 如果 `supplementalGroups` 被设置,则所有 range 值都被用来执行验证检查。 -- *RunAsAny* - 未指定默认值。允许为 `supplementalGroups` 设置任何值。 +- **RunAsAny** - 未指定默认值。允许为 `supplementalGroups` 设置任何值。 ### SELinux -- *MustRunAs* - 要求必须配置 `seLinuxOptions`。默认使用 `seLinuxOptions`。 +- **MustRunAs** - 要求必须配置 `seLinuxOptions`。默认使用 `seLinuxOptions`。 针对 `seLinuxOptions` 所给值执行验证检查。 -- *RunAsAny* - 没有提供默认值。允许任意指定的 `seLinuxOptions` 选项。 +- **RunAsAny** - 没有提供默认值。允许任意指定的 `seLinuxOptions` 选项。 - `unconfined` - 如果没有指定其他替代方案,Seccomp 不会被应用到容器进程上 (Kubernets 中的默认设置)。 -- `runtime/default` - 使用默认的容器运行时模版。 -- `docker/default` - 使用 Docker 的默认 seccomp 模版。自 1.11 版本废弃。 +- `runtime/default` - 使用默认的容器运行时模板。 +- `docker/default` - 使用 Docker 的默认 seccomp 模板。自 1.11 版本废弃。 应改为使用 `runtime/default`。 -- `localhost/<路径名>` - 指定节点上路径 `/<路径名>` 下的一个文件作为其模版。 +- `localhost/<路径名>` - 指定节点上路径 `/<路径名>` 下的一个文件作为其模板。 其中 `` 是通过 `kubelet` 的标志 `--seccomp-profile-root` 来指定的。 如果未定义 `--seccomp-profile-root` 标志,则使用默认的路径 `/seccomp`, 其中 `` 是通过 `--root-dir` 标志来设置的。 @@ -1309,8 +1301,8 @@ default cannot be changed. --> **seccomp.security.alpha.kubernetes.io/allowedProfileNames** - 指定可以为 Pod seccomp 注解配置的值的注解。取值为一个可用值的列表。 -表中每项可以是上述各值之一,还可以是 `*`,用来表示允许所有的模版。 -如果没有设置此注解,意味着默认的 seccomp 模版是不可更改的。 +表中每项可以是上述各值之一,还可以是 `*`,用来表示允许所有的模板。 +如果没有设置此注解,意味着默认的 seccomp 模板是不可更改的。