问题标签 [kubernetes-psp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
259 浏览

kubernetes - Kubernetes Pod 安全策略

Pod 安全策略控制被实现为可选(但推荐)准入控制器。PodSecurityPolicies 是通过启用准入控制器来强制执行的,但是在没有授权任何策略的情况下这样做会阻止在集群中创建任何 Pod。

由于 pod 安全策略 API (policy/v1beta1/podsecuritypolicy) 独立于准入控制器启用,因此对于现有集群,建议在启用准入控制器之前添加和授权策略。

问题:

我需要创建一个集群,然后定义一个 pod 安全策略来限制帐户/凭据以受限方式运行 pod。

这是否适用于该特定帐户或集群中的所有 pod?我更喜欢保持默认管理员帐户不受限制,同时只允许该特定用户帐户的修复 uid/gid 运行 pod。

我只是怀疑,如果我将 pod 限制为 runAs 仅修复 uid/gid ,它可能会破坏集群中的东西吗?

如何将 pod 安全策略应用于所有命名空间(现有和新)中的所有用户/服务帐户,集群管理员除外

0 投票
1 回答
240 浏览

kubernetes - 为什么即使我没有访问权限,我的 PodSecurityPolicy 也会被应用?

我有两个 PodSecurityPolicy:

  • 000 特权(仅限 kube 系统服务帐户和管理员用户)
  • 100-restricted(其他)

我对他们分配给 pod 有疑问。

第一个策略绑定:

第二个策略绑定:

在 kube 系统中一切正常。

但是,在其他命名空间中,它不能按预期工作:

  • 如果我创建一个 Deployment (kubectl apply -f deployment.yml),它的 pod 会被标记为 psp 100-restricted。

  • 如果我创建一个 Pod (kubectl apply -f pod.yml),它会被标记为 psp 000-privileged。我真的不明白为什么它不是 100-restricted。

我的 kubectl 配置了来自 OpenID Connect (OIDC) 的外部身份验证令牌。

我验证了访问权限,一切似乎都正常:

有什么线索吗?