Kubernetes [RBAC]:有权访问特定 Pod 的用户

mva*_*uez 5 rbac kubernetes kubernetes-security kubernetes-pod

我需要向外部支持授予对命名空间内的一组 pod 的访问权限。我一直在阅读 RBAC API、[Cluster] 角色和 [Cluster] 角色绑定;但我找不到有关如何将角色应用于一组 pod(基于注释或标签)的任何信息。有谁知道是否有可能做到这一点?

这是我现在使用的角色,需要将其限制为特定的 pod 集:

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: <ClientX>-PodMonitor
  namespace: <namespace>
rules:
- apiGroups: [""]
  verbs: ["get", "list"]
  resources: ["pods", "pods/log"]
Run Code Online (Sandbox Code Playgroud)

如果你们需要更多细节,请告诉我。

谢谢。

Ami*_*mit 6

尝试以下使用资源名称定义角色绑定的方法作为文档上的示例:

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
    namespace: default
    name: configmap-updater
rules:
- apiGroups: [""]
  resources: ["configmaps"]
  resourceNames: ["my-configmap"]
  verbs: ["update", "get"]
Run Code Online (Sandbox Code Playgroud)

  • 我认为这并不能完全解决@mvazquez 的问题,因为它没有涉及“基于注释或标签”部分。我希望完整的答案包括一个自定义控制器,用于监视 Pod 并编辑“Role”以保持“resourceNames”与带注释或标记的 Pod 同步 (4认同)