ポリシーリスクを可視化。自然な言葉でポリシーに関する疑問を解決します。 デモを申し込む →
Published:
アグリゲーターによる構成ガードレールの統合
by FireMon
「Quick and Dirty: Building an S3 guardrail with Config」では、Config の大きな課題の1つとして、各アカウントの各リージョンごとに設定する必要がある点を取り上げました。これを管理可能な範囲に収めるための最善の方法は、CloudFormation のようなInfrastructure as Codeツールを使用して、設定を環境間で複製することです。ベースラインとなるセキュリティおよび運用設定のスケールアウトについては述べるべきことが多くありますが、本稿では Config を統合ダッシュボードに集約する方法を取り上げます。
今年の初め、AWS は Config Aggregators を発表しました。これにより、Config のデータとルールを単一のビューに集約できます。Config 自体は引き続き各アカウント・各リージョンで個別に設定する必要がありますが、アグリゲーターによってリソースとルールのコンプライアンス状況を統合的に把握できます。Config をあまり扱ったことがない場合は、これが構成状態の推移を追跡する変更管理ツールであり、Rules は準拠・非準拠のリソースを検出する1つの機能にすぎない点を念頭に置いてください。アグリゲーターを使用すると、監視対象リソースの構成状態の推移も完全な形で確認できます。
最初のアグリゲーターを設定する
アグリゲーターの設定は簡単です。まず、ダッシュボードとして使用するアカウントとリージョンを選択します。全社規模のアグリゲーターを開発者の検証用アカウントに設定することは避けた方がよいでしょう。
あとは Config -> Aggregated view -> Add aggregator と進むだけです。
選択肢は2つあります。
- Add individual account IDs:アカウントを1つずつ追加します。
- Add my organization:組織内のすべてのアカウントを追加します。
いずれの場合も、機能させるために必要な次の手順を理解しておく必要があります。理想的には、組織全体およびすべてのリージョンで有効化します(今後追加されるリージョンを含めるチェックボックスもオンにしてください)。
- 個別に追加したアカウントについては、各アカウントの Config にログインして接続を承認する必要があります。以下は AWS が提供している画面例です。
- Organization での集約を機能させるには、基本的に AWS Organizations のすべての機能を有効にし、データ集約を管理する新しい IAM ロールを承認(必要に応じて作成)する必要があります。
すべてが正しく機能すれば、他のアカウントおよびリージョンのデータがすべて単一のダッシュボードビューに複製されます。各アカウント側では引き続き Config の設定が必要であり、自アカウントのデータにもアクセスできますが、これにより全体を中央で監視できるようになります。
実務上、アカウント数が少数を超える場合は、自動化によって実装すべきです。Infrastructure as Code またはプログラムによる自動化(当社の Ops など)を用いれば、これらすべてを API 経由で連携できます。当社のような自動化ツールを使用している場合でも、変更管理機能の観点から Config の利用を推奨しますが、環境を運用上どのように管理しているかによって、すべてを集約するかどうかは判断が分かれます。
Config の集約は優れた機能強化であり、設定も比較的簡単です。要点は、戦略を決めたうえで IAM を適切に設定し、各リクエストを双方で承認することを忘れない点にあります。組織全体を連携させることに不安がある場合は、各アカウントで Config 自体が設定されている場合にのみデータが取得される点を念頭に置いてください。確定的な戦略上の助言をお示ししたいところですが、この点は Config をどのように使用している(あるいは使用する予定である)かに大きく依存し、いずれのパターンも十分に実用的です。