AWS WAF の新しいコンソールエクスペリエンスのご紹介
更新されたエクスペリエンスを使用して、コンソールの任意の場所で AWS WAF 機能にアクセスできるようになりました。詳細については、「更新されたコンソールエクスペリエンスを使用する」を参照してください。
リクエストの認証
AWS によって SDK が提供されている言語を使用する場合は、SDK を使用することをお勧めします。AWS SDK を使用するほうが、AWS WAF や Shield Advanced API を使用するよりも、リクエストの署名プロセスがきわめてシンプルで、大幅な時間の節約になります。また、SDK は開発環境と容易に統合されるため、関連するコマンドへのアクセスが簡単です。
AWS WAF と Shield Advanced では、リクエストに署名することで、送信するすべてのリクエストを認証する必要があります。リクエストに署名するには、暗号化ハッシュ関数を使用してデジタル署名を計算します。この関数は入力に基づいてハッシュ値を返します。入力には、リクエストのテキスト、およびシークレットアクセスキーが含まれます。ハッシュ関数から返されるハッシュ値をリクエストに署名として含めます。署名は、リクエストの Authorization ヘッダーの一部です。
AWS WAF または Shield Advanced は、リクエストを受け取ると、リクエストの署名に使用されたものと同じハッシュ関数と入力を使用して署名を再計算します。結果として生じる署名とリクエスト内の署名が一致した場合、AWS WAF または Shield Advanced はリクエストを処理します。一致しない場合、リクエストは拒否されます。
AWS WAF および Shield Advanced は、AWS 署名バージョン 4 を使用した認証をサポートします。署名の計算プロセスは 3 つのタスクに分けることができます。
- タスク 1: 正規リクエストを作成する
『https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html』の「Amazon Web Services 全般のリファレンスタスク 1: 署名バージョン 4 の正規リクエストを作成する」で説明されているように、正規形式で HTTP リクエストを作成します。
- タスク 2: 署名対象の文字列を作成する
暗号化ハッシュ関数への入力値の 1 つとして使用する文字列を作成します。署名対象の文字列と呼ばれる文字列は、次の値を連結したものです。
ハッシュアルゴリズムの名前
リクエスト日
認証情報スコープ文字列
前のタスクからの正規形式のリクエスト
認証情報スコープの文字列自体は、日付、リージョン、およびサービス情報を結合したものです。
X-Amz-Credentialパラメータでは、次の内容を指定します。リクエストの送信先であるエンドポイントのコード (
us-east-2)wafサービスの省略形としての
例:
X-Amz-Credential=AKIAIOSFODNN7EXAMPLE/20130501/us-east-2/waf/aws4_request- タスク 3: 署名を作成する
2 つの入力文字列を受け取る暗号化ハッシュ関数を使用して、リクエストの署名を作成します。
タスク 2 からの署名対象の文字列。
派生キー。シークレットアクセスキーから開始し、認証情報スコープの文字列を使用して一連のハッシュベースのメッセージ認証コード (HMAC) を作成することで、派生キーが計算されます。