デフォルトでは、object Storage Service (OSS) バケット内のオブジェクトのアクセス制御リスト (ACL) はプライベートです。 オブジェクトにアクセスする権限を持つのは、オブジェクトの所有者だけです。 ただし、オブジェクト所有者はsignコマンドを実行して、オブジェクトの署名付きURLを生成し、サードパーティのユーザーと共有できます。 アクセス資格情報は、署名付きURLを生成し、サードパーティのユーザーが特定の期間内にオブジェクトをダウンロードまたはプレビューすることを許可するために使用されます。
サードパーティのユーザーは、オブジェクトのACLがパブリック読み取りまたはプライベートであるかどうか、およびバケットポリシーまたはRAMポリシーがサードパーティのユーザーにオブジェクトへのアクセスを許可するように構成されているかどうかに関係なく、署名付きURLを使用してオブジェクトにアクセスできます。
このトピックでは、64ビットLinuxシステムに基づくサンプルコマンドラインを提供します。 他のシステムのために、取り替えて下さい./ossutil64特定のバイナリ名を持つコマンドで 詳細は、「ossutilコマンドリファレンス」をご参照ください。
コマンド構文
./ossutil64 sign cloud_url
[--timeout <value>]
[--version-id <value>]
[--trafic-limit <value>]
[--disable-encode-slash]
[--payer <value>]
[--query-param <value>]
次の表に、signコマンドを実行するために設定できるパラメーターを示します。
パラメーター | 説明 |
cloud_url | オブジェクトのフルパス。The full path of the object. |
-- timeout | 署名付きURLの有効期間。 単位は秒です。 デフォルト値: 0。 重要 現在のタイムスタンプと署名付きURLの有効期間の合計は9223372036854775807を超えることはできません。 合計が前の値を超えると、エラーが報告されます。 たとえば、現在のタイムスタンプが1643341269の場合、署名付きURLの有効期間は9223372035211434538を超えることはできません。 |
-- version-id | 署名付きURLを生成するオブジェクトのバージョンID。 このパラメーターは、バージョン管理が有効または一時停止されているバケット内のオブジェクトにのみ適用されます。 |
-- trafic-limit | 署名付きURLを使用してHTTP経由でオブジェクトにアクセスする最大速度。 単位:bit/s。 このパラメーターのデフォルト値は0で、アクセス速度が制限されていないことを示します。 有効な値: 819200〜838860800 (100 KB/s〜100メガバイト/秒) 。 |
-- disable-encode-スラッシュ | cloud_urlの値に含まれるスラッシュ (/) がエンコードされないことを指定します。 |
-- 支払人 | トラフィックとリクエスト料金の支払人。 指定したパスのリソースにアクセスするリクエスタにトラフィックとリクエスト料金を支払う場合は、このパラメーターをrequesterに設定します。 |
-- query-param | リクエスト内のクエリパラメーター。 リクエストには複数のクエリパラメーターを指定できます。 たとえば、画像処理 (IMG) パラメーターをクエリパラメーターとして指定できます。 -- query-paramは、x-oss-process、response-content-type、x-oss-traffic-limit、response-content-language、response-expires、response-cache-control、response-content-disposition、response-content-encoding、x-oss-ac-source-ip、x-oss-ac-subnet-mask、x-oss-ac-vpc-id、およびx-oss-ac-forward-allow。 パラメーターの詳細については、「署名V1を使用した署名付きURLの作成」および「GetObject」をご参照ください。 説明 -- query-paramパラメーターは、ossutil V.1.7.15以降でのみ使用できます。 |
例
次のコマンドを実行して、examplebucketという名前のバケット内のexampleobject.pngという名前のオブジェクトの署名付きURLを生成できます。 この例では、URLの有効期間はデフォルト値であり、60秒です。
./ossutil64 sign oss://examplebucket/exampleobject.png
次のコマンドを実行して、examplebucketという名前のバケット内のexampleobject.pngという名前のオブジェクトの署名付きURLを生成できます。 この例では、URLの有効期間は3,600秒に設定されています。
./ossutil64 sign oss://examplebucket/exampleobject.png --timeout 3600
次のコマンドを実行して、examplebucketという名前のバケット内のexampleobject.pngという名前のオブジェクトの署名付きURLを生成できます。 この例では、URLの有効期間は7,200秒に設定され、署名付きURLを使用してHTTP経由でオブジェクトにアクセスする最大速度は100メガバイト/秒に設定されています。
./ossutil64 sign oss://examplebucket/exampleobject.png --timeout 7200 --trafic-limit 838860800
次のコマンドを実行して、examplebucketという名前のバケット内のexampleobject.jpgという名前のオブジェクトの指定されたバージョンの署名付きURLを生成できます。 この例では、URLの有効期間は1,800秒に設定されています。
./ossutil64 sign oss://examplebucket/exampleobject.jpg --timeout 1800 --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
次のコマンドを実行して、examplebucketバケット内のexampleobject.jpgという名前の画像オブジェクトを幅100ピクセル、高さ100ピクセルにサイズ変更し、画像を90度回転して、処理された画像の署名付きURLを生成できます。
./ossutil64 sign oss://examplebucket/exampleobject.jpg --query-param x-oss-process:image/resize,m_fixed,w_100,h_100/rotate,90
次のコマンドを実行して、examplebucketバケット内のexampleobject.jpgという名前のイメージオブジェクトを幅100ピクセル、高さ100ピクセルにサイズ変更し、イメージを90度回転し、トラフィック制限を100 KB /秒 (819200ビット /秒) に設定し、処理済みイメージの署名付きURLを生成できます。
./ossutil64 sign oss://examplebucket/exampleobject.jpg --query-param x-oss-process:image/resize,m_fixed,w_100,h_100/rotate,90 --query-param x-oss-traffic-limit:819200
上記のコマンドを実行すると、次のような出力が返されます。 出力には、署名付きURLの生成に使用された時間、URLの有効期間、およびURL内の署名情報が含まれます。
https://examplebucket.ss-cn-hangzhou.aliyuncs.com/exampleobject.png?Expires=1608282224&OSSAccessKeyId=LTAI4G33piUmgRN1DXx9****&Signature=jo4%2FGykfuc1A4fvyvKRpRyymYH**** 0.368676(s) elapsed
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKey secretを指定します。
たとえば、次のコマンドを実行して、中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestbucketという名前のバケットで、exampletest.jpgという名前のオブジェクトの署名付きURLを生成できます。 この例では、URLの有効期間は3,600秒に設定されています。
./ossutil64 sign oss://testbucket/exampletest.jpg --timeout 3600 -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
共通オプションの詳細については、「共通オプション」をご参照ください。