【目次】

  1. 1. はじめに
  2. 2. Credential Store とは
  3. 3. Credential Storeの登録方法
  4. 4. AssumeRoleを使用する場合
  5. 5. アクセスキー・シークレットキーを使用する場合

1. はじめに

2023/03/23にWafCharmではCredential Store機能をリリースいたしました。
従来のアクセスキー・シークレットキーを利用した認証に加えて、AssumeRoleを使用してWafCharmへ権限を提供することが可能になりました。

本ブログでは、Credential Store機能についてご紹介します。

※今回のリリースをもってアクセスキー・シークレットキーの利用は非推奨となります。今後はAssumeRoleの利用を推奨いたしますので、これからWafCharmの利用を開始される場合などはAssumeRoleをご検討ください。

2. Credential Store とは

Credential Storeは、AssumeRoleを行うロールのARNや、アクセスキー・シークレットキーといったクレデンシャル情報を登録するためのWafCharm機能です。

WafCharmに登録されているクレデンシャル情報の一覧はもちろん、どのWeb ACL Config/Web Site Configがどのクレデンシャル情報を使用しているか確認することが可能です。

3. Credential Storeの登録方法

クレデンシャル情報は、Credential Store、Web ACL Config、そしてWeb Site Configそれぞれの画面から登録が可能です。
※ロールのARNやアクセスキー・シークレットキーはあらかじめ準備が必要です。

1. WafCharm管理画面にログインします。

2. 画面上部のAWSをクリックし、Credential Storeをクリックします。

3. 左上のAddボタンをクリックします。

4. 入力画面が表示されるので、必要な情報を入力して登録してください。

以下にAssumeRoleおよびアクセスキー・シークレットキーでの新規登録方法を説明します。

4. AssumeRoleを使用する場合

AssumeRoleを使用する場合、全体の流れとしては下記の通りとなります。

AWSマネージメントコンソール上での操作方法を含む詳細はAssumeRoleでの設定とIAMポリシーについてをご参考ください。
※Web ACL Configを新規追加する場合の説明ですが、全体の流れは同様です。

1. AWSマネージメントコンソールにてロールを作成する

2. WafCharm管理画面にて作成したロールのARNを登録する

WafCharm管理画面上で登録する情報は、以下通りです。

  • Name: クレデンシャル情報の名前を入力(管理用の名前です)
  • Type: Assume Roleを選択
  • Assume Role ARN: 作成したロールのARNを貼り付ける

3. WafCharm管理画面で発行された信頼ポリシーをコピーし、AWSマネージメントコンソールの当該ロールの信頼ポリシーに登録する

画面上のコピーボタンをクリックすると、WafCharm管理画面で発行した信頼ポリシーのJSONをコピーできます。

4. WafCharm管理画面でValidateする

AWSマネージメントコンソール上で信頼ポリシーを更新したら、WafCharm管理画面にてクレデンシャルを検証します。

AWS側の信頼ポリシーが更新されていない場合、検証に失敗してしまいルールの更新等が行えなくなりますのでご注意ください。

なお、AWS側の信頼ポリシーを更新していても、反映タイミング等によって検証に失敗してしまう場合があります。その場合には少し時間を置いてから再度お試しください。
検証に失敗した場合も一度Credential Store画面に戻りますので、再検証する場合には対象のCredential Store詳細画面にてValidateボタンを押してください。

5. OKボタンを押すと、Credential Store画面に戻ります。

先ほど追加したクレデンシャル情報の名前が表示されていて、Stateの箇所にValidatedと表示されていれば設定は成功です。
登録したクレデンシャル(スクリーンショットの場合はWafCharm-test)をWeb ACL ConfigやWeb Site Config設定時に選択することで、認証を行えるようになります。

5. アクセスキー・シークレットキーを使用する場合

アクセスキー・シークレットキーを使用する場合の全体の流れとしては下記の通りとなります。

AWSマネージメントコンソール上での各種キーの取得方法はアクセスキー/シークレットキーの準備編をご参考ください。

1. AWSマネージメントコンソールにてIAMユーザーを作成する

2. 作成したIAMユーザーのアクセスキー、シークレットアクセスキー情報を取得する

3. WafCharm管理画面にて、アクセスキー、シークレットキーを登録する

WafCharm管理画面上で登録する情報は、以下通りです。

  • Name: クレデンシャル情報の名前を入力(管理用の名前です)
  • Type: Access Key / Secret Keyを選択
  • Access Key: 取得したアクセスキーを入力
  • Secret Key: 取得したシークレットキーを入力

4. Save and Validateボタンをクリックし、検証が成功すると登録が完了する

先ほど追加したクレデンシャル情報の名前が表示されていて、Stateの箇所にValidatedと表示されていれば設定は成功です。
登録したクレデンシャルをWeb ACL ConfigやWeb Site Config設定時に選択することで、認証を行えるようになります。

検証に失敗した場合、エラーメッセージが表示されます。
その場合には入力内容を修正し、再度Save and Validateボタンを押してください。

なお、検証に失敗した場合でもクレデンシャル情報はエラー状態で保存されます。
※State以下にValidated以外の値が表示されている場合は検証が完了していないか、エラーです。

もしエラーになってしまった場合は、クレデンシャル情報の名前をクリックして詳細画面を開き、Editをクリックして編集を行ってください。