测验:集群组件的安全
apiserver 处理请求的正确步骤顺序是什么?
- 身份验证→授权→准入(变异→验证)→保存
- 授权→认证→准入(验证→变异)→保存
- 准入→认证→授权→保存
- 认证→准入→授权→保存
为什么system:masters组与其他 RBAC 实体有质的不同?
- 这是因为所有 RBAC 检查都被绕过,并且无法通过删除绑定来撤销权限。
- 因为只有这个组可以跨命名空间
- 这是因为来自该组的请求未记录在审核日志中。
- 因为该组也忽略了准入网络钩子。
如果identity放在 EncryptionConfiguration 的providers数组的第一位会怎样?
- 新写入的 Secret 以纯文本形式保存。
- 由于配置错误,apiserver 未启动
- 现有的密文变得不可读。
- 加密性能提高
打开静态加密的新集群中的现有 Secret 会发生什么情况?
- 当 apiserver 重新启动时,所有内容都会再次自动加密。
- 它在再次使用之前保持为纯文本,因此必须重写整个 Secret。
- 它变得不可读,我不得不重新创建它。
- 在 etcd 压缩时自动加密。
将 kubelet 的authorization.mode保留为AlwaysAllow有什么风险?
- kubelet 将根本无法连接到 apiserver。
- 任何通过 kubelet API 进行身份验证的人都可以在该节点的容器上执行所有操作,包括 exec、log 和 pod 执行。
- Pod 始终以特权运行
- 节点被排除在调度之外
为什么--service-account-lookup=false很危险?
- 因为已经删除的ServiceAccount的token只要签名有效,就会继续通过认证。
- 这是因为 SA 令牌以纯文本形式存储。
- 这是因为 SA 自动接收集群管理员权限。
- 这是因为令牌发行请求不会保留在审核日志中。