【问题标题】:Kubernetes service account with upgrade/patch permission to annotation of deployment具有升级/修补权限的 Kubernetes 服务帐户以注释部署
【发布时间】:2022-01-18 13:13:48
【问题描述】:

我想创建 kubernetes 服务帐户和角色/rbac,它们将授予补丁/更新部署注释的权限。服务帐户不应该能够对 Kubernetes 部署执行任何其他更新。它应该仅对元数据部分具有升级和修补权限。

【问题讨论】:

  • 请提供有关您当前设置的更多信息 - 您使用的是哪个 Kubernetes 版本,您使用哪种解决方案来设置集群(kubeadm 或一些云提供商解决方案等)。

标签: kubernetes kubernetes-deployment kubernetes-security kubernetes-rbac


【解决方案1】:

我会给你一个例子,告诉你如何根据你的需要创建你的服务帐户,你可以拿我的例子来轻松修改,它看起来像这样:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role # it can be ClusterRole if you want your service account for all nodes and across all namespaces
metadata:
  namespace: default # if can specify any your working namespace
  name: depl-patch-role
rules:
- apiGroups: [""] # "" indicates the core API group, you can set any specific group
  resources: ["deployments"]
  verbs: ["update", "patch"]

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: depl-patch-sa

---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: depl-patch-rolebinding
  namespace: default
subjects:
- kind: ServiceAccount
  name: depl-patch-sa
  apiGroup: "" # same as above
roleRef:
  kind: Role
  name: depl-patch-role
  apiGroup: ""

希望这会有所帮助。您可以在official documentation中找到有关角色/rbac 的更多信息

【讨论】:

  • 你好@AkshayGopani。是answer你的问题吗?
  • nope.this 将授予修补任何内容的权限。我想要的是允许特定部分的补丁。
  • @AkshayGopani,没有这样的内置可能性,请随意创建一个python脚本来这样做
猜你喜欢
  • 2019-03-15
  • 2020-06-19
  • 2019-10-20
  • 2021-12-22
  • 2020-04-11
  • 2020-11-03
  • 2018-06-13
  • 2020-04-02
  • 1970-01-01
相关资源
最近更新 更多