Présentation Exemples de configurations
Le partage des ressources entre origines multiples (CORS, Cross Origin Resource Sharing) permet à des ressources d'origines différentes d'interagir, ce qui est normalement interdit pour 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 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.getstorage.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 sur des buckets, consultez Définir et gérer des stratégies IAM sur 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 sur votre bucket, procédez comme suit :
Console
Vous ne pouvez pas gérer CORS avec la console Google Cloud . Utilisez plutôt la 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 updateavec le flag--cors-file:gcloud storage buckets update gs://BUCKET_NAME --cors-file=CORS_CONFIG_FILE
Où :
BUCKET_NAMEcorrespond au nom du bucket concerné. Par exemple,my-bucket.CORS_CONFIG_FILEest 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 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 les bibliothèques clientes.
L'exemple suivant définit une configuration CORS sur un bucket :
C#
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
L'exemple suivant définit une configuration CORS sur un bucket :
Go
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
L'exemple suivant définit une configuration CORS sur un bucket :
Java
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
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 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 les bibliothèques clientes.
L'exemple suivant définit une configuration CORS sur un bucket :
PHP
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
L'exemple suivant définit une configuration CORS sur un bucket :
Python
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
L'exemple suivant définit une configuration CORS sur un bucket :
Ruby
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
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.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
cURLpour 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_NAMEest le nom du bucket. Par exemple :my-bucket.CORS_CONFIG_FILEest 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.Créez un fichier XML avec la configuration CORS que vous souhaitez appliquer. Consultez ces exemples de configuration pour obtenir des exemples de fichiers XML.
Exécutez
cURLpour appeler l'API XML avec une requêtePUT Bucketlimité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_NAMEest le nom du bucket. Par exemple :my-bucket.PROJECT_IDcorrespond à l'ID du projet associé au bucket. Par exemple :my-project.CORS_CONFIG_FILEcorrespond 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 CORS avec la console Google Cloud . Utilisez plutôt la gcloud CLI.
Ligne de commande
Exécutez la commande gcloud storage buckets describe avec le flag --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 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 les bibliothèques clientes.
C#
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Go
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Java
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Node.js
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
PHP
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Python
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Ruby
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
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.Exécutez
cURLpour 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_NAMEcorrespond au nom du bucket dont vous souhaitez afficher la configuration CORS. Par 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.Exécutez
cURLpour appeler l'API XML avec une requête de bucketGETlimitée à?cors:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?cors"
Où
BUCKET_NAMEcorrespond au nom du bucket dont vous souhaitez afficher la configuration CORS. Par 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.