レガシー署名付きURL(Signature V2)を解析する
レガシーシステムでまだ見られる古いSignature Version 2の署名付きURL形式を理解します。現在のSignature V4形式と比較します。
Pre-signed URLs
詳細な説明
Signature V2のレガシー署名付きURL
Signature Version 2(SigV2)はS3署名付きURLの古い署名形式です。AWSはほとんどのリージョンでSigV2を非推奨としていますが、レガシーシステム、古いドキュメント、更新されていないコードでまだこれらのURLに遭遇する可能性があります。
URL例
https://old-bucket.s3.amazonaws.com/archive/data.zip?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1705320000&Signature=dGhpcyBpcyBhbiBleGFtcGxlIHNpZw%3D%3D
解析されたコンポーネント
ベースURL:
| コンポーネント | 値 |
|---|---|
| バケット | old-bucket |
| キー | archive/data.zip |
| リージョン | (未指定) |
| スタイル | 仮想ホスト形式 |
署名パラメータ:
| パラメータ | 値 | 目的 |
|---|---|---|
AWSAccessKeyId |
AKIAIOSFODNN7EXAMPLE |
AWSアクセスキー |
Expires |
1705320000 |
Unixタイムスタンプの有効期限 |
Signature |
dGhpcy...%3D%3D |
Base64エンコードされたHMAC-SHA1署名 |
V2 vs V4 比較
| 機能 | Signature V2 | Signature V4 |
|---|---|---|
| アルゴリズム | HMAC-SHA1 | HMAC-SHA256 |
| 有効期限形式 | Unixタイムスタンプ | 秒単位の期間 |
| リージョンスコーピング | リージョンスコープなし | 認証情報にリージョンスコープ |
| パラメータプレフィックス | AWSAccessKeyId、Signature、Expires |
X-Amz-*パラメータ |
| セキュリティ | 弱い(SHA1) | 強い(SHA256 + リージョンスコープ) |
| 対応リージョン | 古いリージョンのみ | すべてのリージョン |
リージョンサポート
SigV2は2014年1月以前に開始されたリージョンでのみサポートされています:
us-east-1、us-west-1、us-west-2eu-west-1ap-southeast-1、ap-southeast-2、ap-northeast-1sa-east-1
すべての新しいリージョン(例:eu-central-1、ap-south-1、us-east-2)はSignature V4が必要です。
V4への移行
V2署名付きURLに遭遇した場合、コードをV4署名に更新してください。現在のすべてのAWS SDKはデフォルトでV4を使用しています。
ユースケース
Signature V2署名付きURLを生成するレガシーアプリケーションを、新しいAWSリージョンをサポートしセキュリティを向上させるためにSignature V4形式に移行する。