Kubernetes2026-04-15·8 分钟
Kubernetes 安全与 RBAC
介绍 Kubernetes 访问控制、RBAC 授权、命名空间隔离和常见安全加固策略。
Kubernetes 安全与 RBAC
1. 命名空间隔离
- 使用 Namespace 划分环境与租户。
- 通过资源配额限制命名空间使用量。
2. RBAC 基础
Role定义命名空间级权限。ClusterRole定义集群级权限。RoleBinding和ClusterRoleBinding将权限绑定给用户或服务账号。
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.io4. 最小权限原则
- 只给用户和服务账号必要权限。
- 推荐使用
ServiceAccount而非共享凭证。
5. Pod 安全策略
- 用
PodSecurity或PodSecurityPolicy控制容器运行权限。 - 禁止
privileged、禁止 hostPath 并限制 capability。
6. Secret 管理
- 不要将 Secret 写入 YAML 明文。
- 考虑集成 Vault、KMS、Sealed Secrets 等方案。
7. API 访问与审计
- 启用审计日志分析异常访问。
- 限制 API Server 访问来源,避免直接暴露给外网。
8. 常见安全加固
- 使用
networkPolicy限制 Pod 间流量。 - 绑定镜像仓库认证,避免拉取未授权镜像。
- 定期扫描集群和镜像漏洞。
Kubernetes安全RBAC