SorryToPerson logo
返回
Kubernetes2026-04-15·8 分钟

Kubernetes 安全与 RBAC

介绍 Kubernetes 访问控制、RBAC 授权、命名空间隔离和常见安全加固策略。

Kubernetes 安全与 RBAC

1. 命名空间隔离

  • 使用 Namespace 划分环境与租户。
  • 通过资源配额限制命名空间使用量。

2. RBAC 基础

  • Role 定义命名空间级权限。
  • ClusterRole 定义集群级权限。
  • RoleBindingClusterRoleBinding 将权限绑定给用户或服务账号。

3. 示例:只读访问

yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: read-only
  namespace: dev
rules:
  - apiGroups: ['']
    resources: ['pods', 'services']
    verbs: ['get', 'list', 'watch']
yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-only-binding
  namespace: dev
subjects:
  - kind: User
    name: alice
roleRef:
  kind: Role
  name: read-only
  apiGroup: rbac.authorization.k8s.io

4. 最小权限原则

  • 只给用户和服务账号必要权限。
  • 推荐使用 ServiceAccount 而非共享凭证。

5. Pod 安全策略

  • PodSecurityPodSecurityPolicy 控制容器运行权限。
  • 禁止 privileged、禁止 hostPath 并限制 capability。

6. Secret 管理

  • 不要将 Secret 写入 YAML 明文。
  • 考虑集成 Vault、KMS、Sealed Secrets 等方案。

7. API 访问与审计

  • 启用审计日志分析异常访问。
  • 限制 API Server 访问来源,避免直接暴露给外网。

8. 常见安全加固

  • 使用 networkPolicy 限制 Pod 间流量。
  • 绑定镜像仓库认证,避免拉取未授权镜像。
  • 定期扫描集群和镜像漏洞。
Kubernetes安全RBAC