容器服务的用户授权包括 IAM (Identity and Access Management,基于身份的权限控制)授权和容器服务的RBAC (Role-Based Access Control ,基于角色的权限控制)授权。
在多用户协同管理容器服务资源的场景下, IAM(Identity and Access Management,访问控制)用户操作容器服务资源时,需要授予相应的权限和策略。
策略是访问控制 IAM 描述能力的一种方式。IAM 支持以下两种权限策略:
容器服务提供如下几种系统预设策略,可直接为 IAM 用户授权。详细的配置方法,请参见 关联系统预设策略。
策略 | 策略描述 |
---|---|
VKEFullAccess | 该策略为容器服务全读写访问权限,包括云服务器(ECS)、负载均衡(CLB)、私有网络(VPC)、NAT 网关的全读写访问权限。 |
VKEInnerFullAccess | 该策略为容器服务内部全读写访问权限。 |
VKEReadOnlyAccess | 该策略为容器服务只读访问权限。 |
VKEInnerReadOnlyAccess | 该策略为容器服务内部只读访问权限。 |
容器服务支持您创建自定义策略并授权。详细的配置方法,请参见 关联用户自定义策略
容器服务支持使用的授权项(Action)、资源(Resource)如下所示。更多说明,请参见 策略语法。
说明
资源以 TRN(火山引擎云资源唯一标识)的形式配置,格式为:trn:{service}:{region}:{account}:{resourceType}/{id}
。
分类 | Action | Resource | 描述 |
---|---|---|---|
集群 | CreateCluster | 无 | 创建集群。 |
ListClusters | 无 | 获取集群列表及详情。 | |
UpdateClusterConfig | trn:vke:{region}:{account}:cluster/{id} | 更新集群配置。 | |
DeleteCluster | trn:vke:{region}:{account}:cluster/{id} | 删除集群。 | |
ListSupportedResourceTypes | 无 | 获取集群支持的资源类型。 | |
CreateKubeconfig | trn:vke:{region}:{account}:cluster/{id} | 生成集群的 Kubeconfig 凭证。 | |
ListKubeconfigs | 无 | 查询符合条件的集群 Kubeconfig 详情列表。 | |
DeleteKubeconfigs | trn:vke:{region}:{account}:cluster/{id} | 吊销集群的 Kubeconfig 凭证。 | |
节点池 | CreateNodePool | trn:vke:{region}:{account}:cluster/{id} | 创建节点池。 |
CreateDefaultNodePool | trn:vke:{region}:{account}:cluster/{id} | 创建默认节点池。 | |
UpdateNodePoolConfig | trn:vke:{region}:{account}:cluster/{id} | 更新节点池配置。 | |
ListNodePools | 无 | 查询节点池列表及详情。 | |
DeleteNodePool | trn:vke:{region}:{account}:cluster/{id} | 删除节点池。 | |
节点 | CreateNodes | trn:vke:{region}:{account}:cluster/{id} | 添加节点。 |
ListNodes | 无 | 获取节点列表及详情。 | |
DeleteNodes | trn:vke:{region}:{account}:cluster/{id} | 移除节点。 | |
标签 | TagResources | 无 | 为指定的资源绑定标签。 |
UntagResources | 无 | 解绑资源标签信息。 | |
ListTagsForResources | 无 | 查询符合条件的资源下的所有标签信息。 | |
组件 | ListSupportedAddons | trn:vke:{region}:{account}:cluster/{id} | 查询容器服务当前支持的组件详情列表。 |
CreateAddon | trn:vke:{region}:{account}:cluster/{id} | 为指定的集群安装组件。 | |
UpdateAddonConfig | trn:vke:{region}:{account}:cluster/{id} | 更新指定集群下的指定组件配置。 | |
UpdateAddonVersion | trn:vke:{region}:{account}:cluster/{id} | 更新指定集群下的指定组件版本。 | |
DeleteAddon | trn:vke:{region}:{account}:cluster/{id} | 从指定集群中卸载指定的组件。 | |
ListAddons | 无 | 查询符合条件的已安装组件详情列表。 | |
应用 | ForwardKubernetesApi | trn:vke:{region}:{account}:cluster/{id} | 代理转发 Kubernetes 原生 API。 |
Role-Based Access Control (RBAC) 是基于角色的权限控制,容器服务提供集群 RBAC 授权功能,满足企业用户细粒度的资源访问权限控制需求。
RBAC 权限的配置方法,请参见 配置用户 RABC权限。
预置 RBAC 角色
容器服务 VKE 提供如下几种预置 RBAC 角色,可直接为 IAM 用户授权。
角色 | 角色描述 |
---|---|
集群管理员 | 允许对集群中以及所有命名空间中的全部资源进行读写,拥有对集群节点、存储类、存储卷、命名空间、资源配额、资源限制的读写权限。 |
运维管理员 | 允许对所有命名空间中控制台可见 Kubernetes 资源进行读写,拥有对集群节点、存储类、存储卷、命名空间、资源配额、资源限制的读写权限。 |
高权限开发人员 | 允许对节点、存储类、存储卷、命名空间、资源配额、资源限制等 Kubernetes 集群级别资源进行只读访问。 |
开发人员 | 允许对所有命名空间或指定命名空间中控制台可见 Kubernetes 资源进行读写,拥有对集群节点、存储类、存储卷、命名空间、资源配额、资源限制的只读权限。 |
只读用户 | 允许对所有命名空间或指定命名空间中控制台可见 Kubernetes 资源只读访问,不允许查看配置项与保密字典,拥有对集群节点、存储类、存储卷、命名空间、资源配额、资源限制的只读权限。 |
自定义 RBAC 角色
容器服务 VKE 提供了多钟更细粒度的 RBAC 权限,供您从集群维度,管理控制各类资源的访问权限。