【问题标题】:Openshift custom resources restrictionsOpenshift 自定义资源限制
【发布时间】:2022-10-21 22:13:59
【问题描述】:

我不知道如何使用 RBAC 限制 Openshift 中自定义资源的访问

假设我有一个自定义 api:

apiVersion: yyy.xxx.com/v1
kind: MyClass
metadata:
   ...

是否可以防止部分用户在apiVersion=yyy.xxx.com/v1kind=MyClass 的位置部署资源?

我还可以授予其他用户访问apiVersion=yyy.xxx.com/v1kind=MyOtherClass 的资源吗?

如果这可以使用 RBAC 角色完成,我如何在 Openshift 中部署 RBAC 角色?仅使用 CLI 还是我可以创建一些 yaml 配置文件并使用 Yaml 部署它们?

【问题讨论】:

    标签: kubernetes openshift rbac


    【解决方案1】:

    您可以使用集群角色和 RBAC 角色:

    oc adm policy add/remove-cluster-role-to-group oauth:system:authenticated
    

    所以一般的想法是删除将资源部署到所有经过身份验证的用户的权限。 下一步是添加仅将该资源部署到分配给特定名称空间的 ServicesAccounts 的权限

    【讨论】:

      【解决方案2】:

      OpenShift/Kubernetes 具有集群角色/绑定和本地角色/绑定。

      这是文档中的定义。 *1

      Cluster role/binding: Roles and bindings that are applicable across all projects. Cluster roles exist cluster-wide, and cluster role bindings can reference only cluster roles.
      
      Local role/binding: Roles and bindings that are scoped to a given project. While local roles exist only in a single project, local role bindings can reference both cluster and local roles.
      

      如果您的自定义资源是存在于单个命名空间中的资源。您可以设法向他人授予权限。

      然而,如果自定义资源是集群范围的资源,集群管理员只能部署该资源。

      *1:https://docs.openshift.com/container-platform/4.11/authentication/using-rbac.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-02-06
        • 1970-01-01
        • 2023-04-01
        • 2019-08-02
        • 1970-01-01
        • 2022-11-23
        • 2017-03-17
        相关资源
        最近更新 更多