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

Object Storage Service:cors (クロスオリジンリソース共有)

最終更新日:Sep 24, 2026

クロスオリジンリソース共有 (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 設定を追加します。バケットに CORS 設定が既にある場合、このコマンドは既存の設定を上書きします。

CORS 設定を追加または変更するには、次の手順に従ってください:

  1. ローカルファイルを作成し、そのファイルに CORS ルールを追加します。

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

コマンド形式と例は次のとおりです:

  • コマンド形式

    ossutil cors --method put oss://bucketname local_xml_file

    パラメーターは次のとおりです:

    パラメーター

    説明

    bucketname

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

    local_xml_file

    CORS ルールを含むローカルファイルの名前。例:localfile.txt。

  • 例

    1. localfile.txt という名前のローカルファイルを作成し、必要な CORS ルールをファイルに追加します。

      次の CORS ルールのサンプルでは、http://www.aliyun.com からのクロスオリジン PUT リクエストを許可します。また、ブラウザが特定のリソースに対するプリフライト (OPTIONS) リクエストへのレスポンスを 10,000 秒間キャッシュするように指定します。

      <?xml version="1.0" encoding="UTF-8"?>
         <CORSConfiguration>
           <CORSRule>
               <AllowedOrigin>http://www.aliyun.com</AllowedOrigin>
               <AllowedMethod>PUT</AllowedMethod>
               <MaxAgeSeconds>10000</MaxAgeSeconds>
           </CORSRule>
       </CORSConfiguration>
    2. examplebucket バケットに CORS ルールを追加します。

      ossutil cors --method put oss://examplebucket localfile.txt

      次の出力は、CORS ルールが追加されたことを示します。

      0.299514(s) elapsed

CORS 設定の取得

  • コマンド形式

    ossutil cors --method get oss://bucketname [local_xml_file]

    パラメーターは次のとおりです:

    パラメーター

    説明

    bucketname

    CORS 設定を取得するバケットの名前。

    local_xml_file

    CORS 設定を保存するローカルファイルの名前。例:localfile.txt。このパラメーターを指定しない場合、CORS 設定は画面に出力されます。

  • 例

    examplebucket バケットの CORS 設定を取得します。

    ossutil cors --method get oss://examplebucket localfile.txt

    次の出力は、CORS 設定が取得され、localfile.txt ファイルに書き込まれたことを示します。

    0.212407(s) elapsed

CORS 設定の削除

  • コマンド形式

    ossutil cors --method delete oss://bucketname
  • 例

    examplebucket バケットから CORS 設定を削除します。

    ossutil cors --method delete oss://examplebucket

    次の出力は、examplebucket バケットの CORS 設定が削除されたことを示します。

    0.530750(s) elapsed

共通オプション

別のリージョンのバケットにアクセスするには、 -e を使用してエンドポイントを指定します。 別の Alibaba Cloud アカウントが所有するバケットにアクセスするには、AccessKey ID には -i を、AccessKey secret には -k を使用します。

たとえば、別の Alibaba Cloud アカウントが所有する、China (Hangzhou) リージョンにある testbucket という名前のバケットに CORS 設定を追加するには、次のコマンドを実行します:

ossutil cors --method put oss://testbucket localfile.txt -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret

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