【问题标题】:kubectl to allow user to only to copy files in and out of the podskubectl 允许用户只复制文件进出 pod
【发布时间】:2020-09-14 04:26:00
【问题描述】:

我有一个部署了我的应用程序的 Kubernetes 集群。 还有一些其他用户,他们应该只能将文件复制到 pod 中和从 pod 中复制。使用 kubectl cp 命令。 此用户上下文不应允许用户在集群上执行除 kubectl cp 之外的任何其他操作。

【问题讨论】:

    标签: kubernetes kubectl rbac kubernetes-pod kubeconfig


    【解决方案1】:

    kubectl cp 内部使用exec。无法提供仅复制的权限,但您只能提供exec 权限。

    创建具有pods/exec权限的角色

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      namespace: default
      name: pod-exec
    rules:
    - apiGroups: [""]
      resources: ["pods/exec"]
      verbs: ["create"]
    

    创建一个角色绑定以将上述角色分配给user

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: pod-exec-binding
      namespace: default
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: pod-exec
    subjects:
    - apiGroup: rbac.authorization.k8s.io
      kind: User
      name: user
    

    【讨论】:

    • 看起来很有帮助将在此探索更多
    【解决方案2】:

    与其使用 kubectl cp,不如使用 sftp 或 rsync 服务器运行 sidecar 容器。这将使您在各个层面都能获得更好的控制。

    【讨论】:

      【解决方案3】:

      你可以使用 opa 和准入控制器,它只允许运行 api manifest 有一个特定的标签,如“cp”或“用户名”等,也可以从网守中受益

      https://www.youtube.com/watch?v=ZJgaGJm9NJE&t=3040s

      【讨论】:

        猜你喜欢
        • 2018-01-25
        • 2019-09-17
        • 2021-03-12
        • 2014-02-26
        • 2012-09-05
        • 2011-09-08
        • 1970-01-01
        • 2016-01-25
        • 2019-04-22
        相关资源
        最近更新 更多