【问题标题】:Kubernetes - ClusterRole with namespace is allowed?Kubernetes - 允许具有命名空间的 ClusterRole?
【发布时间】:2021-02-28 10:18:43
【问题描述】:

documentation 说,

如果要在命名空间中定义角色,请使用Role;如果要在集群范围内定义角色,请使用ClusterRole

那么,为什么我可以在命名空间中为非命名空间资源 StorageClass(或简称为 sc)创建 ClusterRole

kubectl -n apps create clusterrole scrole --verb=create,update,patch,delete --resource=sc

另外,Role适用于命名空间资源,ClusterRole适用于非命名空间资源是否正确?

【问题讨论】:

    标签: kubernetes namespaces roles access-control rbac


    【解决方案1】:

    命名空间参数是多余的,即使您在创建ClusterRole 时提供它也不会使用。

    ClusterRole 也可以定义对命名空间范围资源的权限,您可以使用RoleBinding 将权限分配给用户或组或服务帐户。当您这样做时,它基本上是为创建 RoleBinding 的命名空间内的资源提供权限。这是为了避免在每个命名空间中创建重复的 Roles 以提供相同的权限。

    此外,当您在 ClusterRole 中有集群范围的资源时,您需要使用 ClusterRoleBinding 将权限分配给用户或组或服务帐户。

    【讨论】:

      猜你喜欢
      • 2021-08-11
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      • 2021-03-25
      • 2021-09-12
      • 1970-01-01
      • 2021-02-09
      • 2020-07-29
      相关资源
      最近更新 更多