【目次】

  1. 1. はじめに
  2. 2. Resource State とは
  3. 3. Resource Stateの表示位置とメッセージ内容
  4. 4. 認証情報に誤りがある
  5. 5. 権限が不足している
  6. 6. リソースが見つからない
  7. 7. 予期せぬエラーが発生した
  8. 8. おわりに

1. はじめに

2023/03/23にWafCharmではCredential Store機能をリリースいたしました。
参考:Credential Storeについて

それに伴い、Web ACL ConfigおよびWeb Site Configのリソース検証の仕組みについてもアップデートを行い、画面上で再検証の実施および検証結果をご確認いただけるようになりました。

本ブログでは、Resource Stateの概要と、エラー時の解消方法をご紹介します。

2. Resource State とは

WafCharmではルールの適用等を行うため、AssumeRoleやアクセスキー・シークレットキーを用いてお客様のリソースへアクセスする権限を付与いただいています。

また、アクセス権限が不十分な場合などはルールの適用等が行えないため、必要に応じて再検証を行っています。

これまでは検証結果をご確認いただけない場合や、わかりづらい場合がありましたが、Resource Stateという形でお客様にも権限の状態をご確認いただけるようになりました。

さらに、Validateボタンを設けることで、AWSマネージメントコンソール側で設定状況を調整した場合などにWafCharmから引き続きアクセスできるかどうかをお客様自身でご確認いただけるようになっています。

3. Resource Stateの表示位置とメッセージ内容

Web ACL Configの場合、Resource Stateは各種項目の下の方に表示されます。
Validateボタンは画面上部のDeleteボタンの横にあります。

Web Site Configの場合、S3 Pathの次に表示されます。
ValidateボタンはWeb ACL Configと同じ位置です。

Resource Stateに表示されるメッセージは、以下の通りです。

検証結果 概要
Unknown(未検証) リソースの検証が完了していません。
Validated(検証済み) リソースの検証が成功しました。

※Web ACL Configの場合、あくまでWafCharmからのアクセスが可能であることを表しております。WafCharmルールが正しく適用されているかを判断するものではありません。

※Web Site Configの場合、S3バケットにアクセスできることを表しております。指定されたS3 Pathからアクセスログが取得できていることを表すものではありません。

Invalid credential(認証情報に誤りがあります) アクセスキーやAssumeRoleの情報など、認証情報に誤りがあります。
Insufficient permissions(各種権限が不足しています) 権限が不足しています。IAMポリシー等をご確認ください。
XXX not found(XXXが見つかりません) 特定のリソースが見つかりません。
Undefined error(予期せぬエラーが発生しました) 上記で定義されているもの以外のエラーになります。

次のセクションからは、各種エラーが発生する理由や解決方法について説明します。

4. 認証情報に誤りがある

Invalid credential(認証情報に誤りがある)という内容の場合、Credential Storeに登録されたクレデンシャル情報に誤りがあることを表しています。

AssumeRoleの場合、ARNや信頼ポリシーに誤りがあることなどが考えられます。

アクセスキー・シークレットキーの場合、キーの値に誤りがあるなどが考えられます。

いずれの場合も、まずはCredential Storeに登録されている認証情報とAWSマネージメントコンソールに登録されている情報が一致するかご確認ください。

5. 権限が不足している

Insufficient permissions(各種権限が不足している)という内容の場合、IAMポリシーに指定された権限が不足していることを表しています。

WafCharmを利用するためには、”AWSWAFFullAccess” 、 “AmazonS3ReadOnlyAccess” および “CloudWatchReadOnlyAccess” の付与をお願いしています。
※S3バケットに対する権限(”AmazonS3ReadOnlyAccess”)については、WafCharmからアクセスできるリソースも制限することを推奨しております。詳細についてはWafCharmご利用の際に必要となるIAMポリシーをご参考ください。

AWS WAFの権限については、機能追加や更新などで権限が不足することが考えられますので、”AWSWAFFullAccess” の付与をおすすめします。
権限についてご不安な場合には、AssumeRoleというよりセキュアな認証方法がございますので、こちらをご検討ください。

また、AWS WAFに対するポリシー内のResourceについては “*” での指定をお願いします。

6. リソースが見つからない

XXX not found(XXXが見つからない)という内容の場合、対象のリソースが見つからないことを表しています。

Web ACL Configの場合は、XXXにはWeb ACLが入ります。
例えば、Web ACLの実際のリージョンと、Web ACL Config上で指定したリージョンが間違っている場合や、初回入力時のWeb ACL IDが間違っている場合などに発生します。

Web Site Configの場合、XXXにはS3バケットあるいはアクセスログが入ります。

S3 Pathに誤りがある場合などは、S3バケットが見つからないというエラーが表示されます。
アクセスログが見つからない場合は、アクセスログが出力されていない可能性がありますので、対象の環境へアクセスしログが出力されてから再度ご確認ください。

7. 予期せぬエラーが発生した

上記いずれにも該当しない場合や、システム上予期していないエラーを表します。

再度Validateを実行することで解消する可能性がございます。
複数回実行しても結果が変わらない場合は弊社にて調査を行いますので、以下の内容を添えてサポートまでお問い合わせください。

  • 対象のWeb ACL名
  • 対象のWeb Site Config

注意
S3バケットを特定のリージョン(※)にしている場合、Web Site ConfigのResource Stateにて予期せぬエラーとなる場合があります。その場合は、対象のリージョン名を添えてWafCharmサポートまでご連絡ください。
※特定のリージョンは、AWSコンソール上でデフォルトでは無効になっているオプトインリージョンです。詳細はデフォルトで無効になっているリージョンの一覧をご確認ください。

8. おわりに

今回のCredential Storeリリースにより、リソースの検証状況を把握しやすくなったかと思います。

また、AWSマネージメントコンソール上で設定を変更した際に意図せずWafCharmからのアクセスができない状態になってしまうといったことも考えられましたが、Validateボタンによりお客様自身で状況を確認の上、修正が可能となりました。

WafCharmやAWS側での設定状況に問題がないか、ご確認いただく際にお役立てください。