gpt4 book ai didi

kubernetes - 'UPDATE' Kubernetes RBAC 权限有什么作用?

转载 作者:行者123 更新时间:2023-12-05 02:47:52 34 4
gpt4 key购买 nike

我这辈子都找不到一张详细的表格来说明所有 Kubernetes RBAC 动词的作用。我看到人们推荐的唯一资源是 this one ,这是可悲的不足的。

所以我一直在通过实验解决这个问题。

到目前为止,除了 UPDATE 之外,大多数都相当简单。这似乎无法做任何我期望的事情。

我给别名的权限:default 命名空间中的 [deployments] 上 [GET, UPDATE]。

我尝试过的事情:

  • kubectl set image deployment/hello-node echoserver=digitalocean/flask-helloworld --as user
  • kubectl edit deploy hello-node --as user
  • kubectl apply -f hello-node.yaml --as eks-user

这些都因错误而失败:deployments.apps "hello-node"is forbidden: User "user"cannot patch resource "deployments in API group "apps"in the namespace "default"

然后我尝试了一些推出命令,例如:

  • k rollout undo deploy hello-node --as user

但他们失败了,因为我没有副本集访问权限。


TLDR:Kubernetes RBAC update 动词的意义何在?

就此而言,有人有更详细的所有 RBAC 动词列表吗?

最佳答案

接着,我去了 Kubernetes REST API documentation ,其中有一长串您可以对 REST 服务器进行的所有 HTTP API 调用。

我认为这会有所帮助,因为通过将不同动词与 HTTP 动词进行比较,可以使用描述不同动词可以做什么的一 (1) 个表格来做到这一点。所以计划是:

  1. 查看 update 权限等同于什么 HTTP 动词。
  2. 转到引用资料并找到在部署中使用该 HTTP 动词的示例。
  3. 测试 kubectl 等价物。

所以。

什么 HTTP 动词等于 update 权限?

放置

使用 PUT 进行部署的示例?

Replace Scale: replace scale of the specified Deployment

HTTP RequestPUT /apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale

什么是等效的 kubectl 命令?

我们正在扩展部署,所以我要说:

kubectl scale deployment hello-node --replicas=2

我可以运行这个命令吗?

我首先将我的权限扩展到 deployment/scale,然后运行它。

Error from server (Forbidden): deployments.apps "hello-node" is forbidden: User "user" cannot patch resource "deployments/scale" in API group "apps" in the namespace "default"

嗯。这也需要 patch 权限,它会出现。

尽管根据 API 文档,使用的 HTTP 动词是 PUT,并且 PUT 等同于 update 根据有关这些 RBAC 动词的任何信息的一 (1) 个来源。

无论如何。

我的结论:看来 update 确实没用,至少对于 Deployments 是这样。

RBAC 设置起初看起来很有希望,但老实说,随着我发现越来越多的边缘案例和未记录的谜团,它开始失去光彩。访问权限似乎绝对是最糟糕的事情,否则您的安全性最终将更多地来自模糊而不是确定。

关于kubernetes - 'UPDATE' Kubernetes RBAC 权限有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64754284/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com