Descripción general Muestras de configuración
El uso compartido de recursos entre dominios (CORS) permite interacciones entre recursos de diferentes orígenes, algo que por lo general está prohibido para evitar comportamientos maliciosos. Usa esta página para aprender a establecer una configuración de CORS en un bucket de Cloud Storage y cómo ver la configuración de CORS en un bucket. Consulta Ejemplos de configuración para CORS para ver ejemplos de configuraciones de CORS.
Roles obligatorios
Para obtener los permisos que necesitas a fin de establecer y ver la configuración de CORS
en un bucket, pídele a tu administrador que te otorgue el rol Administrador de almacenamiento
(roles/storage.admin) en el bucket.
Este rol predefinido contiene los permisos necesarios para establecer y ver la configuración de CORS. Para ver los permisos exactos que son necesarios, expande la sección Permisos necesarios:
Permisos necesarios
storage.buckets.getstorage.buckets.update
También puedes obtener estos permisos con otros roles predefinidos o roles personalizados.
Para obtener más información sobre cómo otorgar roles en los buckets, consulta Configura y administra políticas de IAM en buckets.
Establece la configuración de CORS en un bucket
Debes establecer una configuración de CORS en un bucket a través de la especificación de información, como los métodos HTTP y los dominios de origen, que identifican los tipos de solicitudes que puede aceptar el bucket.
Sigue estos pasos para establecer una configuración de CORS en tu bucket:
Console
- En la consola de Google Cloud , ve a la página Buckets de Cloud Storage.
Haz clic en el nombre del bucket.
Haz clic en la pestaña Configuración.
En la sección Uso compartido de recursos entre dominios, haz clic en Editar configuración de CORS.
Selecciona la casilla de verificación Permitir el uso compartido de recursos entre dominios.
Haz clic en Agregar un parámetro de configuración y, luego, haz lo siguiente:
Proporciona valores para los campos de la configuración:
Lista de orígenes permitidos: Son los orígenes que deseas permitir para el uso compartido de recursos entre dominios con este bucket.
Especifica métodos: Son los métodos HTTP que deseas permitir para el uso compartido de recursos entre dominios con este bucket.
Lista de encabezados de respuesta permitidos: Son los encabezados de respuesta que deseas permitir para el uso compartido de recursos entre dominios con este bucket.
Tiempo de vencimiento de la caché: Es la cantidad de segundos que el navegador tiene permitido realizar solicitudes antes de que deba repetir la solicitud preliminar.
Para obtener más información sobre cada campo, consulta Componentes de una configuración de CORS.
Haz clic en Listo.
Opcional: Para agregar configuraciones adicionales, repite el paso anterior.
Haz clic en Guardar.
Línea de comandos
Crea un archivo JSON con la configuración de CORS que deseas aplicar. Consulta los ejemplos de configuración para ver archivos JSON de muestra.
Usa el comando
gcloud storage buckets updatecon la marca--cors-file:gcloud storage buckets update gs://BUCKET_NAME --cors-file=CORS_CONFIG_FILE
Donde:
BUCKET_NAMEes el nombre del bucket correspondiente. Por ejemplo,my-bucket.CORS_CONFIG_FILEes la ruta de acceso al archivo JSON que creaste en el paso 1.
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se establece una configuración de CORS en un bucket:
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se establece una configuración de CORS en un bucket:
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se establece una configuración de CORS en un bucket:
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se establece una configuración de CORS en un bucket:
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se establece una configuración de CORS en un bucket:
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se establece una configuración de CORS en un bucket:
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se establece una configuración de CORS en un bucket:
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se establece una configuración de CORS en un bucket:
Rust
En el siguiente ejemplo, se establece una configuración de CORS en un bucket:
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization.Crea un archivo JSON con la configuración de CORS que deseas aplicar. Consulta los ejemplos de configuración para ver archivos JSON de muestra.
Usa
cURLpara llamar a la API de JSON con una solicitud de bucketPATCH:curl --request PATCH \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=cors' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' \ --header 'Content-Type: application/json' \ --data-binary @CORS_CONFIG_FILE
Aquí:
BUCKET_NAMEes el nombre del depósito. Por ejemplo,my-bucket.CORS_CONFIG_FILEes la ruta de acceso al archivo JSON que creaste en el paso 2.
API de XML
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization.Crea un archivo en formato XML con la configuración de CORS que deseas aplicar. Consulta los ejemplos de configuración para ver archivos XML de muestra.
Usa
cURLpara llamar a la API de XML con una solicitudPUT Bucketcon alcance de?cors:curl -X PUT --data-binary @CORS_CONFIG_FILE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-project-id: PROJECT_ID" \ "https://storage.googleapis.com/BUCKET_NAME?cors"
Aquí:
BUCKET_NAMEes el nombre del depósito. Por ejemplo,my-bucket.PROJECT_IDes el ID del proyecto asociado con el depósito. Por ejemplo,my-project.CORS_CONFIG_FILEes la ruta de acceso al archivo XML que creaste en el paso 2.
Visualiza la configuración de CORS de un bucket
Console
- En la consola de Google Cloud , ve a la página Buckets de Cloud Storage.
Haz clic en el nombre del bucket.
Haz clic en la pestaña Configuración.
En la sección Uso compartido de recursos entre dominios, haz clic en Editar configuración de CORS.
Haz clic en la configuración.
Opcional: Edita la configuración o haz clic en Cancelar para cerrar el diálogo.
Línea de comandos
Usa el comando gcloud storage buckets describe con la marca --format:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(cors_config)"
En el que BUCKET_NAME es el nombre del bucket cuya configuración de CORS deseas ver. Por ejemplo, my-bucket.
Bibliotecas cliente
Si quieres ver la configuración de CORS de un bucket a través de las bibliotecas cliente, sigue las instrucciones para mostrar los metadatos de un bucket y busca el campo de CORS en la respuesta:
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Rust
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization.Usa
cURLpara llamar a la API de JSON con una solicitud deGETbucket:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=cors"
En el que
BUCKET_NAMEes el nombre del bucket cuya configuración de CORS deseas ver. Por ejemplo,my-bucket
API de XML
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization.Usa
cURLpara llamar a la API de XML con una solicitud de bucketGETcon alcance de?cors:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?cors"
En el que
BUCKET_NAMEes el nombre del bucket cuya configuración de CORS deseas ver. Por ejemplo,my-bucket.
Quita la configuración de CORS de un bucket
Console
- En la consola de Google Cloud , ve a la página Buckets de Cloud Storage.
Haz clic en el nombre del bucket.
Haz clic en la pestaña Configuración.
En la sección Uso compartido de recursos entre dominios, haz clic en Editar configuración de CORS.
Realiza una de las siguientes acciones:
Para borrar una configuración de CORS específica, haz clic en Borrar en la configuración que deseas quitar.
Para desactivar CORS y borrar todas las configuraciones de CORS del bucket, desmarca la casilla de verificación Permitir el uso compartido de recursos entre dominios.
Haz clic en Guardar.
Línea de comandos
Para quitar la configuración de CORS de un bucket, usa el comando gcloud storage buckets update con la marca --clear-cors:
gcloud storage buckets update gs://BUCKET_NAME --clear-cors
Reemplaza BUCKET_NAME por el nombre del bucket cuya configuración de CORS deseas quitar.
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En la siguiente muestra, se quita cualquier configuración de CORS existente de un bucket:
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En la siguiente muestra, se quita cualquier configuración de CORS existente de un bucket:
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En la siguiente muestra, se quita cualquier configuración de CORS existente de un bucket:
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En la siguiente muestra, se quita cualquier configuración de CORS existente de un bucket:
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En la siguiente muestra, se quita cualquier configuración de CORS existente de un bucket:
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En la siguiente muestra, se quita cualquier configuración de CORS existente de un bucket:
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En la siguiente muestra, se quita cualquier configuración de CORS existente de un bucket:
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage de Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En la siguiente muestra, se quita cualquier configuración de CORS existente de un bucket:
Rust
En la siguiente muestra, se quita cualquier configuración de CORS existente de un bucket:
API de REST
API de JSON
Para quitar todos los parámetros de configuración de CORS de un bucket, establece una configuración de CORS vacía en el bucket.
{ "cors": [] }
API de XML
Para quitar todos los parámetros de configuración de CORS de un bucket, establece una configuración de CORS vacía en el bucket.
<CorsConfig></CorsConfig>
¿Qué sigue?
- Explora los ejemplos de configuración de CORS.
- Obtén más información de CORS.
- Obtén más información para solucionar problemas de solicitudes de CORS.