Context
绑定到 Pod 的 ServiceAccount 的 Role 授予过度宽松的权限,完成以下项目以减少权限集。
Task
一个名为 web-pod 的现有 Pod 已在 namespace db 中运行。
编辑绑定到 Pod 的 ServiceAccount service-account-web 的现有 Role,仅允许只对 service 类型的资源执行 get 操作。
在 namespace db 中创建一个名为 role-2,并仅允许只对 namespace 类型的资源执行 delete 操作的新 Role。
创建一个名为 role-2-binding 的新 RoleBinding,将新创建的 Role 绑定到 Pod 的ServiceAccount。
注意:请勿删除现有的 RoleBinding
参考资料
https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/rbac/
答题
考试时,注意切换集群
kubectl config use-context KSCH00201
查看 ServiceAccount service-account-web 对应的 rolebindings role-1-binding
查看 rolebindings role-1-binding 对应的 role 为 role-1
kubectl describe rolebinding -n db
编辑 role-1 权限:
kubectl edit role role-1 -n db
修改内容如下:
...... resourceVersion: "30876" uid:21e1a241-a2f3-1241-d09l-2saf25kl2j45 rules: - apiGroups: [""] # "" 标明 core API 组 resources: ["services"] # 对 service 资源 get 操作权限 verbs: ["get"]
检查
kubectl describe role role-1 -n db
在 db 命名空间,创建名为 role-2 的 role, 并且通过 rolebinding 绑定 service-account-web, 只允许对 namespace 做delete 操作。
kubectl create role role-2 --verb=delete --resource=namespace -n db kubectl create rolebinding role-2-binding --role=role-2 --serviceaccount=db:service-account-web -n db
检查
kubectl describe rolebinding -n db
标签:kubectl,07,service,web,namespace,db,考试题,RoleBinding,role From: https://www.cnblogs.com/dagongzhe/p/17485755.html