CKS v1.24考试指南:K8S安全策略与权限管理

需积分: 0 1 下载量 79 浏览量 更新于2024-08-04 收藏 509KB PDF 举报
"该资源是针对Kubernetes Certified Kubernetes Security Specialist (CKS) v1.24版本的考试准备材料,包含一系列练习题,旨在帮助考生熟悉K8S安全策略、ServiceAccount管理、Role和RoleBinding的权限控制。" 在Kubernetes(K8S)环境中,ServiceAccount是一个重要的组件,它用于Pod与Kubernetes API服务器进行交互,提供默认的身份验证和授权凭证。CKS考试中的第一道题目强调了组织的安全策略,要求考生: 1. 在`qa`命名空间中创建一个名为`backend-sa`的ServiceAccount,并确保它不会自动挂载API凭据。这可以通过在ServiceAccount的yaml定义中移除或注释掉`automountServiceAccountToken: true`字段来实现,防止Pod在启动时自动获取API访问权限。 2. 使用提供的清单文件`app-pod.yaml`创建Pod。在这个过程中,考生需要确保Pod配置中引用了刚刚创建的`backend-sa` ServiceAccount,以满足组织的安全策略要求。 3. 清理`qa`命名空间中未使用的ServiceAccount。这可能需要使用`kubectl get serviceaccounts`来列出所有ServiceAccount,然后使用`kubectl delete`命令删除不再需要的账户。 第二道题目涉及Role和RoleBinding的精细化权限管理。Role定义了一组权限,而RoleBinding将这些权限分配给特定的ServiceAccount。题目要求: 1. 缩小已经绑定了Pod的`ServiceAccount test-sa-3`的权限,仅允许执行对pods资源的list操作。这需要编辑对应的Role,修改其规则(rules),确保只包含允许list pods的操作。 2. 创建一个新的Role `web-role-2`,允许在`security`命名空间中执行对statefulsets资源的delete操作。这同样涉及到定义Role的yaml文件,其中rules应包含允许delete statefulsets的动作。 3. 创建一个名为`web-role-2-binding`的RoleBinding,将新创建的`web-role-2` Role绑定到`web-pod`的ServiceAccount。RoleBinding会将Role的权限赋予指定的ServiceAccount,确保权限分配的准确性。 这些练习题覆盖了K8S中的关键安全概念,包括ServiceAccount的管理和Role/RoleBinding的权限控制,这些都是CKS考试的重点。考生需要熟练掌握如何在不同命名空间中创建、编辑和绑定这些对象,以及如何根据安全策略调整权限,以保证集群的安全性。通过实践这些题目,考生可以更好地理解和应对实际环境中的K8S安全挑战。