
# 视频直播服务 Live
云服务在IAM预置了常用的权限，称为系统身份策略。如果IAM系统身份策略无法满足授权要求，管理员可以根据各服务支持的授权项，创建IAM自定义身份策略来进行精细的访问控制，IAM自定义身份策略是对系统身份策略的扩展和补充。
除IAM服务外，[Organizations](https://support.huaweicloud.com/productdesc-organizations/org_01_0011.html)服务中的[服务控制策略](https://support.huaweicloud.com/usermanual-organizations/org_03_0065.html)（Service Control Policy，以下简称SCP）也可以使用这些授权项元素设置访问控制策略。
SCP不直接进行授权，只划定权限边界。将SCP绑定到组织单元或者成员账号时，并没有直接对组织单元或成员账号授予操作权限，而是规定了成员账号或组织单元包含的成员账号的授权范围。IAM身份策略授予权限的有效性受SCP限制，只有在SCP允许范围内的权限才能生效。
IAM服务与Organizations服务在使用这些元素进行访问控制时，存在着一些区别，详情请参见：[IAM服务与Organizations服务权限访问控制的区别](https://support.huaweicloud.com/organizations_faq/org_06_0004.html)。
本章节介绍IAM服务身份策略授权场景中自定义身份策略和组织服务中SCP使用的元素，这些元素包含了操作（Action）、资源（Resource）和条件（Condition）。
- 如何使用这些元素编辑IAM自定义身份策略，请参考[创建自定义身份策略](https://support.huaweicloud.com/usermanual-iam5/iam_01_0917.html)。
- 如何使用这些元素编辑SCP自定义策略，请参考[创建SCP](https://support.huaweicloud.com/usermanual-organizations/org_03_0035.html)。
#### 操作（Action）
操作（Action）即为身份策略中支持的授权项。
- "访问级别"列描述如何对操作进行分类（List、Read和Write等）。此分类可帮助您了解在身份策略中相应操作对应的访问级别。
- "资源类型"列指每个操作是否支持资源级权限。
  - 资源类型支持通配符号\*表示所有。如果此列没有值（-），则必须在身份策略语句的Resource元素中指定所有资源类型（"\*"）。
  
  - 如果该列包含资源类型，则必须在具有该操作的语句中指定该资源的URN。
  
  - 资源类型列中必需资源在表中用星号（\*）标识，表示使用此操作必须指定该资源类型。
  
  
  关于Live定义的资源类型的详细信息请参见[资源类型（Resource）]。
  
- "条件键"列包括了可以在身份策略语句的Condition元素中支持指定的键值。
  - 如果该授权项资源类型列存在值，则表示条件键仅对列举的资源类型生效。
  
  - 如果该授权项资源类型列没有值（-），则表示条件键对整个授权项生效。
  
  - 如果此列条件键没有值（-），表示此操作不支持指定条件键。
  
  
  关于Live定义的条件键的详细信息请参见[条件（Condition）]。
  
- "别名"列包括了可以在身份策略中配置的策略授权项。通过这些授权项，可以控制支持策略授权的API访问。详细信息请参见[身份策略兼容性说明](https://support.huaweicloud.com/iam5_faq/iam_01_1103.html)。
您可以在身份策略语句的Action元素中指定以下Live的相关操作。
表1Live支持的授权项 
| 授权项                                               | 描述                      | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 |
|:---|:---|:---|:---|:---|:---|
| live:ott:createChannel                            | 授予创建频道的权限               | Write | -           | -   | -  |
| live:ott:listChannel                              | 授予查询频道的权限               | List  | -           | -   | -  |
| live:ott:deleteChannel                            | 授予删除频道的权限               | Write | -           | -   | -  |
| live:ott:updateChannelEndpoint                    | 授予更新频道打包信息的权限           | Write | -           | -   | -  |
| live:ott:updateChannelInput                       | 授予修改频道入流信息的权限           | Write | -           | -   | -  |
| live:ott:updateChannelRecord                      | 授予修改频道录制信息的权限           | Write | -           | -   | -  |
| live:ott:updateChannelGeneralInfo                 | 授予修改频道通用信息的权限           | Write | -           | -   | -  |
| live:ott:updateChannelState                       | 授予修改频道状态的权限             | Write | -           | -   | -  |
| live:ott:modifyChannelTranscodings                | 授予修改频道转码模板的权限           | Write | -           | -   | -  |
| live:statistics:listSnapshotUsage                 | 授予查询截图用量的权限。            | List  | -           | -   | -  |
| live:statistics:listSingleStreamDetail            | 授予查询流监控数据的权限。           | Read  | -           | -   | -  |
| live:stream:listLiveStreamsOnline                 | 授予查询直播在线流列表的权限。         | List  | -           | -   | -  |
| live:statistics:listUpStreamDetail                | 授予查询CDN上行推流质量数据的权限。     | Read  | -           | -   | -  |
| live:statistics:queryStreamDisconnectRecord       | 授予查询流断开记录的权限。           | Read  | -           | -   | -  |
| live:statistics:listUpTrafficSummary              | 授予查询指定时间范围内上行流量汇总量的权限。  | Read  | -           | -   | -  |
| live:statistics:listUpBandwidthPeak               | 授予查询上行带宽峰值接口的权限。        | Read  | -           | -   | -  |
| live:statistics:ShowUpTraffic                     | 授予查询上行流量数据接口的权限。        | Read  | -           | -   | -  |
| live:statistics:ListHttpcodeCategory              | 授予状态码分类监控接口的权限。         | Read  | -           | -   | -  |
| live:statistics:RealTimeDomainDimensionQuery      | 授予查询回源带宽的权限。            | Read  | -           | -   | -  |
| live:statistics:DomainBandwidthAndFluxExcel       | 授予导出带宽详情、汇总/流量详情、汇总的权限。 | Read  | -           | -   | -  |
| live:statistics:listCdnDomainStats                | 授予按区域运营商查询域名统计数据的权限。    | List  | -           | -   | -  |
| live:statistics:listHttpCodeDimension             | 授予查询直播拉流HTTP状态码统计的权限。   | List  | -           | -   | -  |
| live:statistics:listSingleStreamFramerate         | 授予查询推流帧率数据的权限。          | List  | -           | -   | -  |
| live:statistics:listSingleStreamBitrate           | 授予查询推流码率数据的权限。          | List  | -           | -   | -  |
| live:statistics:listRecordUsage                   | 授予查询录制用量的权限。            | List  | -           | -   | -  |
| live:statistics:listStreamCount                   | 授予查询域名维度推流路数的权限。        | List  | -           | -   | -  |
| live:statistics:listHistoryStreams                | 授予查询历史推流列表的权限。          | List  | -           | -   | -  |
| live:statistics:listStreamPortrait                | 授予查询播放画像信息的权限。          | List  | -           | -   | -  |
| live:statistics:listBandwidthDetail               | 授予查询播放带宽趋势的权限。          | List  | -           | -   | -  |
| live:statistics:listTrafficDetail                 | 授予查询播放流量趋势的权限。          | List  | -           | -   | -  |
| live:statistics:listDomainBandwidthPeak           | 授予查询播放带宽峰值的权限。          | List  | -           | -   | -  |
| live:statistics:listDomainTrafficSummary          | 授予查询播放流量汇总的权限。          | List  | -           | -   | -  |
| live:statistics:listUpBandwidth                   | 授予查询上行带宽数据的权限。          | List  | -           | -   | -  |
| live:statistics:listAreaDetail                    | 授予查询直播各区域指标分布的权限。       | List  | -           | -   | -  |
| live:statistics:listTranscodeUsage                | 授予查询转码用量的权限。            | List  | -           | -   | -  |
| live:statistics:listUsersOfStream                 | 授予查询流维度的观众趋势的权限。        | List  | -           | -   | -  |
| live:statistics:listBandwidthOfStream             | 授予查询流维度的带宽趋势的权限         | List  | -           | -   | -  |
| live:statistics:listDomainBandwidthDetail         | 授予查询播放带宽趋势的权限           | List  | -           | -   | -  |
| live:statistics:listDomainTrafficDetail           | 授予查询播放流量趋势的权限           | List  | -           | -   | -  |
| live:statistics:listPushBandwidth                 | 授予查询实时推流带宽的权限           | List  | -           | -   | -  |
| live:statistics:listRealTimeBandwidthOfDomain     | 授予查询实时拉流带宽的权限           | List  | -           | -   | -  |
| live:statistics:listRealTimeDomainBandwidthDetail | 授予查询实时拉流带宽详情的权限         | List  | -           | -   | -  |
| live:statistics:listRealTimeDomainUserDetail      | 授予查询实时观众数详情的权限          | List  | -           | -   | -  |
| live:statistics:listRealTimeStreamBandwidth       | 授予查询实时流带宽的权限            | List  | -           | -   | -  |
| live:statistics:listRealTimeStreamBitrate         | 授予查询实时流码率的权限            | List  | -           | -   | -  |
| live:statistics:listRealTimeStreamCount           | 授予查询实时推流人数的权限           | List  | -           | -   | -  |
| live:statistics:listRealTimeStreamFramerate       | 授予查询实时流帧率的权限            | List  | -           | -   | -  |
| live:statistics:listRealTimeStreamUser            | 授予查询实时流观众人数的权限          | List  | -           | -   | -  |
| live:statistics:listRealTimeUsersOfDomain         | 授予查询实时观众数的权限            | List  | -           | -   | -  |
| live:statistics:listTranscodeConcurrency          | 授予查询实时转码路数的权限           | List  | -           | -   | -  |
| live:statistics:listTranscodeTaskCount            | 授予查询直播转码任务数的权限          | List  | -           | -   | -  |
| live:domain:createDomain                          | 授予创建直播域名的权限。            | Write | -           | -   | -  |
| live:domain:getDomains                            | 授予查询直播域名的权限。            | Read  | -           | -   | -  |
| live:domain:deleteDomain                          | 授予删除直播域名的权限。            | Write | -           | -   | -  |
| live:domain:updateDomain                          | 授予修改直播域名的权限。            | Write | -           | -   | -  |
| live:domain:createDomainsMapping                  | 授予域名映射的权限。              | Write | -           | -   | -  |
| live:domain:deleteDomainsMapping                  | 授予删除直播域名映射关系的权限。        | Write | -           | -   | -  |
| live:domain:updateStreamNotification              | 授予新增或覆盖直播推流通知配置的权限。     | Write | -           | -   | -  |
| live:domain:getStreamNotifications                | 授予查询直播推流通知配置的权限。        | Read  | -           | -   | -  |
| live:domain:deleteStreamNotification              | 授予删除直播推流通知配置的权限。        | Write | -           | -   | -  |
| live:domain:createCDNConfig                       | 授予创建直播域名配置项的权限。         | Write | -           | -   | -  |
| live:domain:updateCDNConfig                       | 授予修改直播域名配置项的权限。         | Write | -           | -   | -  |
| live:domain:getCDNConfig                          | 授予查询直播域名配置项的权限。         | Read  | -           | -   | -  |
| live:domain:deleteCDNConfig                       | 授予删除直播域名配置项的权限。         | Write | -           | -   | -  |
| live:domain:getIPAuthList                         | 授予查询IP黑白名单的权限。          | Read  | -           | -   | -  |
| live:domain:updateIPAuthList                      | 授予修改IP黑白名单的权限。          | Write | -           | -   | -  |
| live:domain:getGeoBlockingList                    | 授予获取直播业务地域限制列表的权限。      | Read  | -           | -   | -  |
| live:domain:updateGeoBlocking                     | 授予修改直播业务地域限制列表的权限。      | Write | -           | -   | -  |
| live:domain:updateRefererChain                    | 授予设置referer防盗链黑白名单的权限。  | Write | -           | -   | -  |
| live:domain:deleteRefererChain                    | 授予删除referer防盗链黑白名单的权限。  | Write | -           | -   | -  |
| live:domain:getRefererChain                       | 授予查询referer防盗链黑白名单的权限。  | Read  | -           | -   | -  |
| live:logs:listLog                                 | 授予获取直播播放日志下载链接的权限。      | Read  | -           | -   | -  |
| live:domain:getCertificates                       | 授予查询HTTPS证书信息的权限。       | Read  | -           | -   | -  |
| live:record:createRule                            | 授予创建录制规则的权限。            | Write | -           | -   | -  |
| live:record:listRules                             | 授予查询录制规则列表的权限。          | Read  | -           | -   | -  |
| live:record:updateRule                            | 授予修改录制规则的权限。            | Write | -           | -   | -  |
| live:record:deleteRule                            | 授予删除录制规则的权限。            | Write | -           | -   | -  |
| live:record:getRule                               | 授予查询录制规则配置的权限。          | Read  | -           | -   | -  |
| live:record:listContents                          | 授予查询录制完成的内容的权限。         | Read  | -           | -   | -  |
| live:record:createCommand                         | 授予提交录制控制命令的权限。          | Write | -           | -   | -  |
| live:record:createCallback                        | 授予创建录制回调配置的权限。          | Write | -           | -   | -  |
| live:record:listCallbacks                         | 授予查询录制回调配置列表的权限。        | Read  | -           | -   | -  |
| live:record:updateCallback                        | 授予修改录制回调配置的权限。          | Write | -           | -   | -  |
| live:record:getCallback                           | 授予查询录制回调配置的权限。          | Read  | -           | -   | -  |
| live:record:deleteCallback                        | 授予删除录制回调配置的权限。          | Write | -           | -   | -  |
| live:snapshot:createRule                          | 授予添加直播截图配置的权限。          | Write | -           | -   | -  |
| live:snapshot:updateRule                          | 授予修改直播截图配置的权限。          | Write | -           | -   | -  |
| live:snapshot:listRules                           | 授予查询直播截图配置的权限。          | Read  | -           | -   | -  |
| live:snapshot:deleteRule                          | 授予删除直播截图配置的权限。          | Write | -           | -   | -  |
| live:stream:createStreamForbidden                 | 授予禁止直播推流的权限。            | Write | -           | -   | -  |
| live:stream:listStreamForbidden                   | 授予查询生效的禁播指令列表的权限。       | Read  | -           | -   | -  |
| live:stream:deleteStreamForbidden                 | 授予禁推恢复的权限。              | Write | -           | -   | -  |
| live:stream:updateStreamForbidden                 | 授予修改禁推属性的权限。            | Write | -           | -   | -  |
| live:stream:createStreamForbiddenOnce             | 授予直播流闪断的权限。             | Write | -           | -   | -  |
| live:stream:createPullTask                        | 授予创建外网拉流任务的权限。          | Write | -           | -   | -  |
| live:stream:deletePullTask                        | 授予删除外网拉流任务的权限。          | Write | -           | -   | -  |
| live:stream:listPullTask                          | 授予查询外网拉流任务列表的权限。        | Read  | -           | -   | -  |
| live:tenant:updateChargingMode                    | 授予设置计费模式的权限。            | Write | -           | -   | -  |
| live:tenant:getTenantInformation                  | 授予查询租户信息的权限。            | Read  | -           | -   | -  |
| live:transcode:createTranscodingsTemplate         | 授予创建直播转码模板的权限。          | Write | -           | -   | -  |
| live:transcode:deleteTranscodingsTemplate         | 授予删除直播转码模板的权限。          | Write | -           | -   | -  |
| live:transcode:updateTranscodingsTemplate         | 授予修改直播转码模板的权限。          | Write | -           | -   | -  |
| live:transcode:listTranscodingsTemplate           | 授予查询直播转码模板的权限。          | Read  | -           | -   | -  |
| live:transcode:createSEI                          | 授予添加转码SEI信息的权限。         | Write | -           | -   | -  |
   
Live的API通常对应着一个或多个授权项。[表2]展示了API与授权项的关系，以及该API需要依赖的授权项。
 表2API与授权项的关系 
| API                                                 | 对应的授权项                                    | 依赖的授权项 |
|:---|:---|:---|
| POST /v1/{project_id}/ott/channels                  | live:ott:createChannel                    | -      |
| GET /v1/{project_id}/ott/channels                   | live:ott:listChannel                      | -      |
| DELETE /v1/{project_id}/ott/channels                | live:ott:deleteChannel                    | -      |
| PUT /v1/{project_id}/ott/channels/endpoints         | live:ott:updateChannelEndpoint            | -      |
| PUT /v1/{project_id}/ott/channels/input             | live:ott:updateChannelInput               | -      |
| PUT /v1/{project_id}/ott/channels/record-settings   | live:ott:updateChannelRecord              | -      |
| PUT /v1/{project_id}/ott/channels/general           | live:ott:updateChannelGeneralInfo         | -      |
| PUT /v1/{project_id}/ott/channels/state             | live:ott:updateChannelState               | -      |
| PUT /v1/{project_id}/ott/channels/encorder-settings | live:ott:modifyChannelTranscodings        | -      |
| GET /v2/{project_id}/stats/snapshot                 | live:statistics:listSnapshotUsage         | -      |
| GET /v2/{project_id}/stats/stream-detail            | live:statistics:listSingleStreamDetail    | -      |
| GET /v1/{project_id}/realtime/streams               | live:stream:listLiveStreamsOnline         | -      |
| GET /v2/{project_id}/stats/up-stream/detail         | live:statistics:listUpStreamDetail        | -      |
| GET /v2/{project_id}/stats/httpcodes                | live:statistics:listHttpCodeDimension     | -      |
| GET /v2/{project_id}/stats/stream/framerate         | live:statistics:listSingleStreamFramerate | -      |
| GET /v2/{project_id}/stats/stream/bitrate           | live:statistics:listSingleStreamBitrate   | -      |
| GET /v2/{project_id}/stats/record                   | live:statistics:listRecordUsage           | -      |
| GET /v2/{project_id}/stats/stream-count             | live:statistics:listStreamCount           | -      |
| GET /v2/{project_id}/stats/history/streams          | live:statistics:listHistoryStreams        | -      |
| GET /v2/{project_id}/stats/stream-portraits         | live:statistics:listStreamPortrait        | -      |
| GET /v2/{project_id}/stats/bandwidth/detail         | live:statistics:listBandwidthDetail       | -      |
| GET /v2/{project_id}/stats/traffic/detail           | live:statistics:listTrafficDetail         | -      |
| GET /v2/{project_id}/stats/bandwidth/peak           | live:statistics:listDomainBandwidthPeak   | -      |
| GET /v2/{project_id}/stats/traffic/summary          | live:statistics:listDomainTrafficSummary  | -      |
| GET /v2/{project_id}/stats/up-bandwidth/detail      | live:statistics:listUpBandwidth           | -      |
| GET /v2/{project_id}/stats/area/detail              | live:statistics:listAreaDetail            | -      |
| GET /v2/{project_id}/stats/transcode                | live:statistics:listTranscodeUsage        | -      |
| GET /v2/{project_id}/stats/user                     | live:statistics:listUsersOfStream         | -      |
| POST /v1/{project_id}/domain                        | live:domain:createDomain                  | -      |
| DELETE /v1/{project_id}/domain                      | live:domain:deleteDomain                  | -      |
| PUT /v1/{project_id}/domain                         | live:domain:updateDomain                  | -      |
| GET /v1/{project_id}/domain                         | live:domain:getDomains                    | -      |
| PUT /v1/{project_id}/domains_mapping                | live:domain:createDomainsMapping          | -      |
| DELETE /v1/{project_id}/domains_mapping             | live:domain:deleteDomainsMapping          | -      |
| PUT /v1/{project_id}/notifications/publish          | live:domain:updateStreamNotification      | -      |
| GET /v1/{project_id}/notifications/publish          | live:domain:getStreamNotifications        | -      |
| DELETE /v1/{project_id}/notifications/publish       | live:domain:deleteStreamNotification      | -      |
| GET /v1/{project_id}/guard/ip                       | live:domain:getIPAuthList                 | -      |
| PUT /v1/{project_id}/guard/ip                       | live:domain:updateIPAuthList              | -      |
| PUT /v1/{project_id}/guard/referer-chain            | live:domain:updateRefererChain            | -      |
| DELETE /v1/{project_id}/guard/referer-chain         | live:domain:deleteRefererChain            | -      |
| GET /v1/{project_id}/guard/referer-chain            | live:domain:getRefererChain               | -      |
| GET /v1/{project_id}/logs                           | live:logs:listLog                         | -      |
| GET /v2/{project_id}/certificates                   | live:domain:getCertificates               | -      |
| POST /v1/{project_id}/record/rules                  | live:record:createRule                    | -      |
| GET /v1/{project_id}/record/rules                   | live:record:listRules                     | -      |
| PUT /v1/{project_id}/record/rules/{id}              | live:record:updateRule                    | -      |
| DELETE /v1/{project_id}/record/rules/{id}           | live:record:deleteRule                    | -      |
| GET /v1/{project_id}/record/rules/{id}              | live:record:getRule                       | -      |
| POST /v1/{project_id}/record/control                | live:record:createCommand                 | -      |
| POST /v1/{project_id}/record/callbacks              | live:record:createCallback                | -      |
| GET /v1/{project_id}/record/callbacks               | live:record:listCallbacks                 | -      |
| PUT /v1/{project_id}/record/callbacks/{id}          | live:record:updateCallback                | -      |
| GET /v1/{project_id}/record/callbacks/{id}          | live:record:getCallback                   | -      |
| DELETE /v1/{project_id}/record/callbacks/{id}       | live:record:deleteCallback                | -      |
| POST /v1/{project_id}/stream/snapshot               | live:snapshot:createRule                  | -      |
| PUT /v1/{project_id}/stream/snapshot                | live:snapshot:updateRule                  | -      |
| GET /v1/{project_id}/stream/snapshot                | live:snapshot:listRules                   | -      |
| DELETE /v1/{project_id}/stream/snapshot             | live:snapshot:deleteRule                  | -      |
| POST /v1/{project_id}/stream/blocks                 | live:stream:createStreamForbidden         | -      |
| GET /v1/{project_id}/stream/blocks                  | live:stream:listStreamForbidden           | -      |
| DELETE /v1/{project_id}/stream/blocks               | live:stream:deleteStreamForbidden         | -      |
| PUT /v1/{project_id}/stream/blocks                  | live:stream:updateStreamForbidden         | -      |
| POST /v1/{project_id}/stream/block-once             | live:stream:createStreamForbiddenOnce     | -      |
| POST /v1/{project_id}/template/transcodings         | live:transcode:createTranscodingsTemplate | -      |
| DELETE /v1/{project_id}/template/transcodings       | live:transcode:deleteTranscodingsTemplate | -      |
| PUT /v1/{project_id}/template/transcodings          | live:transcode:updateTranscodingsTemplate | -      |
| GET /v1/{project_id}/template/transcodings          | live:transcode:listTranscodingsTemplate   | -      |
| GET /v1/{project_id}/guard/key-chain                | live:domain:getCDNConfig                  | -      |
| PUT /v1/{project_id}/guard/key-chain                | live:domain:updateCDNConfig               | -      |
| DELETE /v1/{project_id}/guard/key-chain             | live:domain:deleteCDNConfig               | -      |
| PUT /v1/{project_id}/guard/https-cert               | live:domain:updateCDNConfig               | -      |
| GET /v1/{project_id}/guard/https-cert               | live:domain:getCDNConfig                  | -      |
| DELETE /v1/{project_id}/guard/https-cert            | live:domain:deleteCDNConfig               | -      |
| POST /v1/{project_id}/pull/stream/task              | live:stream:createPullTask                | -      |
| DELETE /v1/{project_id}/pull/stream/task            | live:stream:deletePullTask                | -      |
| GET /v1/{project_id}/pull/stream/task               | live:stream:listPullTask                  | -      |
   
 #### 资源类型（Resource）
Live服务不支持在身份策略中的资源中指定资源进行权限控制。如需允许访问Live服务，请在身份策略的Resource元素中使用通配符号\*，表示身份策略将应用到所有资源。
 #### 条件（Condition）
Live服务不支持在身份策略中的条件键中配置服务级的条件键。Live可以使用适用于所有服务的全局条件键，请参考[全局条件键](https://support.huaweicloud.com/usermanual-iam5/iam_01_1287.html)。
