kubernetes - 访问特定命名空间中特定 pod 的 exec
问题描述
我想授予用户对一个 pod 的 exec 访问权限,而不是所有项目 pod/组件。
即 1 个 pod <-> 1 个命名空间 <-> 仅 1 个用户
我们有这样的选择吗?
解决方案
是的,您可以通过名称为特定资源创建 RBAC 角色和角色绑定。
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: demo
name: pod-exec-role
rules:
- apiGroups: [""]
resources: ["pods/exec"]
resourceNames: ["POD_NAME"]
verbs: ["get", "create"]
并使用角色绑定将该角色绑定到特定用户:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: pod-exec
namespace: demo
subjects:
- kind: User
name: jane
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: pod-exec-role
apiGroup: rbac.authorization.k8s.io
注意:这不适用于名称可以随时间更改的 pod。就像从Deployment
对象创建的 pod。
推荐阅读
- ios - 带有 NSFetchedResultsControllerDelegate 更新的 UISwipeActionsConfiguration
- c - 如何在构建应用程序时修复 dpdk-18.02 中的“无有效端口”问题?
- html - 有没有办法让这个包装?
- sass - 带有 babel-plugin-react-css-modules 的 SASS 嵌套类
- google-chrome-extension - 为什么我会收到 activetab 权限错误?
- c# - 使用属性指定的索引更改 ListViewItem 背景颜色
- java - Kafka Streams 在生产主题时不会将偏移量增加 1
- javascript - 使用pixijs从图像中渲染许多具有六边形形状的精灵
- docker - 未知主机异常
- python - 将数组数组转换为扁平数据框