ディスカバリー・ルールエンジン
大規模な検出結果の手動確認を省くスケーラブルな自動化

概要
ディスカバリー・ルールエンジンでは、検出の適用権限を持つユーザーが、ゲートウェイ上の特定のPAM構成に対して、順序付きのルールセットを作成および管理できます。検出ジョブがリソースをどう識別するか、検出結果をどう扱い・保存するかを、ルールで制御できます。
この仕組みにより、大規模環境でもバッチ処理を自動化できます。数百から数千件に及ぶ検出リソースを手作業で確認・処理する代わりに、定めた条件に応じて追加、無視、確認のいずれかへ振り分けられます。
ルールは上から順に評価され、検出されたリソースに最初に一致したルールが、その後の処理を決定します (最初に一致したルールが適用されます)。
動作の仕組み
検出ジョブが実行されると、検出された各アイテムは、定義したルールに従って上から順に評価されます。
最初に一致したルールのみ適用
該当ゲートウェイでのルール評価の終了
選択されたアクションの実行 (追加 / 無視 / 確認)
ルールのアクション
各ルールでは、次のいずれかのアクションを指定できます。
追加 対象リソースにルール条件を自動適用し、ボルトへ追加
無視 一致したリソースを除外し、ノイズや誤検知を抑制
確認 追加の判断が必要なリソースを、ユーザーが確認する対象としてフラグ付け
ルールの作成または管理
ルールは、ボルトの検出セクション内のルールタブから管理します。次の操作が可能です。
指定したPAM構成に対する新規ルールの作成
既存のPAM構成のルールセットの編集
ルールの実行順序の変更
ルールの有効化または無効化
ルールの削除

実行順序と優先度
ルールは定義された順序で評価されます。
既定では、ルールは作成順に評価
ルールの順序は手動で並び替え可能
最初に一致したルールのみ適用 (1回の検出ジョブで有効になるのは1件のみ)
検出ジョブ作成時のルールセットの割り当て
[検出ジョブを作成] をクリックし、ゲートウェイを選択します。

そのゲートウェイに複数のPAM構成が関連付けられている場合は、使用するPAM構成を選択します。

選択したゲートウェイでジョブが実行される際には、そのPAM構成に関連付けられているルールが適用されます。
選択したPAM構成にルールが設定されていない場合は、セットアップ中に新規作成できます。

ルールで使えるフィールド
recordType- PAMレコードの種類recordTitle- 自動生成されたレコードのタイトルrecordNotes- 検出後処理でルール適用前に付与されるメモ (言語設定に応じた文言へ差し替え可能)recordDesc- オブジェクトの説明 (言語設定に応じた文言へ差し替え可能)parentUid- 親レコードのUID。主にPAMユーザーレコードで、ユーザーをリソースへ紐づけるときに使用parentRecordType- 親レコードの種類。リソースレコードとあわせ、同一リソース上のユーザーをまとめるのに利用login- PAMユーザー / マシン / データベース / ディレクトリ各オブジェクトのログイン名。プロバイダーやリソース種別によっては検出処理で値が入るが、多くは空password- PAMユーザー / マシン / データベース / ディレクトリ各オブジェクトのパスワード。検出では通常は未設定privatePEMKey- PAMユーザー / マシン / データベース / ディレクトリ各オブジェクトの秘密鍵。検出では通常は未設定distinguishedName- PAMユーザーおよびPAMディレクトリオブジェクトの識別名 (DN)connectDatabase- PAMユーザーおよびPAMデータベースオブジェクトの接続先データベースmanaged- ユーザーが別プロセスで管理されているかを示すフラグ。AWSではRDSのIAMユーザーが該当。他プロバイダーでも同種の仕組みがある場合があるhostName- リソースのホスト名またはIP。照合はホスト名またはIPのいずれかに対して行われ、評価時はIPも同一条件に含まれる。例:hostName == '127.0.0.1'は(hostName == '127.0.0.1' or ip == '127.0.0.1')に展開され、hostName != '127.0.0.1'は(hostName != '127.0.0.1' and ip != '127.0.0.1')に展開port- 接続ポート。文字列ではなく数値として扱い、大小比較 (>/>=/</<=)が可能operatingSystem- PAMマシンオブジェクトのOS情報。AWSやAzureなどでは取得できるが、ローカルネットワーク経由ではマシン外部からOSを判定できないため、未設定のことが多いinstanceId- PAMマシンオブジェクトの識別子。AWSではEC2インスタンスID、AzureではVM名、その他ではIPまたはホスト名。同一ゲートウェイ上のPAMマシンでは一意になる想定instanceName- PAMマシンオブジェクトの名称。AWSではEC2インスタンス名またはID、AzureではVM名、その他ではIPまたはホスト名providerGroup- クラウド上のリソースまとまりの総称。Azureではリソースグループ。AWSでは未使用providerRegion- クラウドのリージョン総称。AWSではリージョン名。Azureではロケーションに相当databaseId- PAMデータベースオブジェクトの識別子。AWSではRDSインスタンスID、Azureではデータベース名、その他ではIP/ホスト名:ポート。同一ゲートウェイ上のPAMデータベースでは一意になる想定databaseType- データベース種別の列挙子useSSL- 検出でSSLが必要かを示す真偽値domainName- ディレクトリサービスのドメイン名 (識別名ではない)directoryId- PAMディレクトリオブジェクトの識別子。AWSではディレクトリID、Azureではドメイン名、その他ではIP/ホスト名:ポート。同一ゲートウェイ上のPAMディレクトリでは一意になる想定directoryType- ディレクトリ種別の列挙子
port では >、>=、<、<= などの大小比較が使えます。ルール式では数値を引用符で囲まないでください。文字列同士でも辞書順の大小比較が可能です。例: hostName > "C" は、ホスト名が「D」で始まるときに真、「B」で始まるときに偽になります。
managed および useSSL は真偽値です。ルール式では true / false を引用符で囲まないでください。
演算子
==
等しい
いいえ
すべてのデータ型
!=
等しくない
いいえ
すべてのデータ型
>
より大きい
いいえ
すべてのデータ型
<
より小さい
いいえ
すべてのデータ型
>=
以上
いいえ
すべてのデータ型
<=
以下
いいえ
すべてのデータ型
=^
先頭一致
いいえ
文字列
=*
部分一致 (含む)
いいえ
文字列
=$
末尾一致
いいえ
文字列
!^
先頭に一致しない
いいえ
文字列
!*
部分一致しない (含まない)
いいえ
文字列
!$
末尾に一致しない
いいえ
文字列
=~~
正規表現検索。文字列値の内容を検索し、一致が見つかれば真。
はい
文字列
!~~
正規表現検索。文字列値の内容を検索し、一致が見つかれば偽。
はい
文字列
=~
正規表現マッチ。文字列値の先頭から検索し、一致が見つかれば真。
はい
文字列
!~
正規表現マッチ。文字列値の先頭から検索し、一致が見つかれば偽。
はい
文字列
in
集合に含まれる値。値はJSON配列。例: [ “One”, “Two”, “Three” ]
いいえ
[String|Float|Int, …]
最終更新

