Openshift为用户组合角色

Openshift为用户组合角色,openshift,openshift-origin,Openshift,Openshift Origin,我正在使用openshift部署我的web应用程序。对于登录,我使用带有服务帐户的openshift oauth api。 现在,我正在为所有用户登录时使用范围:角色:编辑:。但是,现在我想根据openshift帐户中定义的角色设置他们的访问权限。 我尝试检索用户角色,但由于我没有管理员权限,因此无法查看用户角色 关于如何解决这个问题有什么想法吗?任何帮助都将不胜感激 进步:所以我能够在一定程度上解决我的问题: 基本上,作为管理员:我创建了一个clusterrole,允许对clusterrole

我正在使用openshift部署我的web应用程序。对于登录,我使用带有服务帐户的openshift oauth api。 现在,我正在为所有用户登录时使用
范围:角色:编辑:
。但是,现在我想根据openshift帐户中定义的角色设置他们的访问权限。 我尝试检索用户角色,但由于我没有管理员权限,因此无法查看用户角色

关于如何解决这个问题有什么想法吗?任何帮助都将不胜感激

进步:所以我能够在一定程度上解决我的问题: 基本上,作为管理员:我创建了一个clusterrole,允许对clusterrolebindings进行读取访问,然后将该角色添加到所需的用户

oc create clusterrole roleget --verb=<verb_list> --resource=<resource_list>

oc adm policy add-role-to-user roleget developer
所以现在,我可以单独满足我的要求了。但是现在,我需要以某种方式将两个作用域合并在一起,即
范围:角色:编辑:


有人知道如何做到这一点吗?

不知道您所说的“根据OpenShift帐户中定义的角色设置访问权限”是什么意思。有关向项目中添加合作者以及他们作为用户可以扮演什么角色的信息,请参阅@GrahamDumpleton Hi,谢谢您的评论。我修改了我的问题,因为第一部分不知怎么解决了。也许你应该解释一下你的要求,而不是问如何让你的解决方案起作用。你所说的你正在做的听起来很不传统,并回避了一个问题:你为什么要这么做。更好地解释需求,也许可以更好地解释实现需求的方法。@GrahamDumpleton用例是:1。我在openshift上部署了X,Y服务。我的angular应用程序也部署在这里,并使用openshift oauth api进行身份验证。2.现在,默认情况下,在登录时,我为每个用户创建一个服务帐户,并根据scope
scope:role:edit:
授予他访问权限,以便用户也可以对X和Y服务执行CRUD操作。3.现在,我想根据用户的openshift rolebindings限制用户的访问权限,因此我尝试在登录时访问权限,然后使用它设置一个全局访问变量。FWIW,如果使用oauth proxy(),则可以将用户访问令牌传递到后面的应用程序,然后,您可以在代表用户调用RESTAPI时使用它。在这种情况下,您不需要创建一个独特的服务帐户。显然,用户必须信任您的应用程序,因为您有效地让他们能够模拟他们并在集群上做任何他们能做的事情。不过,您仍然需要在该项目中为他们添加一个角色。
 curl -k -H "Authorization: Bearer $TOKEN" -H 'Accept: application/json' https://$ENDPOINT/apis/rbac.authorization.k8s.io/v1beta1/namespaces/$NAMESPACE/rolebindings