当前位置:主页 > 查看内容

集群管理权限控制_云容器引擎 CCE_用户指南_集群管理

发布时间:2021-09-23 00:00| 位朋友查看

简介:操作场景 若需要对集群中的资源进行 权限控制 ,(例如A用户只能对某个命名空间下的应用有读写权限,B用户只能对集群下的资源有读权限等),请参照本章节操作。 操作步骤 若需要对集群进行权限控制,请在创建集群时的 “认证方式” 参数后勾……

操作场景

若需要对集群中的资源进行权限控制,(例如A用户只能对某个命名空间下的应用有读写权限,B用户只能对集群下的资源有读权限等),请参照本章节操作。

操作步骤

  1. 若需要对集群进行权限控制,请在创建集群时的“认证方式”参数后勾选“认证能力增强”,分别上传自己的CA根证书客户端证书客户端证书私钥,并勾选“我已确认上传的证书合法”。详细请参见表2

    • 请上传小于1MB的文件,CA根证书和客户端证书上传格式支持.crt或.cer格式,客户端证书私钥仅支持上传未加密的证书私钥
    • 客户端证书有效期需要5年以上。
    • 上传的CA根证书既给认证代理使用,也用于配置kube-apiserver聚合层,如不合法,集群将无法成功创建

  2. 通过kubectl创建角色。

    下面的例子展示了如何创建“Role”R:允许该角色读取default空间下的所有Pod。参数详细解释请参见Kubernetes官方文档
    kind: Role
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      namespace: default
      name: pod-reader
    rules:
    - apiGroups: [""]
      resources: ["pods"]
      verbs: ["get", "watch", "list"]

  3. 通过kubectl创建角色绑定。

    下面的例子给出RoleBindings赋予default命名空间下的pod-reader的角色给用户jane。该策略允许用户jane可以读取default命名空间下的所有pods。参数详细解释请参见Kubernetes官方文档
    kind: RoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: read-pods
      namespace: default
    subjects:
    - kind: User
      name: jane   #华为云的用户名
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: Role
      name: pod-reader    #创建的角色名
      apiGroup: rbac.authorization.k8s.io

  4. 创建角色并与用户绑定成功后,请在接口请求的headers中携带用户信息以及集群创建时上传的证书访问kubernetes接口。例如调取查询pod的接口时,执行命令如下:

    curl -k -H "X-Remote-User: jane" --cacert /root/tls-ca.crt --key /root/tls.key --cert /root/tls.crt https://192.168.23.5:5443/api/v1/namespaces/default/pods

    返回200表示访问成功,返回403表示没有权限访问。

    为避免命令执行失败,请提前把证书上传到/root目录下。

    参数解释如下:

    • X-Remote-User: jane:请求头固定为X-Remote-User,jane为用户名。
    • tls-ca.crt :创建集群时上传的CA根证书。
    • tls.crt:与集群创建时所上传的CA根证书配套的客户端证书。
    • tls.key:与集群创建时所上传的CA根证书配套的客户端秘钥。
    • 192.168.23.5:5443:为连接集群的地址,获取方式如下:

      登录CCE控制台,在左侧导航栏中选择“资源管理 > 集群管理”,单击待连接集群的名称,在集群基本信息中获取“内网apiserver地址”后的IP地址和端口号。

      图1 获取访问地址
      • CCE支持华为云帐号和IAM用户分别下载config文件(kubeconfig.json),IAM用户下载的config文件只有30天的有效期,而华为云帐号下载的config文件会长期有效。该文件用户对接认证用户集群,请用户妥善保存该认证凭据,防止文件泄露后,集群有被攻击的风险。如果不幸泄露,可以通过证书更新的方式,替换认证凭据。
      • IAM用户下载的config文件所拥有的Kubernetes权限与CCE控制台上IAM用户所拥有的权限一致。

    另外,还支持X-Remote-Group的头域:用户组名,在做RoleBinding时,可以将Role与Group进行绑定,并在访问集群时携带用户组信息。


本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:执行伸缩规则 - 弹性伸缩 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐