我正在使用openshift部署我的Web应用程序。对于登录,我将openshift oauth api与服务帐户一起使用。
目前,我正在为所有用户登录时使用scope: role:edit:<namespace>
。但是,现在我想根据他们在openshift帐户中定义的角色来设置他们的访问权限。
我尝试检索用户角色,但是由于我没有管理员访问权限,因此无法查看用户角色。
关于如何解决此问题的任何想法?任何帮助将不胜感激。
进度:所以我能够在某种程度上解决我的问题: 基本上,作为管理员:我创建了一个clusterrole,允许对clusterrolebindings进行读取访问,然后将该角色添加到所需的用户中。
oc create clusterrole roleget --verb=<verb_list> --resource=<resource_list>
oc adm policy add-role-to-user roleget developer
然后,如果我将应用程序的范围更改为role:roleget:<namespace>
,则可以通过rest api访问角色绑定
curl -k -H "Authorization: Bearer $TOKEN" -H 'Accept: application/json' https://$ENDPOINT/apis/rbac.authorization.k8s.io/v1beta1/namespaces/$NAMESPACE/rolebindings
现在,我可以单独满足我的要求。但是现在,我需要以某种方式将两个范围合并在一起,即
scope:role:edit:<namespace>
和<scope:role:roleget:namespace>
。
有人知道怎么做吗?