クロスオリジンリソース共有 (CORS) は、webアプリケーションサーバーがクロスオリジンアクセスを制御できるようにするために、HTML5によって提供される標準のクロスオリジンソリューションです。 このようにして、起点を越えたデータ伝送のセキュリティが保証される。 このトピックでは、corsコマンドを実行してバケットのCORS設定を追加、変更、クエリ、または削除する方法について説明します。
このトピックのサンプルコマンドラインは、64ビットLinuxシステムに基づいています。 他のシステムの場合は、を交換します。対応するバイナリ名を持つコマンドの /ossutil64。 詳細については、「ossutilの使用を開始する」をご参照ください。
- CORSの詳細については、Object Storage Service (OSS) 開発者ガイドの「CORSの設定」をご参照ください。
バケットのCORS設定の追加または変更
バケットにCORS設定が追加されていない場合は、corsコマンドを実行してバケットのCORS設定を追加できます。 バケットにCORS設定が追加されている場合は、corsコマンドを実行して既存のCORS設定を上書きできます。
バケットのCORS設定を追加または変更するには、次の手順を実行します。
- ローカルファイルを作成します。 ローカルファイルに追加するCORSルールを指定します。
- ossutilを使用してローカルファイルからCORS設定を読み取り、指定されたバケットのCORS設定を追加します。
バケットのCORS設定を追加または変更するには、次のコマンド構文を使用します。
- コマンド構文
/ossutil64 cors -- メソッドput oss:// bucketname local_xml_file
次の表に、corsコマンドを実行するときに設定できるパラメーターを示します。
パラメーター 説明 bucketname CORS設定を追加または変更するバケットの名前。 local_xml_ファイル CORSルールが設定されているローカルファイルの名前。 例: localfile.txt
- 例
- ローカルコンピューターに
localfile.txt
という名前のファイルを作成し、そのファイルに異なるCORSルールを設定します。次の例では、AllowedOriginは
www.aliyun.com
、AllowedMethodはPUT
、MaxAgeSecondsは10000に設定されています。 MaxAgeSecondsは、ブラウザが特定のリソースへのプリフライト (OPTIONS) 要求に対する応答をキャッシュできる時間を秒単位で指定します。<?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration> <CORSRule> <AllowedOrigi n>www.aliyun.com</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <MaxAgeSeconds>10000</MaxAgeSeconds> </CORSRule> </CORSConfiguration>
- examplebucketという名前のバケットにCORSルールを追加します。
. /ossutil64 cors -- メソッドput oss:// examplebucket localfile.txt
同様の出力が表示される場合、CORSルールはexamplebucketに追加されます。
0.299514経過
- ローカルコンピューターに
バケットのCORS設定の照会
- コマンド構文
/ossutil64 cors -- メソッドget oss:// bucketname [local_xml_file]
次の表に、このコマンドを実行するときに設定できるパラメーターを示します。
パラメーター 説明 bucketname CORS設定を照会するバケットの名前。 local_xml_ファイル CORS設定の格納に使用されるローカルファイルの名前。 例: localfile.txt
このパラメーターが指定されていない場合、取得されたCORS設定は直接表示されます。 - 例
次のコマンドを実行して、examplebucketという名前のバケットのCORS設定を照会できます。
. /ossutil64 cors -- メソッドget oss:// examplebucket localfile.txt
同様の出力が表示される場合、examplebucketのCORS設定が取得され、localfile.txtに保存されます。
0.212407経過
バケットのCORS設定の削除
- コマンド構文
/ossutil64 cors -- メソッドdelete oss:// bucketname
- 例
examplebucketのCORS設定を削除します。
. /ossutil64 cors -- メソッドdelete oss:// examplebucket
同様の出力が表示される場合、examplebucketのCORS設定は削除されます。
0.530750経過
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKeyシークレットを指定します。
たとえば、次のコマンドを実行して、中国 (杭州) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestbucketという名前のバケットにCORS設定を追加できます。
. /ossutil64 cors -- メソッドput oss:// testbucket localfile.txt -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****
corsコマンドに使用できるその他の一般的なオプションの詳細については、「一般的なオプション」をご参照ください。