借助 RAM 实现子账号对主账号的 CDN 资源访问
RAM 中可授权的 CDN 资源类型
目前,可以在 RAM 中进行授权的资源类型及描述方式如下表所示:
| 资源类型 | 授权策略中的资源描述方式 | 说明 |
|---|---|---|
| service | acs:cdn:*:$accountid:* | 授权子账户管理 CDN服务例如:变配,查询账户信息等 |
| domain | acs:cdn:*:$accountid:domain/$domainNameacs:cdn:*:$accountid:domain/* | 授权子账户管理自己的加速域名例如:添加,配置,查询域名等 |
CDN API 发生子账号访问主账号资源时的鉴权规则
当子账号通过 CDN Open API 对主账号的 CDN 资源进行访问时,CDN 后台向 RAM 进行权限检查,以确保资源拥有者的确将相关资源的相关权限授予了调用者。
每个不同的 CDN API 会根据涉及到的资源以及 API 的语义来确定需要检查哪些资源的权限。具体每个 API 的鉴权规则见下表:
| API | 鉴权规则 |
|---|---|
| OpenCdnService | acs:cdn::$accountid: |
| DescribeCdnService | acs:cdn::$accountid: |
| ModifyCdnService | acs:cdn::$accountid: |
| DescribeUserDomains | acs:cdn::$accountid:domain/ |
| DescribeCdnDomainDetail | acs:cdn:*:$accountid:domain/$domainName |
| AddCdnDomain | acs:cdn::$accountid:domain/ |
| StartCdnDomain | acs:cdn:*:$accountid:domain/$domainName |
| StopCdnDomain | acs:cdn:*:$accountid:domain/$domainName |
| DeleteCdnDomain | acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainConfigs | acs:cdn:*:$accountid:domain/$domainName |
| SetOptimizeConfig | acs:cdn:*:$accountid:domain/$domainName |
| SetPageCompressConfig | acs:cdn:*:$accountid:domain/$domainName |
| SetIgnoreQueryStringConfig | acs:cdn:*:$accountid:domain/$domainName |
| SetRangeConfig | acs:cdn:*:$accountid:domain/$domainName |
| SetVideoSeekConfig | acs:cdn:*:$accountid:domain/$domainName |
| SetSourceHostConfig | acs:cdn:*:$accountid:domain/$domainName |
| SetErrorPageConfig | acs:cdn:*:$accountid:domain/$domainName |
| SetForceRedirectConfig | acs:cdn:*:$accountid:domain/$domainName |
| SetRefererConfig | acs:cdn:*:$accountid:domain/$domainName |
| SetFileCacheExpiredConfig | acs:cdn:*:$accountid:domain/$domainName |
| SetPathCacheExpiredConfig | acs:cdn:*:$accountid:domain/$domainName |
| ModifyFileCacheExpiredConfig | acs:cdn:*:$accountid:domain/$domainName |
| ModifyPathCacheExpiredConfig | acs:cdn:*:$accountid:domain/$domainName |
| DeleteCacheExpiredConfig | acs:cdn:*:$accountid:domain/$domainName |
| SetReqAuthConfig | acs:cdn:*:$accountid:domain/$domainName |
| SetHttpHeaderConfig | acs:cdn:*:$accountid:domain/$domainName |
| ModifyHttpHeaderConfig | acs:cdn:*:$accountid:domain/$domainName |
| DeleteHttpHeaderConfig | acs:cdn:*:$accountid:domain/$domainName |
| RefreshObjectCaches | acs:cdn::$accountid:domain/ |
| PushObjectCache | acs:cdn::$accountid:domain/ |
| DescribeRefreshTasks | acs:cdn::$accountid:domain/ |
| DescribeRefreshQuota | acs:cdn::$accountid:domain/ |
| DescribeLiveStreamsPublishList | acs:cdn:*:$accountid:domain/$domainName |
| DescribeLiveStreamsOnlineList | acs:cdn:*:$accountid:domain/$domainName |
| DescribeLiveStreamsBlockList | acs:cdn:*:$accountid:domain/$domainName |
| DescribeLiveStreamsControlHistory | acs:cdn:*:$accountid:domain/$domainName |
| DescribeLiveStreamOnlineUserNum | acs:cdn:*:$accountid:domain/$domainName |
| ForbidLiveStream | acs:cdn:*:$accountid:domain/$domainName |
| ResumeLiveStream | acs:cdn:*:$accountid:domain/$domainName |
| SetLiveStreamsNotifyUrlConfig | acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainBpsData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainFlowData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainSrcBpsData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainSrcFlowData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainHitRateData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainQpsData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainHttpCodeData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainsUsageByDay | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeTopDomainsByFlow | acs:cdn::$accountid:domain/ |
| DescribeDomainPvData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainUvData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainRegionData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainISPData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainTopUrlVisit | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainTopReferVisitl | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainFileSizeProportionData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainCCData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeDomainWafData | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeCdnDomainLogs | acs:cdn::$accountid:domain/ acs:cdn:*:$accountid:domain/$domainName |
| DescribeIpInfo | acs:cdn::$accountid:domain/ |