Obtaining the CORS Configuration of a Bucket
Function
This API obtains the CORS configuration of a bucket. For more information about CORS, see Configuring CORS to Allow Cross-Origin Access to OBS.
Authorization
To call this API, you must be the bucket owner or have the permission to obtain the CORS configuration of a bucket. You are advised to use IAM or bucket policies for authorization. For details about OBS authorization methods, see Differences Between OBS Permissions Control Methods.
- If you use IAM for authorization, you need to use either role/policy-based authorization or identity policy-based authorization and configure the required permissions:
- If you use role/policy-based authorization (IAM v3 APIs in the old IAM version), you must have the obs:bucket:GetBucketCORS permission. For details, see Creating a Custom IAM Policy.
- If you use identity policy-based authorization (IAM v5 APIs in the new IAM version), you must have the obs:bucket:getBucketCORS permission, as shown in the following table. For details, see Creating a Custom IAM Identity Policy.
Action
Access Level
Resource Type (*: Required)
Dependencies
obs:bucket:getBucketCORS
Read
bucket *
-
-
-
- obs:EpochTime
- obs:SourceIp
- obs:TlsVersion
- obs:CustomDomain
- If you use bucket policies for authorization, you must have the obs:bucket:GetBucketCORS permission. For details, see Creating a Custom Bucket Policy.
URI
GET /
Calling Method
For details, see Calling APIs. Before calling this API, calculate the API signature and add it to the request.
You can debug this API in API Explorer.
Request Syntax
1 2 3 4 | GET /?cors HTTP/1.1 Host: bucketname.obs.region.myhuaweicloud.com Date: date Authorization: authorization |
URI Parameters
In this request, the ?cors parameter in the URI identifies the request as related to CORS. No other URI parameters are required.
Request Headers
This request uses common headers. For details, see Table 3.
Request Body
This request contains no request body parameters.
Response Syntax
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.region.myhuaweicloud.com/doc/2015-06-30/"> <CORSRule> ... </CORSRule> </CORSConfiguration> |
Response Headers
This response uses common headers. For details, see Table 1.
Response Body
Table 1 describes the elements included in the response body.
| Parameter | Type | Description |
|---|---|---|
| CORSConfiguration | Container | Definition Root node of CORSRule. It cannot exceed 64 KB. Range N/A |
| CORSRule | Container | Definition A CORS rule. CORSConfiguration can contain a maximum of 100 rules. CORSConfiguration is the parent node of CORSRule. Range N/A |
| ID | String | Definition Unique identifier of a rule. The value can contain a maximum of 255 characters. CORSRule is the parent node of ID. Range N/A |
| AllowedMethod | String | Definition Method allowed by the CORS rule. CORSRule is the parent node of AllowedMethod. Range GET: Retrieve PUT: Write or modify HEAD: Query information POST: Write or modify DELETE: Remove |
| AllowedOrigin | String | Definition Origin (domain name) that is allowed by the CORS rule. It can contain 0 to 20,480 characters. Each AllowedOrigin allows at most one wildcard character (*). CORSRule is the parent node of AllowedOrigin. Range N/A |
| AllowedHeader | String | Definition Headers that can be included in Access-Control-Request-Headers of CORS requests. The value contains 0 to 20,480 characters. If a request includes Access-Control-Request-Headers, only a CORS request that matches the configuration of AllowedHeader is considered as a valid request. Each AllowedHeader can contain at most one wildcard (*) and cannot contain spaces. CORSRule is the parent node of AllowedHeader. Range N/A |
| MaxAgeSeconds | Integer | Definition Time in seconds that the client can cache CORS responses. Each CORS rule can contain at most one MaxAgeSeconds. CORSRule is the parent node of MaxAgeSeconds. Range A positive integer |
| ExposeHeader | String | Definition An additional header in CORS responses. It provides additional information for clients and cannot contain spaces. CORSRule is the parent node of ExposeHeader. Range A valid header |
Error Responses
Table 2 describes possible special errors in this request.
| Error | Description | HTTP Status Code |
|---|---|---|
| NoSuchCORSConfiguration | Indicates that the CORS configuration of buckets does not exist. | 404 Not Found |
Refer to Error Code Overview for all other errors.
Sample Request
1 2 3 4 5 6 | GET /?cors HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: Wed, 01 Jul 2015 03:54:36 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:WJGghTrPQQXRuCx5go1fHyE+Wwg= |
Sample Response
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 28 | 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.region.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.ap-southeast-1.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> |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot