开班4 RBAC
Openshift 4 RBAC
我有:
- 默认安装 Openshift 4.6
集群中 - 3 master/worker 个节点
- 已配置 OAuth
- 系统身份验证组中的自配置者角色已被删除
详情Question/Objective:
为用户分配自配置角色允许用户创建项目和项目内的任何资源,我想要实现的是,一个可以创建项目的用户,但内部没有任何进一步的 rights/permission该项目。这可能吗?
Openshift 4.6 的文档告诉我们,任何用户创建一个项目,用户(请求者)将成为该项目的管理员,这是因为 Openshift API 在创建项目时将使用默认模板.
我很困惑我应该在哪里进行更改以反映我的 objective,是模板还是使用任何不同的 RBAC 角色。
提前致谢。
首先你需要从openshift-config备份一个项目project-template,老实说我不知道该怎么做。如果有人找到方法,请在答案下方发表评论。 - 看看@Stevencommy
下面的第一个答案
创建新的项目模板
oc adm create-bootstrap-project-template -o yaml > template.yaml
在template.yml
配置
kind: Project
...
name: ${PROJECT_NAME}
新建项目的默认用户配置在
- apiGroup: rbac.authorization.k8s.io
kind: User
name: <YOUR_USER_WITHOUT_RIGHTS_TO_CREATE_PROJECT>
然后创建模板
oc create -f template.yaml -n openshift-config
更新
oc edit project.config.openshift.io/cluster
有
spec:
projectRequestTemplate:
name: <template_name>
<template_name>
默认是 project-request
你也可以列出 oc get templates -n openshift-config | grep project-request
如果一切顺利,您可以使用 oc new-project <your-project>
进行测试。项目的 user
应该是 <YOUR_USER_WITHOUT_RIGHTS_TO_CREATE_PROJECT>
我有:
- 默认安装 Openshift 4.6 集群中
- 3 master/worker 个节点
- 已配置 OAuth
- 系统身份验证组中的自配置者角色已被删除
详情Question/Objective: 为用户分配自配置角色允许用户创建项目和项目内的任何资源,我想要实现的是,一个可以创建项目的用户,但内部没有任何进一步的 rights/permission该项目。这可能吗?
Openshift 4.6 的文档告诉我们,任何用户创建一个项目,用户(请求者)将成为该项目的管理员,这是因为 Openshift API 在创建项目时将使用默认模板.
我很困惑我应该在哪里进行更改以反映我的 objective,是模板还是使用任何不同的 RBAC 角色。
提前致谢。
首先你需要从openshift-config备份一个项目project-template,老实说我不知道该怎么做。如果有人找到方法,请在答案下方发表评论。 - 看看@Stevencommy
下面的第一个答案创建新的项目模板
oc adm create-bootstrap-project-template -o yaml > template.yaml
在template.yml
配置
kind: Project
...
name: ${PROJECT_NAME}
新建项目的默认用户配置在
- apiGroup: rbac.authorization.k8s.io
kind: User
name: <YOUR_USER_WITHOUT_RIGHTS_TO_CREATE_PROJECT>
然后创建模板
oc create -f template.yaml -n openshift-config
更新
oc edit project.config.openshift.io/cluster
有
spec:
projectRequestTemplate:
name: <template_name>
<template_name>
默认是 project-request
你也可以列出 oc get templates -n openshift-config | grep project-request
如果一切顺利,您可以使用 oc new-project <your-project>
进行测试。项目的 user
应该是 <YOUR_USER_WITHOUT_RIGHTS_TO_CREATE_PROJECT>