2.4.5.6. 基于角色的访问控制
创建 Operator 组时,会生成三个集群角色。每个 ClusterRole 均包含一个聚会规则,后者带有一个选择器以匹配标签,如下所示:
集群角色 | 要匹配的标签 |
---|---|
|
|
|
|
|
|
当 CSV 成为 Operator 组的活跃成员时,只要该 CSV 正在使用 AllNamespaces
安装模式来监视所有命名空间,且没有因 InterOperatorGroupOwnerConflict
原因处于故障状态,便会生成以下 RBAC 资源。
- 来自 CRD 的每个 API 资源的集群角色
- 来自 API 服务的每个 API 资源的集群角色
- 其他角色和角色绑定
表 2.5. 来自 CRD 的为每个 API 资源生成的集群角色
集群角色 | 设置 |
---|---|
|
聚合标签:
|
|
聚合标签:
|
|
聚合标签:
|
|
聚合标签:
|
表 2.6. 来自 API 服务的为每个 API 资源生成的集群角色
集群角色 | 设置 |
---|---|
|
聚合标签:
|
|
聚合标签:
|
|
聚合标签:
|
其他角色和角色绑定
-
如果 CSV 定义了一个目标命名空间,其中包括
*
,则会针对 CSV 权限字段中定义的每个permissions
生成集群角色和对应集群角色绑定。所有生成的资源均会标上olm.owner: <csv_name>
和olm.owner.namespace: <csv_namespace>
标签。 -
如果 CSV 没有定义一个包含
*
的目标命名空间,则 Operator 命名空间中的所有角色和角色绑定都使用olm.owner: <csv_name>
和olm.owner.namespace: <csv_namespace>
标签复制到目标命名空间中。