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

Object Storage Service:V1署名をV4署名にアップグレードするためのガイドライン

最終更新日:Dec 23, 2024

OSS (Object Storage Service) 署名メカニズムを使用して、リクエスト送信者のIDとリクエストの有効性を検証し、不正アクセスやデータの改ざんを防止します。 OSSはV1およびV4署名アルゴリズムをサポートしています。 V4署名アルゴリズムは、OSS4-HMAC-SHA256ハッシュアルゴリズムとより複雑な署名計算プロセスを使用して、データ相互作用のセキュリティを確保します。 その結果、V4署名アルゴリズムは、V1署名アルゴリズムよりも安全である。 このトピックでは、V1署名をV4署名にアップグレードする方法について説明します。

重要

2025年3月1日以降、新しいUIDを持つ新規顧客は、OSSのV1署名アルゴリズムを利用できなくなります。 2025年9月1日以降、OSSはV1署名アルゴリズムを更新および維持しなくなり、V1署名アルゴリズムは新しいバケットで使用できなくなります。 ビジネスへの影響を防ぐため、できるだけ早い機会にV1シグネチャをV4シグネチャにアップグレードします。

V4シグネチャの自動計算

V4署名計算プロセスは複雑である。 わずかな計算偏差は、要求を無効にする可能性があります。 OSS SDKを使用してリクエストを開始することを推奨します。 OSS SDKは、署名を自動的に計算する組み込みのV4署名メカニズムを提供します。 これにより、V4シグネチャを計算するためにコードを手動でコンパイルおよびデバッグする必要がなくなります。 使用するプログラミング言語またはプラットフォームに基づいて、バージョンがV4署名をサポートしているOSS SDKを使用できます。

説明

OSS SDKとossutil2.0を使用してV4シグネチャを自動的に計算する場合、エンドポイントとAlibaba CloudリージョンIDをリクエストの開始元のリージョンの識別子として指定します。 例:cn-hangzhou。 詳細については、「リージョンとエンドポイント」をご参照ください。

SDK

必要なバージョン

関連ドキュメント

Java SDK

3.17.4以降

V4署名アルゴリズムの使用 (推奨)

PHP SDK

2.7.0以降

V4署名アルゴリズムの使用 (推奨)

Node.js SDK

6.20.0以降

V4署名アルゴリズムの使用 (推奨)

Python SDK

2.18.4以降

V4署名アルゴリズムの使用 (推奨)

Browser.js SDK

6.20.0以降

V4署名アルゴリズムの使用 (推奨)

.NET SDK

2.14.0以降

(推奨) V4署名アルゴリズムの使用

Go SDK

3.0.2以降

V4署名アルゴリズムの使用 (推奨)

C++ SDK

1.10.0以降

V4署名アルゴリズムの使用 (推奨)

C SDK

3.11.0以降

V4署名アルゴリズムの使用 (推奨)

V4シグネチャを手動で計算する

OSS SDKを使用できない場合は、次のいずれかの方法を使用してV4シグネチャを手動で計算し、V4シグネチャを使用してOSSリソースにアクセスできます。

署名方法

説明

関連ドキュメント

承認ヘッダーにV4署名を含める

OSSでは、認証情報を提供するために使用される最も一般的な方法はAuthorizationヘッダーです。 クエリパラメーターを使用して署名されたPOSTリクエストとリクエストを除き、すべてのOSS操作で認証にAuthorizationヘッダーが使用されます。

(推奨) 許可ヘッダーにV4署名を含める

URLにV4署名を含める

V4署名およびその他の必要なリクエスト情報を含む事前署名付きURLを生成できます。 これにより、アクセス資格情報を公開することなく、サードパーティのユーザーに特定のOSSリソースに対する一時的なアクセス権限を付与できます。

(推奨) URLにV4署名を含める

PostObjectリクエストにV4署名を含める

PostObject操作では、HTMLフォームを使用してオブジェクトをOSSバケットにアップロードできます。 この署名メソッドを使用すると、WebブラウザーなどのクライアントでHTMLフォームを作成できます。 HTMLフォームには、アップロードするオブジェクトに関連するフィールドと、Signature、OSSAccessKeyId、BucketName、keyなどのその他の必要なパラメーターが含まれています。 HTMLフォームが送信されると、PostObjectリクエストを開始して情報がOSSに送信されます。 OSSはPostObjectリクエストの有効性を検証します。

付録: 署名