すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:コア

最終更新日:May 06, 2024

クロスオリジンリソース共有 (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設定を作成または変更するには、次の手順を実行します。

  1. ローカルファイルを作成します。 ローカルファイルにCORS設定を作成します。

  2. ossutilを使用して、ローカルファイルからCORS設定を読み取り、CORS設定を指定されたバケットに関連付けます。

バケットのCORS設定を作成または変更するには、次のコマンド構文を使用します。

  • コマンド構文

    ./ossutil64 cors -- メソッドput oss:// bucketname local_xml_file

    次の表に、上記の構文のパラメーターを示します。

    パラメーター

    説明

    bucketname

    CORS設定を作成または変更するバケットの名前。

    local_xml_ファイル

    CORS設定が指定されているローカルファイルの名前。 例: localfile.txt

    1. ローカルコンピューターに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> 
    2. 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 ****

共通オプションの詳細については、「共通オプション」をご参照ください。