开发者社区> 问答> 正文

K8S的权限如何分配给用户权限

我想要K8S相关的权限分配某个用户。
包括K8S关联的ecs.oss.节点配置。部署权限

展开
收起
晨风panpan 2018-11-13 17:20:22 1577 0
1 条回答
写回答
取消 提交回答
  • 阿里云论坛版主,QQ 1978638808

    本文旨在帮助您了解如何通过容器服务控制台配置子账号对应的Kubernetes RAM集群权限和在集群内相应的Kubernetes RBAC应用权限。

    配置说明

    • 子账号授权页面仅主账号可见。您需要拥有一个阿里云主账号,并有一个或若干个子账号。
    • 由于阿里云RAM的安全限制,当您通过容器服务控制台的授权配置涉及到子账号RAM授权的修改时,需要您按照页面上给出的参考策略内容和操作说明,在RAM控制台进行目标子账号的手动授权。

    操作步骤

    说明  因为子账号授权页面仅主账号可见,您需要用主账号登录容器服务控制台。
    1. 在Kubernetes菜单下,单击左侧导航栏中的 集群 > 授权管理,进入 授权管理页面。
    2. 在子账号列表中选择需要授权的子账号,单击 授权

    3. 进入 资源授权页面,您可以通过单击表格左上角的加号添加集群或命名空间级别的权限配置,并选择相应的预置角色;也可以单击配置行首的减号删除目标角色。


      集群和命名空间的预置角色定义可查看下面的角色权限说明:

      表 1.  角色权限说明
      集群管理权限
      应用管理权限
      管理员 集群读写权限,可删除、伸缩集群,添加节点 对所有命名空间下资源的读写权限,对集群节点,存储卷,命名空间,配额的读写权限 运维人员 集群读写权限,可删除、伸缩集群,添加节点 对所有命名空间下资源的读写权限,对集群节点,存储卷,命名空间,配额的只读权限 开发人员 集群只读权限 对所有命名空间或所选命名空间下资源的读写权限 受限用户 集群只读权限 对所有命名空间或所选命名空间下资源的只读权限 自定义 集群读写权限,可删除、伸缩集群,添加节点 权限由您所选择的 ClusterRole 决定,请在确定所选 ClusterRole 对各类资源的操作权限后再进行授权,以免子账号获得不符合预期的权限
    4. 完成配置后,如果涉及目标子账号RAM集群权限的变更,在更新授权策略页面会展示配置项对应的Kubernetes集群RAM权限参考配置,您可以根据页面中的指导在RAM控制台完成子账号授权的更新。

    补充说明

    为了不影响子账号对当前存量可访问kubernetes集群的正常使用,容器服务控制台会暂时兼容旧的集群访问权限控制,在一段时间对原有子账号可访问kubernetes集群不进行RBAC的应用权限校验,如果您是子账号用户,请您根据集群类型和兼容方式,及时联系主账号进行授权操作。

    对于由当前子账号自身创建的存量集群,可以通过在集群详情页面单击升级当前集群授权信息,完成集群应用权限的自动升级。

    在公告期结束后,仍旧没有由主账号授权或进行权限管理升级的子账号,子账号将被禁止访问集群对应的应用控制台。

    表 2.  兼容集群说明
    兼容集群类型
    兼容方式
    存量子账号创建集群 提示权限管理升级公告,提供一键升级链接,子账号可通过点击升级链接完成应用授权 存量RAM授权访问集群 提示权限管理升级公告,请及时联系主账号完成应用授权 新建RAM授权访问集群 提示权限管理升级公告,请及时联系主账号完成应用授权

    自定义权限说明

    阿里云容器服务预置了管理员、运维人员、开发人员和受限人员4种标准的访问权限,可满足大部分用户在容器服务控制台上的使用需求。如果您想自由定义集群的访问权限,可使用自定义权限功能。

    阿里云容器服务内置了一些自定义权限。
    说明  其中cluster-admin权限值得关注,属于集群超级管理员权限,对所有资源都默认拥有权限。


    您可登录到集群Master节点,执行以下命令,查看自定义权限的详情。
    说明  只有部分clusterrole会在自定义下拉框显示。
    # kubectl get clusterrole
    NAME                                                                   AGE
    admin                                                                  13d
    alibaba-log-controller                                                 13d
    alicloud-disk-controller-runner                                        13d
    cluster-admin                                                          13dcs:admin                                                               13d
    edit                                                                   13d
    flannel                                                                13d
    kube-state-metrics                                                     22h
    node-exporter                                                          22h
    prometheus-k8s                                                         22h
    prometheus-operator                                                    22hsystem:aggregate-to-admin                                              13d
    ....  
    system:volume-scheduler                                                13d
    view                                                                   13d

    以超级管理员cluster-admin为例,执行以下命令,查看其权限详情。

    说明  子账号被授予该集群角色后,在该集群内,可视为与主账号有相同权限的超级账号,拥有操作集群内所有资源的任意权限,建议谨慎授予。
    # kubectl get clusterrole cluster-admin  -o yamlapiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:  annotations:
        rbac.authorization.kubernetes.io/autoupdate: "true"  creationTimestamp: 2018-10-12T08:31:15Z
      labels:
        kubernetes.io/bootstrapping: rbac-defaults
      name: cluster-admin
      resourceVersion: "57"  selfLink: /apis/rbac.authorization.k8s.io/v1/clusterroles/cluster-admin
      uid: 2f29f9c5-cdf9-11e8-84bf-00163e0b2f97
    rules:
    - apiGroups:
      - '*'  resources:
      - '*'  verbs:
      - '*'
    - nonResourceURLs:
      - '*'  verbs:
      - '*'

    2018-11-13 22:20:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像