jumpserver3.4.3管理k8s集群rbac权限问题

jumpserver3.4.3管理k8s集群只是授权单个命名空间role 可是能够get所有命名空间的pod列表
基于role授权的 但是发现可以get其他未授权的namespace的pod列表
在p-oms定义的role然后关联到sa为啥可以get其他所有的pod列表

看你的rbac怎么给的吧,应该是给了ns的get权限

我用的默认的命名空间授予我定义的角色 可能有问题我重新创建了个sa现在是jumpserver无法获取集群信息了提示无效token但是我用命令行使用这个token链接权限都是符合预期的 这个是bug嘛


那这样应该是正常的哈
你应该给ns的get权限
因为他这里管理k8s是分层级的,连接token - 获取ns的信息 - 查看pod - 进入pod
因此你需要给ns 的get权限,只能查看,并且只对某个名称空间有操作权限

image
我看我这里给了namespaces的get权限的 是还少哪里嘛

看着貌似没问题。然后使用的时候就报错提示无效的token吗?


是的 点击列表加载不出来 右击连接提示无效token

你最初是怎么获取的token?
除了权限的不同,获取方式有区别吗?

没有区别的 都是通过kubectl get secret base64解码获得

kubectl get secret oms-token-77f26 -n p-oms -o jsonpath={.data.token}|base64 -d
就是这个命令 替换secret

那你在替换为之前的token还能正常连接吗


我换回了默认空间创建的sa发现还是一样的

我这边测试发现只有使用clusterrole的token才能正常加载集群信息 pod信息 使用自定义的role都无法加载信息 但是我手动kubectl 加上我的token是可以获取的

我发现这是个x新版本的bug我刚试了下用我的token放在老版本2.19上可以正常显示pod信息 权限也是符合预期的

那应该权限给的还是比较小了,你用正常的token尝试连接时,右侧的列表实际是有个层级的,一层一层点开的,这块应该有权限的要求

我只有使用集群角色才能看到层级 使用role命名空间的都无法看到层级显示 但是新旧版的区别是旧版虽然看不到层级但是可以右击链接集群命令行操作 但是新报链接集群也连接不上 无效token