
PacBot (ポリシー・アズ・コード・ボット)
Policy as Code Bot (PacBot) は、クラウドにおける継続的なコンプライアンス監視、コンプライアンスレポート、およびセキュリティ自動化のためのプラットフォームです。PacBotでは、セキュリティとコンプライアンスのポリシーがコードとして実装されています。PacBotによって発見されたすべてのリソースは、これらのポリシーに対して評価され、ポリシーの適合性が判断されます。PacBotの自動修正フレームワークは、事前に定義されたアクションを実行することで、ポリシー違反に自動的に対応する機能を提供します。PacBotは強力な可視化機能を備えており、コンプライアンスのシンプルなビューを提供し、ポリシー違反の分析と是正を容易にします。PacBotはクラウドの設定ミスを管理するツールにとどまらず、あらゆるドメインで継続的なコンプライアンス監視とレポートを行うための汎用プラットフォームです。
PacBotのプラグインベースのデータ取り込みアーキテクチャにより、複数のソースからデータを取り込むことができます。Qualys脆弱性評価プラットフォーム、Bitbucket、TrendMicro Deep Security、Tripwire、Venafi証明書管理、Redhat Satellite、Spacewalk、Active Directory、およびその他のカスタム構築された内部ソリューションからデータを取得するプラグインを開発しています。これらのプラグインやその他のツールもオープンソース化する取り組みを進めています。これらのプラグインによって収集されたデータに基づいてルールを作成し、クラウドの設定ミスだけでなく、エコシステム全体の全体像を把握することができます。例えば、T-Mobileでは、1つ以上の重大度5(CVSSスコア>7)の脆弱性を持つすべてのEC2インスタンスを非準拠としてマークするポリシーを実装しています。
評価 -> レポート -> 是正 -> 繰り返し
「評価 -> レポート -> 是正 -> 繰り返し」はPacBotの哲学です。PacBotはリソースを発見し、コードとして実装されたポリシーに対してそれらを評価します。すべてのポリシー違反は問題として記録されます。ポリシーに自動修正フックが利用可能な場合、リソースが評価に失敗したときにこれらの自動修正が実行されます。ポリシー違反は手動でクローズすることはできません。問題はソースで修正される必要があり、PacBotは次のスキャンでそれをクローズとしてマークします。ポリシー違反には例外を追加できます。スティッキー例外(リソース属性の一致条件に基づく例外)を追加して、将来作成される可能性のある類似のリソースを除外することができます。
PacBotのアセットグループは、コンプライアンスを可視化する強力な方法です。アセットグループは、1つ以上のターゲットリソースの属性一致条件を定義することで作成されます。例えば、属性instancestate.name=runningに一致するすべてのEC2インスタンスを定義することで、実行中の全アセットのアセットグループを作成できます。アセットグループ作成後に起動された新しいEC2インスタンスは、自動的にグループに含まれます。PacBot UIでは、ポータルのスコープを特定のアセットグループに設定できます。PacBotポータルに表示されるすべてのデータポイントは、選択されたアセットグループに限定されます。クラウドを使用するチームは、ポータルのスコープを自分のアプリケーションや組織に設定し、自分のポリシー違反のみに集中できます。これによりノイズが低減され、クラウドユーザーに明確な状況が提供されます。T-Mobileでは、利害関係者、アプリケーション、AWSアカウント、環境などごとにアセットグループを作成しています。
アセットグループは、ルール実行のスコープを定義するためにも使用できます。PacBotのポリシーは、1つ以上のルールとして実装されます。これらのルールは、すべてのリソースまたは特定のアセットグループに対して実行するように設定できます。ルールは、ルールのスコープとして設定されたアセットグループ内のすべてのリソースを評価します。これにより、アプリケーションや組織に非常に特化したポリシーを作成する機会が得られます。例えば、一部のチームは、クラウド全体に設定されたグローバル標準に加えて、追加のタグ付け標準を適用したい場合があります。カスタムルールを使用してそのようなポリシーを実装し、これらのルールを自分のアセットのみで実行するように設定できます。
PacBotインストーラーは、これらのサービスを自動的に起動し、設定します。インストールの詳細な手順については、インストールドキュメントを参照してください。
詳細なインストール手順はこちらをご覧ください。
インストーラーは、インストール手順に記載されている必要なAWSサービスを起動します。インストールが成功したら、UIロードバランサーのURLを開きます。インストール時に指定した認証情報を使用してアプリケーションにログインします。ポリシー評価の結果は、1時間以内に入力され始めます。トレンドラインウィジェットは、少なくとも2つのデータポイントがある場合に表示されます。
PacBotをインストールすると、インストール先のAWSアカウントがベースアカウントになります。ベースアカウントにインストールされたPacBotは、他のターゲットAWSアカウントを監視できます。新しいアカウントをPacBotに追加する手順については、こちらの説明を参照してください。デフォルトでは、ベースアカウントはPacBotによって監視されます。
管理者ユーザーとしてログインし、トップメニューから管理ページに移動します。管理セクションでは、以下を行うことができます。
管理機能の使用方法についてのスクリーンショット付きの詳細な手順はこちらをご覧ください。
Wikiはこちらです。
PacBotは、Apache 2.0ライセンスの第7条の条件に基づいてオープンソース化されており、一切の保証なしで現状有姿でリリースされています。