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

Object Storage Service:cors-options

最終更新日:Apr 03, 2025

クロスオリジンリソースシェアリング(CORS)は、Web アプリケーションサーバがクロスオリジンアクセスを制御できるようにするために HTML5 によって提供される標準的なクロスオリジンソリューションです。 これにより、オリジンをまたがるデータ転送のセキュリティが確保されます。 cors-options コマンドを実行して、Object Storage Service (OSS) に HTTP OPTIONS リクエストを送信し、特定のクロスオリジンリクエストが許可されているかどうかを確認できます。

説明
  • ossutil 1.6.16 以降では、コマンドラインでバイナリ名として ossutil を直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 ossutil 1.6.16 より前のバージョンでは、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細については、「ossutil コマンドリファレンス」をご参照ください。

  • CORS の詳細については、「cors」をご参照ください。

コマンド構文

ossutil cors-options oss://bucketname/[objectname]
[--acr-method <value>]
[--origin <value>]
[--acr-headers <value>] 

次の表は、上記のパラメーターとオプションについて説明しています。

パラメーター/オプション

説明

bucketname

アクセスするバケットの名前。

objectname

アクセスするオブジェクトの名前。

--acr-method

リクエストで使用できるメソッド。 このパラメーターは、Access-Control-Request-Method に対応します。 有効な値は、GETPUTPOSTDELETEHEAD です。

--origin

クロスオリジンリクエストを許可するオリジン。 例: http://www.aliyun.com

--acr-headers

単純なヘッダーを除き、リクエストで使用できるヘッダー。 このパラメーターは、Access-Control-Request-Headers に対応します。 1 つの リクエストで複数のヘッダーを指定できます。 複数のヘッダーはカンマ (,) で区切ります。 例: --acr-headers "header1,header2,header3"

次のコマンドを実行して、examplebucket バケットが http://www.aliyun.com からの PUT を使用するクロスオリジンリクエストを許可するかどうかを確認します。

ossutil cors-options --acr-method  put --origin "http://www.aliyun.com" oss://examplebucket

examplebucket がクロスオリジンリクエストを許可する場合、同様の出力が表示されます。

Access-Control-Allow-Methods: GET, POST, PUT
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 0

0.079520(s) elapsed

examplebucket がクロスオリジンリクエストを拒否する場合、同様の出力が表示されます。

Error: oss: service returned error: StatusCode=403, ErrorCode=AccessForbidden, ErrorMessage="CORSResponse: This CORS request is not allowed. This is usually
 because the evalution of Origin, request method / Access-Control-Request-Method or Access-Control-Requet-Headers are not whitelisted by the resource's CORS
 spec.", RequestId=60F7F55F553DA2363138****

共通オプション

たとえば、次のコマンドを実行して、examplebucket バケットの srcfolder ディレクトリを testbucket バケットの examplefolder ディレクトリに同期できます。 examplebucket バケットは、中国 (上海) リージョンにあり、別の Alibaba Cloud アカウントが所有しています。

ossutil sync oss://examplebucket/srcfolder/  oss://testbucket/examplefolder/ -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID  -k yourAccessKeySecret

たとえば、次のコマンドを実行して、testbucket という名前のバケットが http://www.alibabacloud.com からの PUT を使用するクロスオリジンリクエストを許可するかどうかを確認できます。 このバケットは、中国 (杭州) リージョンにあり、別の Alibaba Cloud アカウントが所有しています。

ossutil cors-options --acr-method  put --origin "http://www.alibabacloud.com" oss:/testbucket -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret

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