クロスオリジンリソースシェアリング(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 | リクエストで使用できるメソッド。 このパラメーターは、 |
--origin | クロスオリジンリクエストを許可するオリジン。 例: |
--acr-headers | 単純なヘッダーを除き、リクエストで使用できるヘッダー。 このパラメーターは、 |
例
次のコマンドを実行して、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
共通オプションの詳細については、「共通オプション」をご参照ください。