本文介绍如何自定义配置腾讯云容器服务 TKE 的自定义策略,授予子账号特定权限。您可参考文本并根据实际业务需求进行配置。
策略语法说明
策略语法结构如下图所示:
action:表示接口。
resource:表示资源。
TKE 接口权限配置
本节提供了集群、节点模块的多个功能所包含的子功能、对应云 API 接口、间接调用接口、权限控制资源级别以及 Action 字段展示相关信息。
集群模块
功能接口对照表如下:
功能 | 包含子功能 | 对应云 API 接口 | 间接调用接口 | 权限控制资源级别 | Action 字段 |
创建空集群 | Kubernetes 版本选择 运行时组件选择 选择 VPC 网络 设置容器网络 自定义镜像选择 Ipvs 设置 | tke:CreateCluster | cam:GetRole account:DescribeUserData account:DescribeWhiteList tag:GetTagKeys vpc:DescribeVpcEx cvm:DescribeImages | 创建集群是接口级别权限控制 获取 VPC 列表,需要 VPC 的资源权限 | "tke:CreateCluster", "cam:GetRole", "tag:GetTagKeys", "vpc:DescribeVpcEx", "cvm:DescribeImages" |
| 使用已有 CVM 创建托管集群 | 创建空集群包含功能 将已有 CVM 作为 Node 挂载安全组 挂载数据盘 开启自动调节 | cvm:DescribeInstances vpc:DescribeSubnetEx cvm:DescribeSecurityGroups vpc:DescribeVpcEx cvm:DescribeImages cvm:ResetInstance cvm:DescribeKeyPairs | 创建集群是接口级别权限控制 获取 CVM 列表,需要 CVM 的资源权限 | "tke:CreateCluster", "cvm:DescribeInstances", "vpc:DescribeSubnetEx", "cvm:DescribeSecurityGroups", "vpc:DescribeVpcEx", "cvm:DescribeImages", "cvm:ResetInstance", "cvm:DescribeKeyPairs" |
| 使用已有 CVM 创建独立集群 | 创建空集群包含功能 将已有 CVM 作为 Node 将已有 CVM 作为 Master&ETCD 挂载安全组 挂载数据盘 开启自动调节 | cvm:DescribeInstances vpc:DescribeSubnetEx cvm:DescribeSecurityGroups vpc:DescribeVpcEx cvm:DescribeImages cvm:ResetInstance cvm:DescribeKeyPairs | 创建集群是接口级别权限控制 获取 VPC 列表,需要 VPC 的资源权限 获取 CVM 列表,需要 CVM 的资源权限 | "tke:CreateCluster", "cvm:DescribeInstances", "vpc:DescribeSubnetEx", "cvm:DescribeSecurityGroups", "vpc:DescribeVpcEx", "cvm:DescribeImages", "cvm:ResetInstance", "cvm:DescribeKeyPairs" |
| 自动新建 CVM 创建托管集群 | 创建空集群包含功能 购买 CVM 作为 node 挂载安全组 挂载数据盘 开启自动调节 | cvm:DescribeSecurityGroups cvm:DescribeKeyPairs cvm:RunInstances vpc:DescribeSubnetEx vpc:DescribeVpcEx cvm:DescribeImages | 创建集群是接口级别权限控制 获取 VPC 列表,需要 VPC 的资源权限 | "cvm:DescribeSecurityGroups", "cvm:DescribeKeyPairs", "cvm:RunInstances", "vpc:DescribeSubnetEx", "vpc:DescribeVpcEx", "cvm:DescribeImages", "tke:CreateCluster" |
| 自动新建 CVM 创建独立集群 | 创建空集群包含功能 购买 CVM 作为 Node 购买 CVM 作为 Master&ETCD 挂载安全组 挂载数据盘 开启自动调节 | cvm:DescribeSecurityGroups cvm:DescribeKeyPairs cvm:RunInstancesvpc:DescribeSubnetEx vpc:DescribeVpcEx cvm:DescribeImages | 创建集群是接口级别权限控制 获取 VPC 列表,需要 VPC 的资源权限 | "cvm:DescribeSecurityGroups", "cvm:DescribeKeyPairs", "cvm:RunInstances", "vpc:DescribeSubnetEx", "vpc:DescribeVpcEx", "cvm:DescribeImages", "tke:CreateCluster" |
查询集群列表 | - | tke:DescribeClusters | - | 获取集群列表,需要集群的资源权限 | "tke:DescribeClusters" |
显示集群凭证 | - | tke:DescribeClusterSecurity | - | 显示集群凭证,需要集群的资源权限 | "tke:DescribeClusterSecurity" |
开启/关闭集群内/外网访问地址 | 创建托管集群外网访问端口 创建集群访问端口 修改托管集群外网端口的安全策略 查询托管集群开启外网端口流程状态 删除托管集群外网访问端口 删除集群访问端口 | tke:CreateClusterEndpointVip tke:CreateClusterEndpoint tke:ModifyClusterEndpointSP tke:DescribeClusterEndpointVipStatus tke:DescribeClusterEndpointStatus tke:DeleteClusterEndpointVip tke:DeleteClusterEndpoint | - | 开启关闭集群访问,需要集群资源的权限 | - |
删除集群 | - | tke:DeleteCluster | tke:DescribeClusterInstances tke:DescribeInstancesVersion tke:DescribeClusterStatus | 删除集群,需要集群的资源权限 | "tke:DescribeClusterInstances", "tke:DescribeInstancesVersion", "tke:DescribeClusterStatus", "tke:DeleteCluster" |
节点模块
功能接口对照表如下:
功能 | 包含子功能 | 对应云 API 接口 | 间接调用接口 | 权限控制资源级别 | Action 字段 |
添加已有节点 | 将已有节点加入到集群 重新设置数据盘 设置安全组 | tke:AddExistedInstances | cvm:DescribeInstances vpc:DescribeSubnetEx cvm:DescribeSecurityGroups vpc:DescribeVpcEx cvm:DescribeImages cvm:ResetInstance cvm:DescribeKeyPairs cvm:ModifyInstancesAttribute tke:DescribeClusters | 添加已有节点、需要对应集群的资源权限 获取 CVM 列表,需要 CVM 的资源权限 | "cvm:DescribeInstances", "vpc:DescribeSubnetEx", "cvm:DescribeSecurityGroups", "vpc:DescribeVpcEx", "cvm:DescribeImages", "cvm:ResetInstance", "cvm:DescribeKeyPairs", "tke:DescribeClusters", "tke:AddExistedInstances" |
新建节点 | 新建节点加入到集群 重新设置数据盘 设置安全组 | tke:CreateClusterInstances | cvm:DescribeSecurityGroups cvm:DescribeKeyPairs cvm:RunInstances vpc:DescribeSubnetEx vpc:DescribeVpcEx cvm:DescribeImages tke:DescribeClusters | 新建节点、需要对应集群的资源权限 | "cvm:DescribeSecurityGroups", "cvm:DescribeKeyPairs", "cvm:RunInstances", "vpc:DescribeSubnetEx", "vpc:DescribeVpcEx", "cvm:DescribeImages", "tke:DescribeClusters" |
节点列表 | 查看集群节点列表 | tke:DescribeClusterInstances | cvm:DescribeInstances tke:DescribeClusters | 查看节点列表需要对应集群的资源权限 获取 CVM 列表,需要 CVM 的资源权限 | "cvm:DescribeInstances", "tke:DescribeClusters", "tke:DescribeClusterInstances" |
移出节点 | - | tke:DeleteClusterInstances | cvm:TerminateInstances tke:DescribeClusters | 查看节点列表需要对应集群的资源权限 获取 CVM 列表,需要 CVM 的资源权限 删除节点,需要对应节点的销毁策略 | "cvm:TerminateInstances", "tke:DescribeClusters", "tke:DeleteClusterInstances" |