Présentation Exemples de configurations
Le partage des ressources entre origines multiples (CORS, Cross Origin Resource Sharing) permet les interactions entre des ressources d'origines différentes, ce qui est normalement interdit afin d'empêcher tout comportement malveillant. Cette page explique comment définir une configuration CORS sur un bucket Cloud Storage et comment afficher la configuration CORS définie sur un bucket. Consultez la section Exemples de configuration pour CORS afin d'obtenir des exemples de configurations CORS, y compris celle qui désactive toute configuration existante sur votre bucket.
Rôles requis
Pour obtenir les autorisations nécessaires pour définir et afficher la configuration CORS sur un bucket, demandez à votre administrateur de vous accorder le rôle Administrateur de l'espace de stockage (roles/storage.admin
) sur le bucket.
Ce rôle prédéfini contient les autorisations requises pour définir et afficher les configurations CORS. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
storage.buckets.get
storage.buckets.update
Vous pouvez également obtenir ces autorisations en utilisant d'autres rôles prédéfinis ou des rôles personnalisés.
Pour en savoir plus sur l'attribution de rôles dans des buckets, consultez la page Utiliser IAM avec des buckets.
Définir la configuration CORS sur un bucket
Pour définir la configuration CORS sur un bucket, spécifiez des informations telles que les méthodes HTTP et les domaines d'origine, qui identifient les types de requêtes que le bucket peut accepter.
Pour définir une configuration CORS dans votre bucket, procédez comme suit :
Console
Vous ne pouvez pas gérer le CORS à l'aide de la console Google Cloud. Utilisez plutôt gcloud CLI.
Ligne de commande
Créez un fichier JSON avec la configuration CORS que vous souhaitez appliquer. Consultez ces exemples de configuration pour obtenir des exemples de fichiers JSON.
Exécutez la commande
gcloud storage buckets update
avec l'option--cors-file
:gcloud storage buckets update gs://BUCKET_NAME --cors-file=CORS_CONFIG_FILE
Où :
BUCKET_NAME
correspond au nom du bucket concerné. Par exemple,my-bucket
.CORS_CONFIG_FILE
est le chemin d'accès au fichier JSON que vous avez créé à l'étape 1.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
L'exemple suivant définit une configuration CORS sur un bucket :
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
L'exemple suivant définit une configuration CORS sur un bucket :
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
L'exemple suivant définit une configuration CORS sur un bucket :
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
L'exemple suivant définit une configuration CORS sur un bucket :
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
L'exemple suivant définit une configuration CORS sur un bucket :
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
L'exemple suivant définit une configuration CORS sur un bucket :
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
L'exemple suivant définit une configuration CORS sur un bucket :
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
L'exemple suivant définit une configuration CORS sur un bucket :
API REST
API JSON
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Créez un fichier JSON avec la configuration CORS que vous souhaitez appliquer. Consultez ces exemples de configuration pour obtenir des exemples de fichiers JSON.
Exécutez
cURL
pour appeler l'API JSON avec une requête 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
Où :
BUCKET_NAME
est le nom du bucket. Exemple :my-bucket
.CORS_CONFIG_FILE
est le chemin d'accès au fichier JSON que vous avez créé à l'étape 2.
API XML
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Créez un fichier XML avec la configuration CORS que vous souhaitez appliquer. Consultez les exemples de configuration pour obtenir des exemples de fichiers XML.
Exécutez
cURL
pour appeler l'API XML avec une requêtePUT Bucket
limitée à?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"
Où :
BUCKET_NAME
est le nom du bucket. Exemple :my-bucket
.PROJECT_ID
correspond à l'ID du projet associé au bucket. Exemple :my-project
CORS_CONFIG_FILE
correspond au chemin d'accès au fichier XML que vous avez créé à l'étape 2.
Pour supprimer la configuration CORS d'un bucket, définissez une configuration CORS vide.
Afficher la configuration CORS d'un bucket
Pour afficher la configuration CORS d'un bucket, procédez comme suit :
Console
Vous ne pouvez pas gérer le CORS à l'aide de la console Google Cloud. Utilisez plutôt gcloud CLI.
Ligne de commande
Exécutez la commande gcloud storage buckets describe
avec l'option --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(cors_config)"
Où BUCKET_NAME
correspond au nom du bucket dont vous souhaitez afficher la configuration CORS. Par exemple, my-bucket
.
Bibliothèques clientes
Pour afficher la configuration CORS d'un bucket à l'aide des bibliothèques clientes, suivez les instructions pour afficher les métadonnées d'un bucket et recherchez le champ CORS dans la réponse :
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
API REST
API JSON
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Exécutez
cURL
pour appeler l'API JSON avec une requête de bucketGET
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=cors"
Où
BUCKET_NAME
correspond au nom du bucket dont vous souhaitez afficher la configuration CORS. Exemple :my-bucket
.
API XML
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Exécutez
cURL
pour appeler l'API XML avec une requêteGET
limitée à?cors
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?cors"
Où
BUCKET_NAME
correspond au nom du bucket dont vous souhaitez afficher la configuration CORS. Exemple :my-bucket
.
Étapes suivantes
- Découvrez des exemples de configuration CORS, y compris un exemple qui supprime la configuration CORS d'un bucket.
- Apprenez-en plus sur CORS.
- Découvrez comment résoudre les problèmes liés aux requêtes CORS.