5.2. 使用 Helm 在外部文件中定义授权
要自动化 Red Hat Developer Hub 维护,您可以在启动 Developer Hub 前在外部文件中定义权限和角色。您需要准备文件,将其上传到 OpenShift Container Platform 项目中,并将 Developer Hub 配置为使用外部文件。
先决条件
流程
使用以下格式在
rbac-policies.csvCSV 文件中定义您的策略:定义角色权限:
p, <role_entity_reference>, <permission>, <action>, <allow_or_deny>
p, <role_entity_reference>, <permission>, <action>, <allow_or_deny>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - <role_entity_reference>
-
角色实体引用,例如:
role:default/guest。 - <permission>
权限,如:
bulk.import、catalog.entity.read或catalog.entity.refresh,或权限资源类型,如bulk-import或catalog-entity。请参阅: 权限策略参考。
- <action>
-
操作类型,例如:
使用、读取、创建、更新、删除。 - <allow_or_deny>
-
授予访问权限:
.允许或拒绝
为组或用户分配角色:
g, <group_or_user>, <role_entity_reference>
g, <group_or_user>, <role_entity_reference>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - <group_or_user>
组,如
user:default/mygroup或 user,例如:user:default/myuser。Sample
rbac-policies.csvp, role:default/guests, catalog-entity, read, allow p, role:default/guests, catalog.entity.create, create, allow g, user:default/my-user, role:default/guests g, group:default/my-group, role:default/guests
p, role:default/guests, catalog-entity, read, allow p, role:default/guests, catalog.entity.create, create, allow g, user:default/my-user, role:default/guests g, group:default/my-group, role:default/guestsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
使用以下格式在
rbac-conditional-policies.yamlYAML 文件中定义条件策略:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参阅: 条件策略参考。
将
rbac-policies.csv和rbac-conditional-policies.yaml文件上传到包含 Developer Hub 的 OpenShift Container Platform 项目中的rbac-policies配置映射。oc create configmap rbac-policies \ --from-file=rbac-policies.csv \ --from-file=rbac-conditional-policies.yaml$ oc create configmap rbac-policies \ --from-file=rbac-policies.csv \ --from-file=rbac-conditional-policies.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 Developer Hub
BackstageHelm Chart,以挂载到rbac-policies配置映射中的 Developer Hub 文件系统:-
在 Developer Hub Helm Chart 中,进入 Root Schema
Backstage chart schema Backstage parameters Backstage container additional volume mount。 选择 Add Backstage 容器附加卷挂载 并添加以下值:
- mountPath
-
/opt/app-root/src/rbac - Name
-
rbac-policies
将 RBAC 策略添加到 Developer Hub Helm Chart 中的 Backstage 容器 附加卷:
- 名称
-
rbac-policies - configMap
- defaultMode
-
420 - 名称
-
rbac-policies
-
在 Developer Hub Helm Chart 中,进入 Root Schema
更新 Developer Hub
app-config.yaml配置文件,以使用rbac-policies.csv和rbac-conditional-policies.yaml外部文件:app-config.yaml文件片段Copy to Clipboard Copied! Toggle word wrap Toggle overflow