gpt4 book ai didi

具有 resourceName 和列表对象的 Kubernetes RBAC 角色

转载 作者:行者123 更新时间:2023-12-02 11:51:38 25 4
gpt4 key购买 nike

apiVersion: rbac.authorization.k8s.io/v1                                                                                                                    
kind: Role
metadata:
name: p-viewer-role
namespace: pepsi
rules:
- apiGroups:
- ""
resourceNames:
- p83
resources:
- pods
verbs:
- list
- get
- watch

当我们在 Roles 中使用 resourceNames 时,下面的命令有效

kubectl get pods -n pepsi p83

返回一个正确的值。然而,

kubectl get pods -n pepsi 

禁止返回。为什么不列出 p83

角色绑定(bind)

apiVersion: rbac.authorization.k8s.io/v1                                                                                                                    
kind: RoleBinding
metadata:
name: p-viewer-rolebinding
namespace: pepsi
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: p-viewer-role
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: pepsi-project-viewer
namespace: project

最佳答案

这是预期的行为。您已经定义了一个 role,它的范围是 namespace pepsi 到 pod resources 具有特定的 resourceName p83

要使 kubectl get pods -n peps 命令生效,您需要从 Role 中删除 resourceNames p83 >

这种高级验证最好由 OPA 处理您可以在其中定义细粒度的策略。

关于具有 resourceName 和列表对象的 Kubernetes RBAC 角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62274122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com