首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除kubernetes (tekton)资源-是否需要特定的RBAC?

删除kubernetes (tekton)资源-是否需要特定的RBAC?
EN

Stack Overflow用户
提问于 2020-07-28 13:40:52
回答 2查看 292关注 0票数 0

我试图删除泰克顿 kubernetes配置的服务帐户上下文中的deletecollection资源,并且遇到了使用所有tekton资源访问deletecollection的特定错误。一个示例错误如下:

pipelines.tekton.dev被禁止:用户“system:serviceaccount:my-account:默认的”API组中的"tekton.dev“命名空间”my-命名空间“中的”不能删除资源管道“。

我试图在这里应用RBAC来帮助您,但是仍然会遇到同样的错误。我的RBAC尝试如下:

代码语言:javascript
复制
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: my-role
  namespace: my-namespace
rules:
- apiGroups: ["tekton.dev"]
  resources: ["pipelines", "pipelineruns", "tasks", "taskruns"]
  verbs: ["get", "watch", "list", "delete", "deletecollection"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: my-role-binding
  namespace: my-namespace
subjects:
- kind: User
  name: system:serviceaccount:my-account:default
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: my-role
  apiGroup: rbac.authorization.k8s.io

这些RBAC配置继续导致相同的错误。这是必要的,还是类似的?在与tekton资源进行接口时,是否有RBAC的例子,特别是删除?

EN

回答 2

Stack Overflow用户

发布于 2020-07-28 14:49:38

给定两个名称空间my-namespacemy-accountmy-account命名空间中的默认服务帐户被正确地授予my-namespacepipelines上的deletecollection谓词的权限。

在应用之后,您可以像这样使用kubectl auth can-i来验证这一点:

代码语言:javascript
复制
$ kubectl -n my-namespace --as="system:serviceaccount:my-account:default" auth can-i deletecollection pipelines.tekton.de
yes

验证您是否实际应用了RBAC清单。

票数 3
EN

Stack Overflow用户

发布于 2020-07-28 14:11:25

更改RBAC如下

代码语言:javascript
复制
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: my-role
  namespace: my-namespace
rules:
- apiGroups: ["tekton.dev"]
  resources: ["pipelines", "pipelineruns", "tasks", "taskruns"]
  verbs: ["get", "watch", "list", "delete", "deletecollection"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: my-rolebinding
  namespace: my-namespace
subjects:
- kind: ServiceAccount
  name: default
  namespace: my-account
roleRef:
  kind: Role
  name: my-role
  apiGroup: rbac.authorization.k8s.io

有几件事值得注意:

  1. 修正了subjects使用来自UserServiceAccount。这实际上是导致失败的原因,因为服务帐户没有被授予RBAC。
  2. 我假设您希望通过my-namespace命名空间的default服务帐户删除my-account中的Tekton资源。如果情况不同,则需要相应地对RoleRoleBinding进行更改。
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63135505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档