IRE のデータソースルールの作成
識別および調整エンジン (IRE) を使用する場合、特定の検出 (データ) ソースが特定のクラスの新しい CI を挿入しないようにすることができます。CI の作成では信頼しないが既存の CI の更新では引き続き信頼する検出ソースに対して、IRE のデータソースルールを作成します。
始める前に
このタスクについて
動的調整ルールが有効な場合、IRE データソースルールは影響を与えません。
たとえば、ネットワーク機器は検出してもサーバーは検出しないために詳細なしでサーバー CI を作成する IP スキャンツールが挙げられます。特定の CI が存在する場合は更新を許可しながら、そのような検出ソースが特定の CI を作成しないようにすることができます。IRE のデータソースルールは、IRE のデータソースルール [cmdb_ire_data_source_rule] テーブルに格納されます。
- 子クラスは、識別ルールと同様に、親クラスから IRE データソースルールを派生させます。
- 子クラスに指定された IRE のデータソースルールは、親クラスから派生したすべての IRE のデータソースルールを上書きします。
IRE が IRE のデータソースルールによって禁止されている挿入操作を処理する場合、挿入操作は失敗します。このエラーは、挿入操作および IRE のデータソースルールの、検出ソースおよび CI クラスが一致する場合に発生します。CreateOrUpdateCIEnhanced() が使用されている場合、IRE は失敗したペイロードを将来の使用に備えて CMDB IRE 部分のペイロード [cmdb_ire_partial_payloads] テーブルに格納します。
注:
IRE のデータソースルールによって挿入操作が許可されておらず、createOrUpdateCI() を使用している場合、createOrUpdateCI() は部分的なコミットを許可しないため、IRE ペイロード全体が失敗します。
後で、許可された検出ソースが同じ CI を挿入しようとすると、IRE は部分的ペイロードからの一致する CI とその CI を結合した後に挿入します。続いて IRE は、CMDB IRE 部分のペイロード [cmdb_ire_partial_payloads] テーブルから部分的ペイロードを削除し、ルールで指定された検出ソースによる将来の更新を許可します。
IRE データソースルールはルックアップアイテムおよび関連アイテムには適用されず、クラス/検出ソースのペアに対して有効にできるルールは 1 つのみです。
手順
タスクの結果
- 挿入操作が失敗し、IRE は次のメッセージをログに記録します。
[xyz] への INSERT_NOT_ALLOWED_FOR_SOURCE の挿入は、IRE のデータソースルールによってデータソース [xyz] に対してブロックされています。
- CreateOrUpdateCIEnhanced() が使用されている場合、IRE はペイロードアイテムを部分的ペイロードとして CMDB IRE 部分のペイロード [cmdb_ire_partial_payloads] テーブルに格納します。
後で、許可された検出ソースが、部分的ペイロードアイテムからの CI に一致する CI を正常に挿入した場合:
- 現在の CI が部分的ペイロードの一致する CI と結合され、必要に応じて静的調整ルールが適用されます。
- CMDB IRE 部分のペイロード [cmdb_ire_partial_payloads] テーブルの各部分的ペイロードが削除されます。
- 許可されていない検出ソースがそれぞれの CI を更新した後のペイロードは、正常に実行されます。
- IRE を使用すると、以前は CI の挿入が禁止されていた検出ソースが、現在 CMDB に存在する同じ CI を更新できます。