cors - Get or set a CORS JSON document for one or more buckets

Synopsis

gsutil cors set cors-json-file gs://<bucket_name>...
gsutil cors get gs://<bucket_name>

Description

Gets or sets the Cross-Origin Resource Sharing (CORS) configuration on one or more buckets. This command is supported for buckets only, not objects. An example CORS JSON document looks like the following:

[
  {
    "origin": ["http://origin1.example.com"],
    "responseHeader": ["Content-Type"],
    "method": ["GET"],
    "maxAgeSeconds": 3600
  }
]

The above JSON document explicitly allows cross-origin GET requests from http://origin1.example.com and may include the Content-Type response header. The preflight request may be cached for 1 hour.

Note that requests to the authenticated browser download endpoint storage.cloud.google.com do not allow CORS requests. For more information about supported endpoints for CORS, see Cloud Storage CORS support.

The following (empty) CORS JSON document removes all CORS configuration for a bucket:

[]

The cors command has two sub-commands:

Get

Gets the CORS configuration for a single bucket. The output from "cors get" can be redirected into a file, edited and then updated using "cors set".

Set

Sets the CORS configuration for one or more buckets. The cors-json-file specified on the command line should be a path to a local file containing a JSON document as described above.

For more info about CORS generally, see https://www.w3.org/TR/cors/. For more info about CORS in Cloud Storage, see the CORS concept page.