openshift - Openshift 4 RBAC
问题描述
是)我有的:
- Openshift 4.6 的默认安装
- 集群中的 3 个主/工作节点
- 已配置 OAuth
- system-auth 组中的 self-provisioner 角色已被删除
详细问题/目标:为用户分配一个自我供应者角色允许用户创建一个项目和项目内的任何资源,我想要实现的是,一个可以创建项目但没有任何进一步权限的用户/权限在项目中。这甚至可能吗?
Openshift 4.6 的文档表明,任何用户创建项目,用户(请求者)都将成为该项目的管理员,这是因为 Openshift API 在创建项目时将使用默认模板。
我对在哪里进行更改以反映我的目标感到困惑,是模板还是使用任何不同的 RBAC 角色。
先感谢您。
解决方案
首先,您需要从 openshift-config 备份一个项目项目模板,说实话我不知道该怎么做。如果有人找到方法,请在答案下发表评论。-看看@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>
. for项目user
应该是<YOUR_USER_WITHOUT_RIGHTS_TO_CREATE_PROJECT>
推荐阅读
- python - 将字符串转换为变量类型python
- django - manage.py makemessages 不适用于项目的 urls.py 文件
- javascript - javascript [对象 HTMLParagraphElement] 问题
- flutter - 聚焦焦点小部件下方的第一个可聚焦元素
- server - 混合动力车能做什么和不能做什么
- arrays - 你如何防止 pyspark 使用explode() 复制数据?
- pandas - Pandas Pivot table:如何按类别对数据透视表中的前 n 个现在进行排序并生成新的数据框?
- google-cloud-platform - 您如何处理谷歌云托管网站中的文件上传?
- r - 多条件虚拟变量
- linux - 如何使用 sox 获取所有音频的音频长度?