获取桶的CORS配置-GetBucketCors
功能介绍
可通过本接口获取桶的CORS配置信息。了解更多有关跨域资源共享信息,请参见配置跨域资源共享。
授权信息
您必须是桶拥有者或拥有获取桶的CORS配置的权限,才能调用本接口,建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见OBS不同权限控制方式的区别。
- 如果使用IAM授权,那么请在“角色与策略授权”、“身份策略授权”两种IAM授权方式中选择一种,并配置相应权限:
- 如果使用角色与策略授权(旧版IAM,即IAM v3接口),需具备obs:bucket:GetBucketCORS权限,授权操作请参见创建IAM自定义策略。
- 如果使用身份策略授权(新版IAM,即IAM v5接口),如下表所示,需具备obs:bucket:getBucketCORS权限,授权操作请参见创建IAM自定义身份策略。
授权项
Action
访问级别
Access Level
资源类型(*为必须)
Resource Type (*: required)
Condition Key
Alias
依赖的授权项
Dependencies
obs:bucket:getBucketCORS
Read
bucket *
-
-
-
- obs:EpochTime
- obs:SourceIp
- obs:TlsVersion
- obs:CustomDomain
- 如果使用桶策略进行授权,需具备obs:bucket:GetBucketCORS权限,具体操作请参见自定义创建桶策略。
URI
GET /
请求消息样式
1 2 3 4 | GET /?cors HTTP/1.1 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Date: date Authorization: authorization |
URI参数(URI Parameters)
该请求通过URI中的?cors参数标识接口,无其他URI参数。
请求头参数(Request headers)
该请求使用公共请求头,具体参见表3。
请求体参数(Request body)
该请求消息中不带请求体参数。
响应消息样式
1 2 3 4 5 6 7 8 9 10 11 | HTTP/1.1 status_code Content-Type: application/xml Date: date Content-Length: length <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <CORSConfiguration xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/"> <CORSRule> ... </CORSRule> </CORSConfiguration> |
响应头 (Response Headers)
该请求的响应消息使用公共响应头,具体请参考表1。
响应体 (Response Body)
在此请求返回的响应消息体中包含的配置元素如下表1描述。
| 参数 | 参数类型 | 描述 |
|---|---|---|
| CORSConfiguration | Container | 参数解释: CORS规则的根节点,最大不超过64 KB。 取值范围: 不涉及。 |
| CORSRule | Container | 参数解释: CORS规则,CORSConfiguration下可最多包含100个规则。CORSConfiguration是CORSRule的父节点。 取值范围: 不涉及。 |
| ID | String | 参数解释: 一条Rule的标识,由不超过255个字符的字符串组成。CORSRule是ID的父节点。 取值范围: 不涉及。 |
| AllowedMethod | String | 参数解释: CORS规则允许的Method。CORSRule是AllowedMethod的父节点。 取值范围: GET:获取 PUT:写/改 HEAD:查询信息 POST:写/改 DELETE:删除 |
| AllowedOrigin | String | 参数解释: CORS规则允许的Origin(表示域名的字符串),长度为0~20480个字符,每一个AllowedOrigin可以带最多一个“*”通配符。CORSRule是AllowedOrigin的父节点。 取值范围: 不涉及。 |
| AllowedHeader | String | 参数解释: 配置CORS请求中允许携带的“Access-Control-Request-Headers”头域,长度为0~20480个字符。如果一个请求带了“Access-Control-Request-Headers”头域,则只有匹配上AllowedHeader中的配置才认为是一个合法的CORS请求。每一个AllowedHeader可以带最多一个“*”通配符,不可出现空格。CORSRule是AllowedHeader的父节点。 取值范围: 不涉及。 |
| MaxAgeSeconds | Integer | 参数解释: 客户端可以缓存的CORS响应时间,以秒为单位。 每个CORSRule可以包含至多一个MaxAgeSeconds。CORSRule是MaxAgeSeconds的父节点。 取值范围: 正整数。 |
| ExposeHeader | String | 参数解释: CORS响应中带的附加头域,给客户端提供额外的信息,不可出现空格。CORSRule是ExposeHeader的父节点。 取值范围: 合法的头域。 |
请求示例
1 2 3 4 5 6 | GET /?cors HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: Wed, 01 Jul 2015 03:54:36 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:WJGghTrPQQXRuCx5go1fHyE+Wwg= |
响应示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF2600000164363593F10738B80CACBE x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSpngvwC5TskcLGh7Fz5KRmCFIayuY8p Content-Type: application/xml Date: Wed, 01 Jul 2015 03:54:36 GMT Content-Length: 825 <?xml version="1.0" encoding="utf-8"?> <CORSConfiguration xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/"> <CORSRule> <ID>783fc6652cf246c096ea836694f71855</ID> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>HEAD</AllowedMethod> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedOrigin>obs.cn-north-4.myhuaweicloud.com</AllowedOrigin> <AllowedOrigin>obs.example.com</AllowedOrigin> <AllowedOrigin>www.example.com</AllowedOrigin> <AllowedHeader>AllowedHeader_1</AllowedHeader> <AllowedHeader>AllowedHeader_2</AllowedHeader> <MaxAgeSeconds>100</MaxAgeSeconds> <ExposeHeader>ExposeHeader_1</ExposeHeader> <ExposeHeader>ExposeHeader_2</ExposeHeader> </CORSRule> </CORSConfiguration> |