Heb*_*rst 4 updates rbac kubernetes kubernetes-rbac
我怎么也找不到所有 Kubernetes RBAC 动词的作用的详细表格。我看到人们推荐的唯一资源就是这个,但它严重不足。
所以我一直在通过实验来解决这个问题。
到目前为止,大多数都相当简单,除了UPDATE. 这似乎无法完成我期望的任何事情。
我在命名空间中的[ ]上授予了我的别名:
[ GET, ]权限。UPDATEdeploymentsdefault
我尝试过的事情:
kubectl set image deployment/hello-node echoserver=digitalocean/flask-helloworld --as userkubectl edit deploy hello-node --as userkubectl 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 文档,其中有一长串可以对 REST 服务器进行的所有 HTTP API 调用的列表。
我认为这会有所帮助,因为描述不同动词可以做什么的一 (1) 个表通过将它们与 HTTP 动词进行比较来实现。所以计划是:
update权限相当于什么 HTTP 动词。kubectl等效项。所以。
什么 HTTP 动词等于update权限?
PUT。
用于PUT部署的示例?
Replace Scale:替换指定Deployment的scale
HTTP请求
PUT /apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale
等效kubectl命令是什么?
好吧,我们正在扩展部署,所以我要说:
kubectl scale deployment hello-node --replicas=2
Run Code Online (Sandbox Code Playgroud)
我可以运行这个命令吗?
我将权限扩展到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"
Run Code Online (Sandbox Code Playgroud)
出色地。patch看来这也需要权限。
尽管所使用的 HTTP 动词是PUT根据 API 文档,并且PUT相当于update根据这些 RBAC 动词的任何信息的一 (1) 源。
反正。
我的结论:看起来update确实没什么用,至少对于部署来说是这样。
RBAC 设置一开始看起来很有希望,但老实说,随着我发现越来越多的边缘情况和未记录的谜团,它开始失去光彩。访问权限似乎是含糊不清的绝对最糟糕的事情,否则您的安全最终更多地是通过模糊而不是确定性来实现的。
| 归档时间: |
|
| 查看次数: |
2673 次 |
| 最近记录: |