
# 策略授权参考
本章节介绍事件网格服务（EventGrid，简称EG）策略授权场景下支持的策略授权项。
#### 支持的授权项
策略包含系统策略和自定义策略，如果系统策略不满足授权要求，管理员可以创建自定义策略，并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应，授权项列表说明如下：
- 权限：允许或拒绝某项操作。
- 对应API接口：自定义策略实际调用的API接口。
- 授权项：自定义策略中支持的Action，在自定义策略中的Action中写入授权项，可以实现授权项对应的权限功能。
- IAM项目（Project）/企业项目（Enterprise Project）：自定义策略的授权范围，包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目，表示此授权项对应的自定义策略，可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目，不支持企业项目，表示仅能在IAM中给用户组授权并生效，如果在企业管理中授权，则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目，"√"表示支持，"×"表示暂不支持。关于IAM项目与企业项目的区别，详情请参见：[IAM与企业管理的区别](https://support.huaweicloud.com/iam_faq/iam_01_0101.html)。
事件网格支持的自定义策略授权项如下表所示。用户调用如下API时，需要获取对应的权限。权限获取请参考[统一身份认证服务（IAM）](https://support.huaweicloud.com/productdesc-iam/iam_01_0024.html)的帮助指导。
表1事件网格授权项明细 
| 权限         | 对应API接口                                                        | 授权项                      | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|
| 创建事件通道     | POST /v1/{project_id}/channels                                 | eg:channels:create       | √              | x                        |
| 查看事件通道列表   | GET /v1/{project_id}/channels                                  | eg:channels:list         | √              | x                        |
| 更新事件通道     | PUT /v1/{project_id}/channels/{channel_id}                     | eg:channels:update       | √              | x                        |
| 删除事件通道     | DELETE /v1/{project_id}/channels/{channel_id}                  | eg:channels:delete       | √              | x                        |
| 查看事件通道详情   | GET /v1/{project_id}/channels/{channel_id}                     | eg:channels:get          | √              | x                        |
| 发布事件到事件通道  | POST /v1/{project_id}/channels/{channel_id}/events             | eg:channels:putEvents    | √              | x                        |
| 创建事件源      | POST /v1/{project_id}/sources                                  | eg:sources:create        | √              | x                        |
| 查看事件源列表    | GET /v1/{project_id}/sources                                   | eg:sources:list          | √              | x                        |
| 更新事件源      | PUT /v1/{project_id}/sources/{source_id}                       | eg:sources:update        | √              | x                        |
| 删除事件源      | DELETE /v1/{project_id}/sources/{source_id}                    | eg:sources:delete        | √              | x                        |
| 查看事件源详情    | GET /v1/{project_id}/sources/{source_id}                       | eg:sources:get           | √              | x                        |
| 查看事件目标分类列表 | GET /v1/{project_id}/target-catalogs                           | eg:targetCatalogs:list   | √              | x                        |
| 创建事件订阅     | POST /v1/{project_id}/subscriptions                            | eg:subscriptions:create  | √              | x                        |
| 查看事件订阅列表   | GET /v1/{project_id}/subscriptions                             | eg:subscriptions:list    | √              | x                        |
| 更新事件订阅     | PUT /v1/{project_id}/subscriptions/{subscription_id}           | eg:subscriptions:update  | √              | x                        |
| 删除事件订阅     | DELETE /v1/{project_id}/subscriptions/{subscription_id}        | eg:subscriptions:delete  | √              | x                        |
| 查看事件订阅详情   | GET /v1/{project_id}/subscriptions/{subscription_id}           | eg:subscriptions:get     | √              | x                        |
| 操作事件订阅     | POST /v1/{project_id}/subscriptions/operation                  | eg:subscriptions:update  | √              | x                        |
| 创建事件模型     | POST /v1/{project_id}/schemas                                  | eg:schemas:create        | √              | x                        |
| 查看事件模型列表   | GET /v1/{project_id}/schemas                                   | eg:schemas:list          | √              | x                        |
| 更新事件模型     | PUT /v1/{project_id}/schemas/{schema_id}                       | eg:schemas:update        | √              | x                        |
| 删除事件模型     | DELETE /v1/{project_id}/schemas/{schema_id}                    | eg:schemas:delete        | √              | x                        |
| 查看事件模型详情   | GET /v1/{project_id}/schemas/{schema_id}                       | eg:schemas:get           | √              | x                        |
| 查看事件模型版本列表 | GET /v1/{project_id}/schemas/{schema_id}/versions              | eg:schemas:listVersions  | √              | x                        |
| 查看事件模型版本详情 | GET /v1/{project_id}/schemas/{schema_id}/versions/{version}    | eg:schemas:getVersion    | √              | x                        |
| 删除事件模型版本   | DELETE /v1/{project_id}/schemas/{schema_id}/versions/{version} | eg:schemas:deleteVersion | √              | x                        |
| 发现事件模型     | POST /v1/{project_id}/schema-discover                          | eg:schemas:getDiscovered | √              | x                        |
| 查询配额       | GET /v1/{project_id}/quotas                                    | eg:quotas:list           | √              | x                        |
   
