如何将GitHub团队映射到OpenShift不同组/角色以分配差异化权限?
实现GitHub团队到OpenShift组的独立映射与权限分配
完全可以实现将两个GitHub团队分别映射到OpenShift的独立组,再为不同组分配差异化权限,具体操作步骤如下:
1. 修改OAuth配置,添加GitHub团队到OpenShift组的映射
编辑集群级OAuth资源,将GitHub团队与OpenShift组关联:
oc edit oauth cluster
在identityProviders下的GitHub配置段中,添加teams映射规则(替换占位符为实际信息):
identityProviders: - name: github type: GitHub mappingMethod: claim github: clientID: <你的GitHub OAuth客户端ID> clientSecret: name: github-secret organizations: - name: <你的GitHub组织名称> teams: - name: team-a - name: team-b teams: - name: <你的GitHub组织名称>/team-a mappedGroups: - openshift-team-a - name: <你的GitHub组织名称>/team-b mappedGroups: - openshift-team-b
mappingMethod: claim:OpenShift会自动创建mappedGroups中指定的组,无需手动预创建- 确保
teams下的名称格式为组织名/团队名,与GitHub实际团队路径一致
2. 验证映射的OpenShift组
保存OAuth配置后,等待集群同步,然后查看是否生成了目标组:
oc get groups
输出中应包含openshift-team-a和openshift-team-b两个组。
3. 为不同组分配差异化权限
根据需求为两个组分配不同的角色,支持集群级或项目级权限:
- 为
openshift-team-a分配某项目的编辑权限:
oc adm policy add-role-to-group edit openshift-team-a -n <目标项目名>
- 为
openshift-team-b分配集群级查看权限:
oc adm policy add-cluster-role-to-group view openshift-team-b
也可根据业务需求自定义角色,再分配给对应组。
内容的提问来源于stack exchange,提问作者John D
相关产品推荐
相关产品推荐

