【目次】

  1. 1. はじめに
  2. 2. AssumeRole とは
  3. 3. Credential Store とは
  4. 4. 切り替え前のクレデンシャルの状態
  5. 5. AssumeRoleのクレデンシャルを用意する
  6. 6. Web ACL Config/Web Site Configの設定を変更する
  7. 7. おわりに

1. はじめに

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

本ブログでは、すでにWafCharmをご利用されている方向けに、認証方法をアクセスキー・シークレットキーからAssumeRoleを切り替える方法をご紹介します。

※今回のリリースをもってアクセスキー・シークレットキーの利用は非推奨となります。今後はAssumeRoleの利用を推奨いたします。

2. AssumeRole とは

AssumeRoleは、AWSリソースへのアクセス権限を付与するために、一時的にクレデンシャルを発行します。

アクセスキー・シークレットキーといった情報を提供することなくアクセス権限を付与できます。

AssumeRole – AWS Security Token Service

3. Credential Store とは

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

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

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

参考:
Credential Storeについて

4. 切り替え前のクレデンシャルの状態

すでにWafCharmをご利用されている場合、アクセスキー・シークレットキーでの認証を行われていたかと思います。
登録済みの情報は自動的にCredential Store機能に取り込まれており、access_keyといった名前で登録されています。

また、Web ACL ConfigやWeb Site Config上でも登録済みのアクセスキー・シークレットキーの情報を参照しています。

AssumeRoleへの切り替えを行う場合は、AssumeRole用のCredential Storeを登録し、Web ACL Config/Web Site ConfigのCredential Storeの項目をAssumeRoleのものに切り替える必要があります。

5. AssumeRoleのクレデンシャルを用意する

アクセスキー・シークレットキーからAssumeRoleへ切り替える場合、ロールの作成とWafCharmへの登録が必要です。

以下に全体の手順を記載します。
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設定時に選択することで、認証を行えるようになります。

6. Web ACL Config/Web Site Configの設定を変更する

AssumeRole用クレデンシャルの登録が完了したら、Web ACL Config/Web Site Configにも変更の反映が必要です。

1. Web ACL Config画面から、対象のWeb ACL Configの名前をクリックする

2. Editボタンをクリックする

3. Credential Storeの項目にて、先ほど作成したクレデンシャルの名前を選択し、Saveボタンをクリックする

4. Web ACL Configの登録が完了したらOKボタンをクリックする

5. 画面上部のメニューなどからWeb Site Config画面を開き、クレデンシャル情報を変更したいWeb Site Configの右側にある設定アイコンをクリックする

Web Site Configに登録したFQDNの箇所をクリックすると詳細画面が表示されるので、そこからEditボタンを押すことでも編集できます。

6. Credential Storeのプルダウンから先ほど作成したクレデンシャルの名前を選択肢、Saveボタンを押す

※異なる情報を使用したい場合、別のクレデンシャルを選択可能です。
※新しく追加したい場合は、右側のAddボタンから新規追加も可能です。
新規登録の詳細な手順はAssumeRoleでの設定とIAMポリシーについてをご参考ください。

7. Web Site Configの登録が完了したら、OKボタンをクリックする

クレデンシャルの切り替えが完了し、アクセスキー・シークレットキーの情報については今後使用されない場合は、対象のクレデンシャル情報を削除して問題ありません。

削除する場合は、Credential Store画面にて対象のクレデンシャル情報を開き、Deleteボタンから削除を実行してください。

7. おわりに

今回のCredential Storeリリースにより、これまでのアクセスキー・シークレットキーによる認証に加えてAssumeRoleを使用することができるようになりました。

AssumeRoleへの切り替えでアクセスキー・シークレットキーの更新等の運用が不要になる方もいらっしゃるのではないでしょうか。

今後もWafCharmでは各種機能の追加、改善に向けて尽力してまいります。