クロスオリジンリソース共有 (CORS) は、webアプリケーションサーバーがクロスオリジンアクセスを制御できるようにするためにHTML5によって提供される標準のクロスオリジンソリューションです。 これにより、オリジン間のデータ伝送のセキュリティが確保されます。 このトピックでは、corsコマンドを実行してバケットのCORS設定を追加、変更、クエリ、または削除する方法について説明します。
使用上の注意
CORS設定を作成または変更するには、
oss:PutBucketCors
権限が必要です。 CORS設定を照会するには、oss:GetBucketCors
権限が必要です。 CORS設定を削除するには、oss:DeleteBucketCors
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。
ossutil 1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 1.6.16より前のossutilの場合、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。
CORSの詳細については、「CORS」をご参照ください。
バケットのCORS設定の作成または変更
バケットに既存のCORS設定がない場合、-- method putオプションが含まれているcorsコマンドを使用すると、バケットのCORS設定が作成されます。 バケットに既存のCORS設定がある場合、-- method putオプションを含むcorsコマンドは、バケットの既存のCORS設定を上書きします。
バケットのCORS設定を作成または変更するには、次の手順を実行します。
ローカルファイルを作成します。 ローカルファイルにCORS設定を作成します。
ossutilを使用して、ローカルファイルからCORS設定を読み取り、CORS設定を指定されたバケットに関連付けます。
バケットのCORS設定を作成または変更するには、次のコマンド構文を使用します。
コマンド構文
ossutil cors -- method 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設定を作成します。
ossutil cors -- メソッドput oss:// examplebucket localfile.txt
次のサンプル出力は、CORS設定が作成されたことを示します。
0.299514経過
バケットのCORS設定の照会
コマンド構文
ossutil cors -- method get oss:// bucketname [local_xml_file]
次の表に、上記のパラメーターを示します。
パラメーター
説明
bucketname
CORS設定を照会するバケットの名前。
local_xml_ファイル
CORS設定を格納するローカルファイルの名前。 例:
localfile.txt
このパラメーターを指定しない場合、CORS設定が画面に表示されます。例
次のコマンドを実行して、examplebucketという名前のバケットのCORS設定を照会します。
ossutil cors -- method get oss:// examplebucket localfile.txt
次のサンプル出力は、CORS設定が取得され、localfile.txtファイルに書き込まれることを示しています。
0.212407経過
バケットのCORS設定を削除する
コマンド構文
ossutil cors -- メソッドdelete oss:// bucketname
例
次のコマンドを実行して、examplebucketバケットのCORS設定を削除します。
ossutil cors -- メソッドdelete oss:// examplebucket
次のサンプル出力は、examplebucketバケットのCORS設定が削除されたことを示しています。
0.530750経過
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、-eオプションを追加して、バケットが配置されているリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、-iオプションを追加して指定されたアカウントのAccessKey IDを指定し、-kオプションを追加して指定されたアカウントのAccessKey secretを指定します。
たとえば、次のコマンドを実行して、中国 (杭州) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestbucketという名前のバケットのCORS設定を作成できます。
ossutil cors -- method put oss:// testbucket localfile.txt -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****
共通オプションの詳細については、「共通オプション」をご参照ください。