クロスオリジンリソース共有 (CORS) は、webアプリケーションサーバーがクロスオリジンアクセスを制御できるようにするためにHTML5によって提供される標準のクロスオリジンソリューションです。 これにより、オリジン間のデータ伝送のセキュリティが確保されます。 cors-optionsコマンドを実行して、HTTP OPTIONSリクエストをObject Storage Service (OSS) に送信し、特定のクロスオリジンリクエストが許可されているかどうかを確認できます。
ossutil 1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 1.6.16より前のossutilの場合、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。
CORSの詳細については、「cors」をご参照ください。
コマンド構文
ossutil cors-options oss://bucketname/[objectname]
[--acr-method <value>]
[--origin <value>]
[--acr-headers <value>]
次の表に、上記のパラメーターとオプションを示します。
パラメータ /オプション | 説明 |
bucketname | アクセスするバケットの名前。 |
オブジェクト名 | アクセスするオブジェクトの名前。 |
-- acr-method | リクエストで使用できるメソッド。 このパラメーターは、 |
-- 起源 | クロスオリジンリクエストを許可するオリジン。 例: |
-- 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 LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
たとえば、次のコマンドを実行して、testbucketという名前のバケットがPUT
from http://www.alibabacloud.com
を使用するクロスオリジンリクエストを許可するかどうかを確認できます。 このバケットは中国 (杭州) リージョンにあり、別のAlibaba Cloudアカウントが所有しています。
ossutil cors-options --acr-method put --origin "http://www.alibabacloud.com" oss:/testbucket -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
共通オプションの詳細については、「共通オプション」をご参照ください。