レガシー署名付き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タイムスタンプ 秒単位の期間
リージョンスコーピング リージョンスコープなし 認証情報にリージョンスコープ
パラメータプレフィックス AWSAccessKeyIdSignatureExpires X-Amz-*パラメータ
セキュリティ 弱い(SHA1) 強い(SHA256 + リージョンスコープ)
対応リージョン 古いリージョンのみ すべてのリージョン

リージョンサポート

SigV2は2014年1月以前に開始されたリージョンでのみサポートされています:

  • us-east-1us-west-1us-west-2
  • eu-west-1
  • ap-southeast-1ap-southeast-2ap-northeast-1
  • sa-east-1

すべての新しいリージョン(例:eu-central-1ap-south-1us-east-2)はSignature V4が必要です。

V4への移行

V2署名付きURLに遭遇した場合、コードをV4署名に更新してください。現在のすべてのAWS SDKはデフォルトでV4を使用しています。

ユースケース

Signature V2署名付きURLを生成するレガシーアプリケーションを、新しいAWSリージョンをサポートしセキュリティを向上させるためにSignature V4形式に移行する。

試してみる — AWS S3 URL Parser

フルツールを開く