
# 基于角色授权的服务授权项
本章节介绍CCI基于角色授权场景下支持的策略授权项。
#### 支持的授权项
策略包含系统策略和自定义策略，如果系统策略不满足授权要求，管理员可以创建自定义策略，并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应，授权项列表说明如下：
- 权限：允许或拒绝对指定资源在特定条件下进行某项操作。
- 对应API接口：自定义策略实际调用的API接口。
- 授权项：自定义策略中支持的Action，在自定义策略中的Action中写入授权项，可以实现授权项对应的权限功能。
- 依赖的授权项：部分Action存在对其他Action的依赖，需要将依赖的Action同时写入授权项，才能实现对应的权限功能。
- IAM项目(Project)/企业项目(Enterprise Project)：自定义策略的授权范围，包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目，表示此授权项对应的自定义策略，可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目，不支持企业项目，表示仅能在IAM中给用户组授权并生效，如果在企业管理中授权，则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目，"√"表示支持，"×"表示暂不支持。关于IAM项目与企业项目的区别，详情请参见：[IAM与企业管理的区别](https://support.huaweicloud.com/iam_faq/iam_01_0101.html)。
CCI的支持自定义策略授权项如下所示：
- 生命周期管理，包含CCI所有生命周期接口对应的授权项，如查询云容器实例命名空间列表、查询云容器实例列表、查询云容器实例详情、创建云容器实例、查询云容器实例日志等接口。
- 配置项管理，包括配置项和密钥等接口对应的授权项，如创建配置项(configmap)、删除配置项、修改配置项、创建密钥、删除密钥等接口。
 
#### 生命周期管理
表1生命周期管理 
| 权限                                      | 对应API接口                                                                                                                                                             | 授权项（Action）                        | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 查询所有Namespace                           | [GET /apis/cci/v2/namespaces](https://support.huaweicloud.com/api-cci2/listNamespaces.html)                                                                         | cci:namespace:list                 | √                                                                                             | √                                                                                    |
| 创建Namespace                             | [POST /apis/cci/v2/namespaces](https://support.huaweicloud.com/api-cci2/createNamespace.html)                                                                       | cci:namespace:create               | √                                                                                             | √                                                                                    |
| 查询Namespace                             | [GET /apis/cci/v2/namespaces/{name}](https://support.huaweicloud.com/api-cci2/readNamespace.html)                                                                   | cci:namespace:get                  | √                                                                                             | √                                                                                    |
| 删除Namespace                             | [DELETE /apis/cci/v2/namespaces/{name}](https://support.huaweicloud.com/api-cci2/deleteNamespace.html)                                                              | cci:namespace:delete               | √                                                                                             | √                                                                                    |
| 查询指定Namespace下的ConfigMaps               | [GET /apis/cci/v2/namespaces/{namespace}/configmaps](https://support.huaweicloud.com/api-cci2/listNamespacedConfigMaps.html)                                        | cci:configmap:list                 | √                                                                                             | √                                                                                    |
| 创建ConfigMap                             | [POST /apis/cci/v2/namespaces/{namespace}/configmaps](https://support.huaweicloud.com/api-cci2/createNamespacedConfigMap.html)                                      | cci:configmap:create               | √                                                                                             | √                                                                                    |
| 替换ConfigMap                             | [PUT /apis/cci/v2/namespaces/{namespace}/configmaps/{name}](https://support.huaweicloud.com/api-cci2/replaceNamespacedConfigMap.html)                               | cci:configmap:update               | √                                                                                             | √                                                                                    |
| 删除ConfigMap                             | [DELETE /apis/cci/v2/namespaces/{namespace}/configmaps/{name}](https://support.huaweicloud.com/api-cci2/deleteNamespacedConfigMap.html)                             | cci:configmap:delete               | √                                                                                             | √                                                                                    |
| 查询指定Namespace下的Pods                     | [GET /apis/cci/v2/namespaces/{namespace}/pods](https://support.huaweicloud.com/api-cci2/listNamespacedPods.html)                                                    | cci:pod:list                       | √                                                                                             | √                                                                                    |
| 创建Pod                                   | [POST /apis/cci/v2/namespaces/{namespace}/pods](https://support.huaweicloud.com/api-cci2/createNamespacedPod.html)                                                  | cci:pod:create                     | √                                                                                             | √                                                                                    |
| 查询Pod                                   | [GET /apis/cci/v2/namespaces/{namespace}/pods/{name}](https://support.huaweicloud.com/api-cci2/readNamespacedPod.html)                                              | cci:pod:get                        | √                                                                                             | √                                                                                    |
| 删除Pod                                   | [DELETE /apis/cci/v2/namespaces/{namespace}/pods/{name}](https://support.huaweicloud.com/api-cci2/deleteNamespacedPod.html)                                         | cci:pod:delete                     | √                                                                                             | √                                                                                    |
| 查询指定Namespace下的Secrets                  | [GET /apis/cci/v2/namespaces/{namespace}/secrets](https://support.huaweicloud.com/api-cci2/listNamespacedSecrets.html)                                              | cci:secret:list                    | √                                                                                             | √                                                                                    |
| 创建Secret                                | [POST /apis/cci/v2/namespaces/{namespace}/secrets](https://support.huaweicloud.com/api-cci2/createNamespacedSecret.html)                                            | cci:secret:create                  | √                                                                                             | √                                                                                    |
| 查询Secret                                | [GET /apis/cci/v2/namespaces/{namespace}/secrets/{name}](https://support.huaweicloud.com/api-cci2/readNamespacedSecret.html)                                        | cci:secret:get                     | √                                                                                             | √                                                                                    |
| 替换Secret                                | [PUT /apis/cci/v2/namespaces/{namespace}/secrets/{name}](https://support.huaweicloud.com/api-cci2/replaceNamespacedSecret.html)                                     | cci:secret:update                  | √                                                                                             | √                                                                                    |
| 删除Secret                                | [DELETE /apis/cci/v2/namespaces/{namespace}/secrets/{name}](https://support.huaweicloud.com/api-cci2/deleteNamespacedSecret.html)                                   | cci:secret:delete                  | √                                                                                             | √                                                                                    |
| 查询指定Namespace下的Networks                 | [GET /apis/yangtse/v2/namespaces/{namespace}/networks](https://support.huaweicloud.com/api-cci2/listNamespacedNetworks.html)                                        | cci:network:list                   | √                                                                                             | √                                                                                    |
| 创建Network                               | [POST /apis/yangtse/v2/namespaces/{namespace}/networks](https://support.huaweicloud.com/api-cci2/createNamespacedNetwork.html)                                      | cci:network:create                 | √                                                                                             | √                                                                                    |
| 替换Network                               | [PUT /apis/yangtse/v2/namespaces/{namespace}/networks/{name}](https://support.huaweicloud.com/api-cci2/replaceNamespacedNetwork.html)                               | cci:network:update                 | √                                                                                             | √                                                                                    |
| 进入容器执行命令                                | [POST /apis/cci/v2/namespaces/{namespace}/pods/{name}/exec](https://support.huaweicloud.com/api-cci2/connectNamespacedPodExec.html)                                 | cci:pod:exec                       | √                                                                                             | √                                                                                    |
| 删除PersistentVolumeClaim                 | [DELETE /apis/cci/v2/namespaces/{namespace}/persistentvolumeclaims/{name}](https://support.huaweicloud.com/api-cci2/deleteNamespacedPersistentVolumeClaim.html)     | cci:persistentvolumeclaim:delete   | √                                                                                             | √                                                                                    |
| 查询用户所有ImageSnapshots                    | [GET /apis/cci/v2/imagesnapshots](https://support.huaweicloud.com/api-cci2/listImageSnapshots.html)                                                                 | cci:imagesnapshot:list             | √                                                                                             | ×                                                                                    |
| 创建ImageSnapshot                         | [POST /apis/cci/v2/imagesnapshots](https://support.huaweicloud.com/api-cci2/createImageSnapshot.html)                                                               | cci:imagesnapshot:create           | √                                                                                             | ×                                                                                    |
| 删除ImageSnapshot                         | [DELETE /apis/cci/v2/imagesnapshots/{name}](https://support.huaweicloud.com/api-cci2/deleteImageSnapshot.html)                                                      | cci:imagesnapshot:delete           | √                                                                                             | ×                                                                                    |
| 查询指定Namespace下的Services                 | [GET /apis/cci/v2/namespaces/{namespace}/services](https://support.huaweicloud.com/api-cci2/listNamespacedServices.html)                                            | cci:service:list                   | √                                                                                             | √                                                                                    |
| 创建Service                               | [POST /apis/cci/v2/namespaces/{namespace}/services](https://support.huaweicloud.com/api-cci2/createNamespacedService.html)                                          | cci:service:create                 | √                                                                                             | √                                                                                    |
| 替换Service                               | [PUT /apis/cci/v2/namespaces/{namespace}/services/{name}](https://support.huaweicloud.com/api-cci2/replaceNamespacedService.html)                                   | cci:service:update                 | √                                                                                             | √                                                                                    |
| 删除Service                               | [DELETE /apis/cci/v2/namespaces/{namespace}/services/{name}](https://support.huaweicloud.com/api-cci2/deleteNamespacedService.html)                                 | cci:service:delete                 | √                                                                                             | √                                                                                    |
| 查询指定Namespace下的Deployments              | [GET /apis/cci/v2/namespaces/{namespace}/deployments](https://support.huaweicloud.com/api-cci2/listNamespacedDeployments.html)                                      | cci:deployment:list                | √                                                                                             | √                                                                                    |
| 创建Deployment                            | [POST /apis/cci/v2/namespaces/{namespace}/deployments](https://support.huaweicloud.com/api-cci2/createNamespacedDeployment.html)                                    | cci:deployment:create              | √                                                                                             | √                                                                                    |
| 查询Deployment                            | [GET /apis/cci/v2/namespaces/{namespace}/deployments/{name}](https://support.huaweicloud.com/api-cci2/readNamespacedDeployment.html)                                | cci:deployment:get                 | √                                                                                             | √                                                                                    |
| 替换Deployment                            | [PUT /apis/cci/v2/namespaces/{namespace}/deployments/{name}](https://support.huaweicloud.com/api-cci2/replaceNamespacedDeployment.html)                             | cci:deployment:update              | √                                                                                             | √                                                                                    |
| 删除Deployment                            | [DELETE /apis/cci/v2/namespaces/{namespace}/deployments/{name}](https://support.huaweicloud.com/api-cci2/deleteNamespacedDeployment.html)                           | cci:deployment:delete              | √                                                                                             | √                                                                                    |
| 更新Deployment                            | [PATCH /apis/cci/v2/namespaces/{namespace}/deployments/{name}](https://support.huaweicloud.com/api-cci2/patchNamespacedDeployment.html)                             | cci:deployment:update              | √                                                                                             | √                                                                                    |
| 查询指定Namespace下的HorizontalPodAutoscalers | [GET /apis/cci/v2/namespaces/{namespace}/horizontalpodautoscalers](https://support.huaweicloud.com/api-cci2/listNamespacedHorizontalPodAutoscalers.html)            | cci:horizontalpodautoscaler:list   | √                                                                                             | √                                                                                    |
| 创建HorizontalPodAutoscaler               | [POST /apis/cci/v2/namespaces/{namespace}/horizontalpodautoscalers](https://support.huaweicloud.com/api-cci2/createNamespacedHorizontalPodAutoscaler.html)          | cci:horizontalpodautoscaler:create | √                                                                                             | √                                                                                    |
| 查询HorizontalPodAutoscaler               | [GET /apis/cci/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}](https://support.huaweicloud.com/api-cci2/readNamespacedHorizontalPodAutoscaler.html)      | cci:horizontalpodautoscaler:get    | √                                                                                             | √                                                                                    |
| 替换HorizontalPodAutoscaler               | [PUT /apis/cci/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}](https://support.huaweicloud.com/api-cci2/replaceNamespacedHorizontalPodAutoscaler.html)   | cci:horizontalpodautoscaler:update | √                                                                                             | √                                                                                    |
| 删除HorizontalPodAutoscaler               | [DELETE /apis/cci/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}](https://support.huaweicloud.com/api-cci2/deleteNamespacedHorizontalPodAutoscaler.html) | cci:horizontalpodautoscaler:delete | √                                                                                             | √                                                                                    |
| 更新HorizontalPodAutoscaler               | [PATCH /apis/cci/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}](https://support.huaweicloud.com/api-cci2/patchNamespacedHorizontalPodAutoscaler.html)   | cci:horizontalpodautoscaler:update | √                                                                                             | √                                                                                    |
   
