基于角色授权的服务授权项
本章节介绍CCI基于角色授权场景下支持的策略授权项。
支持的授权项
策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下:
- 权限:允许或拒绝对指定资源在特定条件下进行某项操作。
- 对应API接口:自定义策略实际调用的API接口。
- 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。
- 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。
- IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目,“√”表示支持,“×”表示暂不支持。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。
CCI的支持自定义策略授权项如下所示:
- 生命周期管理,包含CCI所有生命周期接口对应的授权项,如查询云容器实例命名空间列表、查询云容器实例列表、查询云容器实例详情、创建云容器实例、查询云容器实例日志等接口。
- 配置项管理,包括配置项和密钥等接口对应的授权项,如创建配置项(configmap)、删除配置项、修改配置项、创建密钥、删除密钥等接口。
生命周期管理
权限 | 对应API接口 | 授权项(Action) | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|---|---|---|---|---|
查询所有Namespace | cci:namespace:list | √ | √ | |
创建Namespace | cci:namespace:create | √ | √ | |
查询Namespace | cci:namespace:get | √ | √ | |
删除Namespace | cci:namespace:delete | √ | √ | |
查询指定Namespace下的ConfigMaps | cci:configmap:list | √ | √ | |
创建ConfigMap | cci:configmap:create | √ | √ | |
替换ConfigMap | cci:configmap:update | √ | √ | |
删除ConfigMap | DELETE /apis/cci/v2/namespaces/{namespace}/configmaps/{name} | cci:configmap:delete | √ | √ |
查询指定Namespace下的Pods | cci:pod:list | √ | √ | |
创建Pod | cci:pod:create | √ | √ | |
查询Pod | cci:pod:get | √ | √ | |
删除Pod | cci:pod:delete | √ | √ | |
查询指定Namespace下的Secrets | cci:secret:list | √ | √ | |
创建Secret | cci:secret:create | √ | √ | |
查询Secret | cci:secret:get | √ | √ | |
替换Secret | cci:secret:update | √ | √ | |
删除Secret | cci:secret:delete | √ | √ | |
查询指定Namespace下的Networks | cci:network:list | √ | √ | |
创建Network | cci:network:create | √ | √ | |
替换Network | cci:network:update | √ | √ | |
进入容器执行命令 | cci:pod:exec | √ | √ | |
删除PersistentVolumeClaim | DELETE /apis/cci/v2/namespaces/{namespace}/persistentvolumeclaims/{name} | cci:persistentvolumeclaim:delete | √ | √ |
查询用户所有ImageSnapshots | cci:imagesnapshot:list | √ | × | |
创建ImageSnapshot | cci:imagesnapshot:create | √ | × | |
删除ImageSnapshot | cci:imagesnapshot:delete | √ | × | |
查询指定Namespace下的Services | cci:service:list | √ | √ | |
创建Service | cci:service:create | √ | √ | |
替换Service | cci:service:update | √ | √ | |
删除Service | cci:service:delete | √ | √ | |
查询指定Namespace下的Deployments | cci:deployment:list | √ | √ | |
创建Deployment | cci:deployment:create | √ | √ | |
查询Deployment | cci:deployment:get | √ | √ | |
替换Deployment | cci:deployment:update | √ | √ | |
删除Deployment | DELETE /apis/cci/v2/namespaces/{namespace}/deployments/{name} | cci:deployment:delete | √ | √ |
更新Deployment | PATCH /apis/cci/v2/namespaces/{namespace}/deployments/{name} | cci:deployment:update | √ | √ |
查询指定Namespace下的HorizontalPodAutoscalers | GET /apis/cci/v2/namespaces/{namespace}/horizontalpodautoscalers | cci:horizontalpodautoscaler:list | √ | √ |
创建HorizontalPodAutoscaler | POST /apis/cci/v2/namespaces/{namespace}/horizontalpodautoscalers | cci:horizontalpodautoscaler:create | √ | √ |
查询HorizontalPodAutoscaler | GET /apis/cci/v2/namespaces/{namespace}/horizontalpodautoscalers/{name} | cci:horizontalpodautoscaler:get | √ | √ |
替换HorizontalPodAutoscaler | PUT /apis/cci/v2/namespaces/{namespace}/horizontalpodautoscalers/{name} | cci:horizontalpodautoscaler:update | √ | √ |
删除HorizontalPodAutoscaler | DELETE /apis/cci/v2/namespaces/{namespace}/horizontalpodautoscalers/{name} | cci:horizontalpodautoscaler:delete | √ | √ |
更新HorizontalPodAutoscaler | PATCH /apis/cci/v2/namespaces/{namespace}/horizontalpodautoscalers/{name} | cci:horizontalpodautoscaler:update | √ | √ |

