山が見えるテラス付きログハウスでダラダラ生きていたい

農学部を出てITエンジニアをしている虚しい人の徒然日記

AWS Security Hub の 3 つのステータスについて

AWS Security Hub を使い始めたのだが、ステータスにあたるパラメータが多く混乱したので整理しておく。用語と概念 も参考になる。

Compliance.Status

純粋にチェックに合格しているか否かを示し、ステータスは PASSED (合格) 、FAILED (不合格) 、WARNING (合否不明)、NOT_AVAILABLE (チェック失敗) のステータスがある。大抵は PASSED か FAILED になる。

Workflow.Status

各レコードについての追跡状況を示していて、ユーザが状況に応じて変更できるステータス。ステータスは 4 種類あり、NEW は新たに検出された状態、NOTIFIED は担当者に通知した状態、SUPPRESSED は検出を意図的に抑制した状態、RESOLVED は解決した状態を示す (自由に変えられるので運用方法は利用者に任せられる)。検出対象のリソース自体を修正しても RESOLVED にならないことがあるので、リソースの修正が完了したら手動で RESOLVED したほうがよい。

Compliance.Status では FAILED になってしまうが運用において必要な設定であり、合否チェックの対象から外したい、といったような場合には SUPPRESSED を設定すればよい。

RecordState

各レコードがアクティブかアーカイブであるかを示す。ステータスはチェック対象を示す ACTIVE か ARCHIVED のみ。検出されたタイミングでは ACTIVE だが、リソースが削除された場合などに ARCHIVED へ変更される。タイミングは特に決まっていないようだ。

補足

運用上チェックしなくてもいい場合には、コントロール (EC2.8 など、チェックの種類) を無効にすることがあるだろう。しかし、コントロールを無効にしても、その時点で既に検出されていた項目の Compliance.Status が FAILED だと、不合格判定のまま残り続けてしまうので、Workflow.Status で適宜 SUPPRESSED などに設定したほうがよい。

コントロールの無効はドキュメントを見る限り、それ以降のチェックを実行しなくなるだけのようだ。