Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Configurar el CORS del depósito

Según la configuración predeterminada, los depósitos no tienen establecida ninguna configuración de CORS. A fin de establecer o modificar CORS para un depósito existente, realiza una solicitud PUT con alcance al depósito y usa el parámetro de string de consulta cors. Debes incluir un documento XML en el cuerpo de la solicitud que contenga una o más opciones de configuración de CORS que desees aplicar. Ten en cuenta que no puedes establecer la configuración de CORS en un depósito nuevo que estés creando.

Debes tener el permiso FULL_CONTROL para aplicar una configuración de CORS a un depósito existente. También debes autenticarte para usar el método de depósito PUT.

Para obtener una guía sobre cómo establecer configuraciones de CORS en depósitos, consulta la sección sobre cómo configurar el uso compartido de recursos multiorigen (CORS).

Parámetros de string de consulta

Parámetro Descripción Obligatorio
cors Usa esto para cambiar la configuración de CORS en un depósito existente. Debes proporcionar el documento XML de CORS en el cuerpo de la solicitud. No

Consulta los parámetros de string de consulta de URL firmados para obtener información sobre los parámetros que incluyes cuando creas y usas URL firmadas.

Solicita encabezados

Consulta encabezados de solicitud comunes.

Elementos de cuerpo de la solicitud

En el diagrama siguiente, se muestra la anidación de los elementos XML en la configuración de CORS. Consulta la tabla debajo del diagrama para obtener detalles adicionales.

Los siguientes elementos del cuerpo de la solicitud solo se aplican si usas el parámetro de string de consulta cors para especificar CORS en un depósito existente.

Elemento Descripción
CorsConfig Contenedor para uno o más contenedores de configuración de Cors. Si especificas varias configuraciones de Cors, ten en cuenta que las configuraciones de Cors se evaluarán en el orden determinado dentro del contenedor CorsConfig, con la primera configuración de Cors que coincide con el Origin y Method de la solicitud que se usa para determinar cualquier encabezado de respuesta CORS para agregar a la respuesta. las rutas "a GCP".
Cors Contenedor para que se aplique una configuración de CORS al depósito. Puedes especificar varios orígenes y varios métodos en cada contenedor de Cors. Habrá una coincidencia si la fuente coincide con cualquiera de los orígenes en el contenedor de Cors y el método de solicitud coincide con cualquiera de los métodos del contenedor de Cors.
Origins Contenedor para los orígenes permitidos para el uso compartido de recursos multiorigen con este depósito de Cloud Storage.
Origin Un origen permitido para los recursos compartidos de origen cruzado con este depósito de Cloud Storage. Por ejemplo, https://origin1.example.com. Si proporcionas un valor que consiste solo en el comodín (<Origin>*</Origin>), esto otorga acceso a TODOS los orígenes.
Methods Contenedor para uno o más elementos de método HTTP, y especifica los métodos permitidos en el uso compartido de recursos de origen cruzado con este depósito de Cloud Storage.
Method Un método HTTP que se usa en esta configuración. Los valores válidos son DELETE, GET, HEAD, POST y PUT. OPTIONS se interpreta como una solicitud de comprobación previa, por lo que no necesitas especificar este método en tu configuración de CORS.
ResponseHeaders Contenedor opcional para uno o más elementos de ResponseHeader
ResponseHeader Especifica un encabezado de respuesta que el usuario-agente puede compartir entre los orígenes.
MaxAgeSec Este valor se utiliza para responder a las solicitudes de comprobación previa, lo que indica la cantidad de segundos que el cliente (navegador) puede realizar solicitudes antes de que el cliente deba repetir la solicitud de verificación previa. (Indica el tiempo de caducidad de la caché). Las solicitudes de comprobación previa son obligatorias si el método de solicitud contiene encabezados no simples o si el método de solicitud no es POST, GET o HEAD. El valor se muestra en el encabezado Access-Control-Max-Age en las respuestas a las solicitudes de comprobación previa.

Sintaxis de la solicitud

PUT /?cors HTTP/1.1
Host: BUCKET_NAME.storage.googleapis.com
Date: DATE_AND_TIME_OF_REQUEST
Content-Length: REQUEST_BODY_LENGTH
Content-Type: MIME_TYPE_OF_THE_BODY
Authorization: AUTHENTICATION_STRING

XML_DOCUMENT_DEFINING_CORS

Encabezados de respuesta

La solicitud puede mostrar una variedad de encabezados de respuesta según los encabezados de la solicitud que uses.

Elementos del cuerpo de la respuesta

La respuesta no incluye un documento XML en el cuerpo de la respuesta.

Ejemplo

En el siguiente ejemplo, se configura una configuración de CORS en un depósito llamado acme-pets. Esta configuración de CORS establece dos orígenes y los métodos HTTP permitidos para esos orígenes. En este ejemplo, se permiten todos los métodos HTTP disponibles.

Solicitud

PUT /?cors HTTP/1.1
Host: acme-pets.storage.googleapis.com
Date: Thu, 12 Mar 2012 03:38:42 GMT
Content-Length: 1320
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg

<?xml version="1.0" encoding="UTF-8"?>
<CorsConfig>
  <Cors>
    <Origins>
      <Origin>http://origin1.example.com</Origin>
      <Origin>http://origin2.example.com</Origin>
    </Origins>
    <Methods>
      <Method>GET</Method>
      <Method>HEAD</Method>
      <Method>PUT</Method>
      <Method>POST</Method>
      <Method>DELETE</Method>
    </Methods>
    <ResponseHeaders>
      <ResponseHeader>x-goog-meta-foo1</ResponseHeader>
      <ResponseHeader>x-goog-meta-foo2</ResponseHeader>
    </ResponseHeaders>
    <MaxAgeSec>1800</MaxAgeSec>
  </Cors>
</CorsConfig>

Respuesta

HTTP/1.1 200 OK
Date: Thu, 12 Mar 2012 03:38:42 GMT
Expires: Mon, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate
Content-Length: 0
Content-Type: text/html