【问题标题】:how can i assign permission to service account in azure kubernetes cluster( RBAC is enabled )?如何在 azure kubernetes 集群(启用 RBAC)中为服务帐户分配权限?
【发布时间】:2019-07-04 04:26:12
【问题描述】:

我创建了一个启用了 RBAC 的 Azure Kubernetes 集群。

所以我的想法是,如果任何 pod 想要访问集群中的任何资源,它应该与服务帐户相关联,并且服务帐户应该分配一个特定的角色来访问资源。

但在我的情况下,我可以访问诸如 list pod 之类的资源,从 pod 中列出命名空间,它与未分配任何角色的服务帐户相关联。

如果我对 RBAC 的理解有误,或者我在这里做错了什么,请帮助我!

【问题讨论】:

标签: azure kubernetes rbac service-accounts


【解决方案1】:

您的理解是正确的,我不确定授予默认服务帐户的权限,但如果您创建自己的角色并将其分配给服务帐户,您可以控制权限。示例:

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
  name: myserviceaccount
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: orleans-cluster
  namespace: mynamespace
subjects:
- kind: ServiceAccount
  name: myserviceaccount
  namespace: mynamespace

---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: orleans-cluster
rules:
- apiGroups:
  - orleans.dot.net
  resources:
  - clusterversions
  - silos
  verbs:
  - '*'

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: myserviceccount
  namespace: mynamespace

如果您将 myserviceaccount 分配给 pod,它将只允许 pod 执行角色中定义的任何操作。因此您需要创建一个角色和一个服务帐户,并使用角色绑定(或集群范围权限的 clusterrolebinding)到服务帐户。

【讨论】:

  • 我的问题是我能够使用默认服务帐户列出所有 pod、服务帐户和其他详细信息。但是当我将我的 kubernetes 集群从 1.11.6 升级到 1.12.5 时,它开始抛出 403 错误。所以,我怀疑 K8s 版本 1.11.6 中是否存在任何 RBAC 问题
猜你喜欢
  • 2020-07-03
  • 2018-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-19
  • 1970-01-01
  • 1970-01-01
  • 2020-08-03
相关资源
最近更新 更多