クロスオリジンリソース共有 (CORS) は、webアプリケーションサーバーがクロスオリジンアクセスを制御できるようにするためにHTML5によって提供される標準のクロスオリジンソリューションです。 これにより、オリジン間のデータ伝送のセキュリティが確保されます。 このトピックでは、corsコマンドを実行してバケットのCORS設定を追加、変更、クエリ、または削除する方法について説明します。
使用上の注意
CORS設定を作成または変更するには、
oss:PutBucketCors
権限が必要です。 CORS設定を照会するには、oss:GetBucketCors
権限が必要です。 CORS設定を削除するには、oss:DeleteBucketCors
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。このトピックでは、64ビットLinuxシステムで動作するサンプルコマンドラインを提供します。 他のシステムのために、取り替えて下さい./ossutil64対応するバイナリ名を持つコマンドで 詳細は、「ossutilコマンドリファレンス」をご参照ください。
CORSの詳細については、「CORS」をご参照ください。
バケットのCORS設定の作成または変更
バケットに既存のCORS設定がない場合、-- method putオプションが含まれているcorsコマンドを使用すると、バケットのCORS設定が作成されます。 バケットに既存のCORS設定がある場合、-- method putオプションを含むcorsコマンドは、バケットの既存のCORS設定を上書きします。
バケットのCORS設定を作成または変更するには、次の手順を実行します。
ローカルファイルを作成します。 ローカルファイルにCORS設定を作成します。
ossutilを使用して、ローカルファイルからCORS設定を読み取り、CORS設定を指定されたバケットに関連付けます。
バケットのCORS設定を作成または変更するには、次のコマンド構文を使用します。
コマンド構文
./ossutil64 cors -- メソッドput oss:// bucketname local_xml_file
次の表に、上記の構文のパラメーターを示します。
パラメーター
説明
bucketname
CORS設定を作成または変更するバケットの名前。
local_xml_ファイル
CORS設定が指定されているローカルファイルの名前。 例:
localfile.txt
例
ローカルコンピューターに
localfile.txt
という名前のファイルを作成し、そのファイルにCORSを設定します。次のサンプルCORS設定では、
www.aliyun.com
からのクロスオリジンPUT
リクエストを許可し、ブラウザがプリフライト (OPTIONS) リクエストへのレスポンスを10,000秒間キャッシュするように指定します。<?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設定が作成されたことを示します。
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
次のサンプル出力は、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 secretを指定します。
たとえば、次のコマンドを実行して、中国 (杭州) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestbucketという名前のバケットのCORS設定を作成できます。
./ossutil64 cors -- メソッドput oss:// testbucket localfile.txt -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****
共通オプションの詳細については、「共通オプション」をご参照ください。