即使在apiGroups中添加了roles.rbac.authorization.k8s.io也是禁止的-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

即使在apiGroups中添加了roles.rbac.authorization.k8s.io也是禁止的

2019-01-09 13:47:39 4893 1

我正在运行kubernetes v1.11.5并且我正在为每个命名空间安装带有分蘖部署的头盔。让我们专注于一个命名空间。这是分蘖服务帐户配置:


apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller

namespace: marketplace-int

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: tiller-manager
namespace: marketplace-int
rules:

  • apiGroups:

    • ""
    • extensions
    • apps
    • rbac.authorization.k8s.io
    • roles.rbac.authorization.k8s.io
    • authorization.k8s.io
      resources: ["*"]

verbs: ["*"]

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: tiller-binding
namespace: marketplace-int
subjects:

  • kind: ServiceAccount
    name: tiller

namespace: marketplace-int
roleRef:
kind: Role
name: tiller-manager
apiGroup: rbac.authorization.k8s.io
当我尝试部署图表时,我收到此错误:

Error: release citest failed: roles.rbac.authorization.k8s.io "marketplace-int-role-ns-admin" is forbidden:
attempt to grant extra privileges:
[{[] [] [*] [] []}] user=&{system:serviceaccount:marketplace-int:tiller 5c6af739-1023-11e9-a245-0ab514dfdff4
[system:serviceaccounts system:serviceaccounts:marketplace-int system:authenticated] map[]}
ownerrules=[{[create] [authorization.k8s.io] [selfsubjectaccessreviews selfsubjectrulesreviews] [] []}
{[get] [] [] [] [/api /api/ /apis /apis/ /healthz /openapi /openapi/ /swagger-2.0.0.pb-v1 /swagger.json /swaggerapi /swaggerapi/ /version /version/]}
{[] [ extensions apps rbac.authorization.k8s.io roles.rbac.authorization.k8s.io authorization.k8s.io] [] [] []}] ruleResolutionErrors=[]
尝试为该命名空间创建rbac配置时出现错误(使用tiller sa):

Source: marketplace/templates/role.yaml

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
labels:

app: citest
chart: marketplace-0.1.0
heritage: Tiller
release: citest
namespace: marketplace-int

name: marketplace-int-role-ns-admin
rules:

  • apiGroups: ["*"]
    resources: ["*"]
    verbs: ["*"]
    错误消息清楚地表明,分蘖服务帐户没有权限,roles.rbac.authorization.k8s.io但是如前所示授予了该权限。
取消 提交回答
全部回答(1)
  • k8s小能手
    2019-07-17 23:24:56

    这是由于RBAC中的权限升级预防。有关详细信息,请参阅https://kubernetes.io/docs/reference/access-authn-authz/rbac/#privilege-escalation-prevention-and-bootstrapping

    创建角色对象的权限是必要的,但还不够。

    如果至少满足下列条件之一,则用户只能创建/更新角色:

    它们已具有角色中包含的所有权限,与要修改的对象的范围相同(ClusterRole的群集范围,在同一命名空间内或角色的群集范围内)。在您的情况下,这意味着尝试创建角色的用户必须已apiGroups=, resources=, verbs=*在其尝试创建角色的命名空间内具有权限。您可以通过使用rolebinding将cluster-admin clusterrole授予该命名空间中的serviceaccount来授予此权限。

    他们被明确许可在rbac.authorization.k8s.io API组中的角色或群集资源上执行“升级”动词(Kubernetes 1.12和更新版本)

    0 0
相关问答

1

回答

Kubernetes 是 IBM 团队发起并维护的基于Docker的开源容器集群管理系统

2022-02-20 20:00:16 1778浏览量 回答数 1

1

回答

【RDS】使用JDBC访问PPAS提示“syntax error at end of input"?

2022-01-13 13:11:22 531浏览量 回答数 1

1

回答

Python中io.DEFAULT_BUFFER_SIZE缺省缓冲区大小、字节是什么?

2021-12-04 23:59:51 122浏览量 回答数 1

1

回答

python中df.idxmin(axis=0, skipna=True)是什么?

2021-11-30 23:38:45 124浏览量 回答数 1

1

回答

在/root 目录中存放了 install.log文件执行什么命令可以列出呢?

2021-11-15 20:37:40 226浏览量 回答数 1

0

回答

python的函数radiansdict setdefault(key, default=None)

2021-11-15 19:34:20 126浏览量 回答数 0

1

回答

python中的函数rfind(str,beg=0,end=len(string))的意思是什么啊?

2021-11-04 19:27:52 426浏览量 回答数 1

2

回答

我现在有一odps 维表表,这个表的数据是由 mysql库的两张维表表join后生成同步,请问 我是在mysql中创建一个视图来,然后通过视图来同步呢?

2019-01-08 16:37:00 3433浏览量 回答数 2

1

回答

云服务器 ECS Ubuntu 系统修改 DNS 配置文件 i 属性报错:Operation not supported

2017-10-23 15:05:44 3509浏览量 回答数 1

3

回答

iOS使用resumableUploadWithCallback接口是否支持手动pause

2015-08-04 17:53:46 4821浏览量 回答数 3
+关注
k8s小能手
整合最优质的专家资源和技术资料,问答解疑
26
文章
620
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载