我如何授予自己在Kubernetes上创建clusterrolebindings的权限?

Tin*_*nco 0 rbac kubernetes google-kubernetes-engine kubernetes-helm

我的命令helm list失败并显示以下消息:

Error: configmaps is forbidden: User "system:serviceaccount:kube-system:default" cannot list configmaps in the namespace "kube-system"
Run Code Online (Sandbox Code Playgroud)

我发现了一些结果,这些结果告诉我如何设置RBAC角色和角色绑定,例如:

舵列表:无法在名称空间“ kube-system”中列出配置映射

https://docs.bitnami.com/kubernetes/how-to/configure-rbac-in-your-kubernetes-cluster/

但是这些也会因为这个错误而使我失败:

Error from server (Forbidden): error when creating "tiller-clusterrolebinding.yaml": clusterrolebindings.rbac.authorization.k8s.io is forbidden: User "$USER" cannot create clusterrolebindings.rbac.authorization.k8s.io at the cluster scope: Required "container.clusterRoleBindings.create" permission.
Run Code Online (Sandbox Code Playgroud)

现在经过一番搜索,我找到了这个答案:

无法在新的GKE群集上创建clusterrolebinding

出现此错误:

ERROR: (gcloud.projects.add-iam-policy-binding) User [$USER] does not have permission to access project [$PROJECT:setIamPolicy] (or it may not exist): The caller does not have permission
Run Code Online (Sandbox Code Playgroud)

最后一个错误似乎给了我一个很好的提示,我似乎不是该项目的管理员/所有者,所以我问项目的所有者是否可以给我这些权限。他不是技术人员,因此必须通过GUI进行操作。

edb*_*ead 5

您需要以下角色之一才能在k8s中创建clusterrolebindings:

  • 所有者
  • Kubernetes引擎管理员
  • 作曲工作者

您可以在GCP的“角色”标签中检查权限和角色

角色

您可以在IAM和“管理”标签中分配这些角色之一(或创建自定义角色)

在此处输入图片说明

您需要具有resourcemanager.projects.setIamPolicy权限的以下角色之一才能为其他人设置IAM策略角色(我相信您的管理员可以这样做)

  • 组织管理员
  • 所有者
  • 项目IAM管理员

在此处输入图片说明

您的项目所有者,组织管理员或具有项目IAM管理员角色的人员将需要为您的$ USER提供以下角色之一,或创建自定义角色:所有者(不太可能),Kubernetes Engine Admin(很可能是,不遵循安全性)最低权限原则)或Composer Worker。然后,您的$ USER就可以创建clusterrolebindings.rbac.authorization.k8s.io at the cluster scope