如何为名称空间应用kubernetes PSP

时间:2019-04-16 12:18:00

标签: kubernetes

如何仅对kube-system名称空间应用PSP(PodSecurityPolicy),对所有其他容器应用另一个PSP?

2 个答案:

答案 0 :(得分:1)

我们可以在Kubernetes文档中阅读有关Pod Security Policies的信息。

  

Pod安全策略是一种群集级资源,用于控制Pod规范中与安全相关的方面。 PodSecurityPolicy对象定义了pod必须运行的一组条件,以便被系统接受,以及相关字段的默认值。

您应该使用RBAC并设置Role,它将使用所需的PSP

  

如果使用RoleBinding(而不是ClusterRoleBinding),它将仅授予在与绑定相同的名称空间中运行的pod的使用权限。可以将其与系统组配对以授予对在命名空间中运行的所有Pod的访问权限:

# Authorize all service accounts in a namespace:
- kind: Group
  apiGroup: rbac.authorization.k8s.io
  name: system:serviceaccounts
# Or equivalently, all authenticated users in a namespace:
- kind: Group
  apiGroup: rbac.authorization.k8s.io
  name: system:authenticated

您还应该签出Using PodSecurityPoliciesKubernetes: Assigning Pod Security Policies with RBAC

希望这会有所帮助。

答案 1 :(得分:0)

Pod security policies是集群级别的资源,因此在香草Kubernetes中没有当前的方法可以满足您的需求。

但是,Rancher向群集添加了Projects的概念,您可以将Pod Security策略应用于项目。

注意-他们仍然建议在群集级别使用Pod安全策略。

或者,@Crou的答案也是通过RBAC和RoleBindings实现它的好选择。