当前位置: 首页 > 知识库问答 >
问题:

如何将权限分配给azure kubernetes集群中的服务帐户(已启用RBAC)?

洪光霁
2023-03-14

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

请帮助我知道我对RBAC的理解是错误的还是我在这里做错了什么!!

共有1个答案

李疏珂
2023-03-14

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

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执行角色中定义的任何操作。因此,您需要创建一个角色和一个服务帐户,并对服务帐户使用rolebinding(或clusterrolebinding用于群集范围的权限)。

 类似资料:
  • 我在一个GCP项目中构建了一个Google Kubernetes引擎(GKE)集群。 根据集群上运行的应用程序的不同用例,我将应用程序与不同的服务帐户和不同的授予权限相关联。为此,我将Google服务帐户(GSA)与库伯内特斯集群服务帐户(KSA)绑定如下: 参考:https://cloud.google.com/kubernetes-engine/docs/how-to/workload-ide

  • 我正在尝试使用django-storages为带有服务帐户json文件的google云存储桶授予权限。但是,只有当我向所有具有对象视图权限的用户授予访问权限时,才能访问桶中的项目。我如何限制桶的公共访问。

  • 我正在编写一个从诊断包中收集信息的工具。此工具的结果将写入Firestore进行分析。该工具是用Python编写的,并作为一个包分发,包括。服务帐户的json。该服务帐户用于验证数据库中的读写操作。下面是每个包中使用的数据库组件的一个片段: 我正在寻找缩小FiRecovery的权限,因为目前,所有拥有这些凭据的用户都可以完全访问FiRecovery。查看文档,这似乎是不可能的: 使用带有服务号的F

  • 为Google Apps域的管理员寻找当前修改其他用户拥有的Google Drive对象权限的最佳方法。我将在Google App Engine上开发该应用程序。 使用两条腿的OAuth和Google文档列表API非常简单:https://developers.google.com/gdata/docs/auth/oauth#2LeggedOAuth但是现在Google Drive SDK是实时A

  • 我尝试向一个Kubernetes集群(Minikube)提交一个Spark应用程序。在客户端模式下运行我的spark submit时,一切都很顺利。在3个POD中创建3个执行器,并执行代码。下面是我的submit命令: 我该怎么做才能使它起作用?

  • 文档建议将服务帐户添加到GApps的第三方oauth访问列表必须由域管理员手动完成:https://developers.google.com/drive/delegation#delegate_domain-wide_authority_to_your_service_account 有没有一种方法可以通过身份验证页面来实现这一点?