第1章:K8s安全工程师岗位能力画像
K8s安全工程师面试不仅考察Kubernetes基础,更关注集群安全防护的深度理解。本章首先梳理核心能力模型,再通过3个高频问答掌握关键考核点。
核心能力模块与关键词
| 能力模块 | 关键词 |
|---|---|
| 集群安全加固 | TLS 双向认证、etcd 加密、API Server 鉴权、kubelet 证书、网络策略 |
| 访问控制策略 | RBAC、ServiceAccount、Pod Security Standards、OPA/Gatekeeper |
| 运行时安全监控 | Falco、Sysdig、审计日志、异常检测、容器逃逸 |
| 合规与审计 | CIS Benchmark、审计策略、事件日志、SOC 2、PCI DSS |
| 漏洞修复 | Trivy、Clair、镜像扫描、CVE 追踪、补丁升级 |
Q1: 请解释 Kubernetes RBAC 的工作原理及其在安全中的作用。
🧐 面试官考察点: 对认证授权机制的理解深度,能否给出实际应用场景。
📐 回答框架: ① RBAC 基于角色绑定;② 四个核心对象:Role、ClusterRole、RoleBinding、ClusterRoleBinding;③ 最小权限原则;④ 与 ServiceAccount 结合使用。
💡 示例回答: RBAC 通过预定义角色控制权限。例如为 CI/CD 流水线创建独立 ServiceAccount,绑定仅有镜像拉取权限的 Role。同时用 ClusterRoleBinding 授予集群范围的只读监控权限。核心是遵循“默认拒绝,按需授予”。
❓ 可能追问: 如何排查 RBAC 权限不足导致的 API 调用失败?如何实现跨命名空间的资源级权限?
⚠️ 避坑提醒: 不要混淆 Role 与 ClusterRole 的作用域;ServiceAccount 与用户账号的授权路径不同。
Q2: Pod 安全策略(PSA)和 Pod 安全标准(PSS)的区别是什么?
🧐 面试官考察点: 对 K8s 安全机制演进过程的了解,以及实际落地能力。
📐 回答框架: ① PSA 已废弃,PSS 是替代方案;② PSS 定义三个标准:Privileged、Baseline、Restricted;③ 通过 PodSecurity 准入控制器实现;④ 配合命名空间标签选择策略。
💡 示例回答: 旧版 PSA 已移除,推荐使用 PSS。比如生产命名空间打上 pod-security.kubernetes.io/enforce=restricted 标签,自动拒绝特权容器。同时可以为监控命名空间设置 baseline,保持灵活性。
❓ 可能追问: 如何配置 PSS 的豁免规则?Restricted 标准下如何运行需要特权能力的 DaemonSet?
⚠️ 避坑提醒: 不要混淆 PSA 与废弃的 PodSecurityPolicy;PSS 使用标签而非 CRD 配置。
Q3: 如何保护 etcd 的安全性?
🧐 面试官考察点: 对集群关键组件安全防护的完整思路,包括传输、存储、访问控制。
📐 回答框架: ① 传输加密:TLS 双向认证;② 访问控制:仅 allow apiserver IP 访问端口;③ 存储加密:数据盘加密,定期备份;④ 认证授权:开启 etcd 用户角色。
💡 示例回答: 首先为 etcd 配置 TLS 证书,确保 apiserver 使用 etcd 客户端证书通信。防火墙只开放 2379 给 apiserver 节点。定期用 etcdctl snapshot 备份并加密存入对象存储。同时开启 etcd 的 auth,限制只读用户。
❓ 可能追问: 如果 etcd 被攻破导致数据泄露,应急恢复流程是什么?如何审计 etcd 的写操作?
⚠️ 避坑提醒: 不要忽略 etcd 的 TLS 双向验证;备份文件必须加密,避免以明文存储在服务器本地。