Le partage des ressources cross-origin (CORS) est un mécanisme standard HTML5 qui permet aux serveurs d'applications web de contrôler les accès cross-origin. Cela garantit la sécurité des transmissions de données entre différentes origines. Cette rubrique explique comment utiliser la commande cors pour ajouter, modifier, interroger et supprimer la configuration CORS d'un bucket.
Remarques
Pour ajouter ou modifier une configuration CORS, vous devez disposer de l'autorisation
oss:PutBucketCors. Pour récupérer une configuration CORS, vous devez disposer de l'autorisationoss:GetBucketCors. Pour supprimer une configuration CORS, vous devez disposer de l'autorisationoss:DeleteBucketCors. Pour plus d'informations, consultez la section Accorder des autorisations personnalisées à un utilisateur RAM.
À partir de la version 1.6.16 d'ossutil, vous pouvez utiliser ossutil comme nom binaire dans la ligne de commande, quel que soit votre système d'exploitation. Si vous utilisez une version d'ossutil antérieure à la 1.6.16, vous devez adapter le nom binaire en fonction de votre système d'exploitation. Pour plus d'informations, consultez la section Référence des commandes ossutil.
Pour en savoir plus sur le protocole CORS, consultez la section Partage des ressources cross-origin.
Ajouter ou modifier une configuration CORS
Si le bucket ne possède aucune configuration CORS, cette commande en ajoute une. Si le bucket dispose déjà d'une configuration CORS, cette commande la remplace.
Pour ajouter ou modifier une configuration CORS, suivez les étapes ci-dessous :
Créez un fichier local et ajoutez-y les règles CORS.
ossutil lit la configuration CORS depuis le fichier local et l'applique au bucket spécifié.
Le format de la commande et un exemple sont présentés ci-dessous :
-
Format de la commande
ossutil cors --method put oss://bucketname local_xml_fileLes paramètres sont les suivants :
Paramètre
Description
bucketname
Nom du bucket pour lequel vous souhaitez ajouter ou modifier la configuration CORS.
local_xml_file
Nom du fichier local contenant les règles CORS. Par exemple,
localfile.txt. -
Exemple
-
Créez un fichier local nommé
localfile.txtet ajoutez-y les règles CORS requises.La règle CORS d'exemple suivante autorise les requêtes
PUTcross-origin provenant dehttp://www.aliyun.com. Elle indique également que le navigateur doit mettre en cache la réponse à une requête préliminaire (OPTIONS) pour une ressource spécifique pendant 10 000 secondes.<?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration> <CORSRule> <AllowedOrigin>http://www.aliyun.com</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <MaxAgeSeconds>10000</MaxAgeSeconds> </CORSRule> </CORSConfiguration> -
Ajoutez une règle CORS au bucket examplebucket.
ossutil cors --method put oss://examplebucket localfile.txtLe résultat suivant indique que la règle CORS a été ajoutée.
0.299514(s) elapsed
-
Obtenir une configuration CORS
-
Format de la commande
ossutil cors --method get oss://bucketname [local_xml_file]Les paramètres sont les suivants :
Paramètre
Description
bucketname
Nom du bucket dont vous souhaitez obtenir la configuration CORS.
local_xml_file
Nom du fichier local dans lequel vous souhaitez enregistrer la configuration CORS. Par exemple,
localfile.txt. Si vous ne spécifiez pas ce paramètre, la configuration CORS s'affiche à l'écran. -
Exemple
Récupérez la configuration CORS du bucket examplebucket.
ossutil cors --method get oss://examplebucket localfile.txtLe résultat suivant indique que la configuration CORS a été récupérée et écrite dans le fichier localfile.txt.
0.212407(s) elapsed
Supprimer une configuration CORS
-
Format de la commande
ossutil cors --method delete oss://bucketname -
Exemple
Supprimez la configuration CORS du bucket examplebucket.
ossutil cors --method delete oss://examplebucketLe résultat suivant indique que la configuration CORS du bucket examplebucket a été supprimée.
0.530750(s) elapsed
Options courantes
Pour accéder à un bucket situé dans une autre région, utilisez l'option -e afin de spécifier l'endpoint. Pour accéder à un bucket appartenant à un autre compte Alibaba Cloud, utilisez l'option -i pour l'AccessKey ID et l'option -k pour l'AccessKey Secret.
Par exemple, pour ajouter une configuration CORS à un bucket nommé testbucket, situé dans la région Chine (Hangzhou) et appartenant à un autre compte Alibaba Cloud, exécutez la commande suivante :
ossutil cors --method put oss://testbucket localfile.txt -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret