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以降 | |
PHP SDK | 2.7.0以降 | |
Node.js SDK | 6.20.0以降 | |
Python SDK | 2.18.4以降 | |
Browser.js SDK | 6.20.0以降 | |
.NET SDK | 2.14.0以降 | |
Go SDK | 3.0.2以降 | |
C++ SDK | 1.10.0以降 | |
C SDK | 3.11.0以降 |
V4シグネチャを手動で計算する
OSS SDKを使用できない場合は、次のいずれかの方法を使用してV4シグネチャを手動で計算し、V4シグネチャを使用してOSSリソースにアクセスできます。
署名方法 | 説明 | 関連ドキュメント |
承認ヘッダーにV4署名を含める | OSSでは、認証情報を提供するために使用される最も一般的な方法はAuthorizationヘッダーです。 クエリパラメーターを使用して署名されたPOSTリクエストとリクエストを除き、すべてのOSS操作で認証にAuthorizationヘッダーが使用されます。 | |
URLにV4署名を含める | V4署名およびその他の必要なリクエスト情報を含む事前署名付きURLを生成できます。 これにより、アクセス資格情報を公開することなく、サードパーティのユーザーに特定のOSSリソースに対する一時的なアクセス権限を付与できます。 | |
PostObjectリクエストにV4署名を含める | PostObject操作では、HTMLフォームを使用してオブジェクトをOSSバケットにアップロードできます。 この署名メソッドを使用すると、WebブラウザーなどのクライアントでHTMLフォームを作成できます。 HTMLフォームには、アップロードするオブジェクトに関連するフィールドと、Signature、OSSAccessKeyId、BucketName、keyなどのその他の必要なパラメーターが含まれています。 HTMLフォームが送信されると、PostObjectリクエストを開始して情報がOSSに送信されます。 OSSはPostObjectリクエストの有効性を検証します。 |