AWS 全般のリファレンス
リファレンスガイド (Version 1.0)

署名バージョン 4 署名プロセス

署名バージョン 4 は、HTTP で送信される AWS リクエストに認証情報を追加するプロセスです。セキュリティ対策として、ほとんどの AWS へのリクエストでは、アクセスキーを使用して署名する必要があります。アクセスキーは、アクセスキー ID とシークレットアクセスキーで構成されます。これらの 2 つのキーは、一般的にセキュリティ認証情報と呼ばれます。アカウントの認証情報を取得する方法の詳細については、「認証情報の理解および取得」を参照してください。

重要

AWS Command Line Interface (AWS CLI)、またはいずれかの AWS SDK を使用して AWS へのリクエストを作成すると、これらのツールで、設定時に指定されたセキュリティ認証情報を使用して自動的にリクエストに署名されます。これらのツールを使う場合は、自分でリクエストに署名する方法を学ぶ必要はありません。ただし、HTTP リクエストを手動で作成して AWS のサービスにアクセスする場合は、ユーザーが自身でリクエストに署名する必要があります。

署名バージョン 4 の仕組み

  1. 正規リクエストを作成します。

  2. 正規リクエストと追加のメタデータを使用して、署名の文字列を作成します。

  3. AWS シークレットアクセスキーから署名キーを取得します。次に、署名キーと、前の手順で準備した文字列を使用して、署名を作成します。

  4. 作成した署名をヘッダーの HTTP リクエストに追加するか、クエリ文字列パラメータとして追加します。

AWS サービスがリクエストを受信すると、リクエストで送信した署名を計算したときと同じステップが実行されます。続いて AWS は、計算された署名とそのリクエストで送信した署名を比較します。署名が一致すると、リクエストが処理されます。署名が一致しない場合、リクエストは拒否されます。

詳細については、以下のリソースを参照してください。