gpt4 book ai didi

kubernetes - 具有扩展权限的 K8s RBAC 服务帐户

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

我正在寻找让服务帐户(不是集群管理员)能够创建新命名空间并自动获得管理员权限的选项(而所有系统命名空间都不能被此服务帐户编辑)。

目前我的服务帐户绑定(bind)到 clusterrole 包含

- apiGroups:
- ""
resources:
- namespaces
verbs:
- create

但是它不能在它创建的命名空间上做任何事情。
想得到任何建议,建议。

最佳答案

不幸的是,无法使用 RBAC objects只要。

In the RBAC API, a role contains rules that represent a set of permissions. Permissions are purely additive (there are no “deny” rules).



但是有一个可能的解决方法:
  • 你添加一个带有 Kubernetes python/go/java 客户端的 pod,在集群级别使用具有 create-Roles+RoleBindings-permissions 的服务帐户
  • 然后运行一个简单的代码来监控新命名空间的 api-server 并创建 RoleBinding用于新命名空间中的命名空间管理员
  • 这个RoleBinding指 cluster-admin 角色,它赋予用户在特定命名空间
  • 中的所有权限
  • 为了区分新命名空间和现有命名空间,脚本还可以在命名空间上放置标签:namespace-admin=true或类似的。

  • 此外,您可以考虑使用 RBAC Manager。 Dynamic Namespaces and Labels更具体。

    RBAC Definitions can now include namespaceSelectors in place of namespace attributes when specifying Role Binding configuration. This can be incredibly helpful when working with dynamically provisioned namespaces.



    请让我知道这是否有帮助。

    关于kubernetes - 具有扩展权限的 K8s RBAC 服务帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59396896/

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