ServicServiceNow CMDB Tanium Change Request自動化 Flow Designer連携テンプレート の設計例
全体アーキテクチャ概要
Tanium(Asset / Patch / Threat Response)
│
▼
REST API / Service Graph Connector
│(定期スケジュールまたはイベントトリガ)
▼
ServiceNow CMDB(構成アイテム更新)
│
▼
Flow Designer Flow:
- Trigger: CMDB変更イベント
- Condition: 重要CI変更 or 脆弱性検出
- Actions:
1. CI情報取得(Get Record)
2. Change Request自動生成
3. 承認ワークフロー呼び出し
4. Taniumへ修復コマンド送信(PATCH API)
Flow Designer テンプレート構成
Trigger(トリガー)の構成
| 項目 | 内容 | | -------- | ------------------------------------------------------------------------ | | タイプ | **Record Updated** | | テーブル | `cmdb_ci_computer`(または関連CIクラス) | | 条件 | `[Last Updated Source] = "Tanium"` AND `[Operational Status] = "Active"` | | トリガー後の変数 | `current`(更新対象CIのsys_id) |
アクション 1:CI情報取得
Action: Get Record
Table: cmdb_ci_computer
Input: Sys ID = {{current.sys_id}}
Output: ci_record
目的: Taniumから更新されたCIの詳細(ホスト名・OS・IP・所有部門など)を取得。
アクション 2:脆弱性・変更検出条件
If (ci_record.os_version contains "vulnerable_version") OR (ci_record.last_scan_date < now() - 30 days)
目的: Tanium側で検出された古いパッチ・脆弱性をトリガーに変更要求を発行。
アクション 3:Change Request 自動生成
Action: Create Record
Table: change_request
Fields:
short_description: "Tanium検出: {{ci_record.name}} の脆弱性対応"
category: "Software"
priority: "2 - High"
cmdb_ci: {{ci_record.sys_id}}
assignment_group: "IT Operations"
description: |
Taniumより脆弱性情報を受信しました。
対象: {{ci_record.name}}
OS: {{ci_record.os_version}}
最終スキャン日: {{ci_record.last_scan_date}}
アクション 4:承認フロー呼び出し(オプション)
Action: Subflow
Subflow: "Change Management - Normal Flow"
Inputs:
change_request: {{steps.Create_Change_Request.record_sys_id}}
アクション 5:Tanium Patch 実行(オプション)
Tanium Spoke または REST ステップを使用
(Tanium API v2 / Endpoint 「/api/v2/packages/deployments」
Action: REST Step
Method: POST
Endpoint: https://<tanium-host>/api/v2/packages/deployments
Headers:
Authorization: Bearer {{tanium_token}}
Body:
{
"package_spec": "Apply_Patch_Latest",
"target_group": "{{ci_record.name}}"
}
結果を変数 patch_response に格納し、成功時に Change Request を「実施中」へ更新。
変数構成(Flow変数)
| 変数名 | 型 | 説明 | | ---------------- | ------ | -------------------------------------- | | `ci_record` | Object | CMDB CI 情報 | | `tanium_token` | String | Tanium API 認証トークン(Connection Aliasで管理) | | `patch_response` | Object | TaniumからのREST応答 | | `change_id` | String | 作成されたChange Requestのsys_id |
運用スケジュール例
| 項目 | 内容 | | ---------------- | --------------------------------- | | Tanium データ同期 | 1時間ごと(Service Graph Connectorジョブ) | | Flow Designer 実行 | CMDB更新時自動発火 | | Change 承認フロー | 1次(担当者)→2次(管理者) | | Tanium修復API呼び出し | 承認完了後自動実行 |