我如何授予自己在 Kubernetes 上创建集群角色绑定的权限?
How do I give myself permission to create clusterrolebindings on Kubernetes?
我的命令 helm list
失败并显示消息:
Error: configmaps is forbidden: User "system:serviceaccount:kube-system:default" cannot list configmaps in the namespace "kube-system"
我发现了一些告诉我如何设置 RBAC 角色和角色绑定的结果,例如:
和
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.
经过一番搜索,我找到了这个答案:
这给出了这个错误:
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
最后一个错误似乎给了我一个很好的提示,我似乎不是这个项目的 administrator/owner,所以我问项目的所有者是否可以给我这些权限。他不是技术人员,所以他必须通过 GUI 来完成。
您需要以下角色之一才能在 k8s 中创建集群角色绑定:
- 所有者
- 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
我的命令 helm list
失败并显示消息:
Error: configmaps is forbidden: User "system:serviceaccount:kube-system:default" cannot list configmaps in the namespace "kube-system"
我发现了一些告诉我如何设置 RBAC 角色和角色绑定的结果,例如:
和
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.
经过一番搜索,我找到了这个答案:
这给出了这个错误:
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
最后一个错误似乎给了我一个很好的提示,我似乎不是这个项目的 administrator/owner,所以我问项目的所有者是否可以给我这些权限。他不是技术人员,所以他必须通过 GUI 来完成。
您需要以下角色之一才能在 k8s 中创建集群角色绑定:
- 所有者
- 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