ServiceNow
ServiceNow インスタンスを Tenable One Cloud Exposure と統合し、 Tenable の特定の検出結果に関連するインシデントを作成できるようにします。
次の手順
-
検出結果の問題/インシデントの作成を開始するには、 自動化 を設定するか、ツールと統合した後 検出結果に基づくアクションのトリガー する必要もあります。すべての統合ステップを正常に完了しても、それ自体ではデータ送信はトリガーされません。
始める前に
OAuth 2.0 または基本認証を使用して統合を認証できます。 Tenable は OAuth を推奨しています。どちらの方法でも、専用の ServiceNow ユーザーが必要です。OAuth には、そのユーザーとして実行する OAuth アプリケーションを登録するという、もう 1 つの追加ステップが必要です。
Tenable では、監査証跡アクティビティを簡素化するために、専任のユーザーを推奨しています。統合が不要になった場合は、そのユーザーを削除して終了させることができます。
ウィザードを開始する前に、ServiceNow インスタンスで次の作業を行います。
-
ServiceNow ユーザーを作成します。両方の認証方法に必要です。専用ユーザーを作成し、[Web サービスアクセスのみ] オプションを選択します。 Tenable では、すべてのデータが表示されるように グローバルユーザーを 推奨しています。使用する認証方法に応じてロールを付与します。
- 基本認証の場合は、 itil ロールを付与します。
- OAuth の場合、 itil、 sn_incident_read、 sn_incident_write ロールを付与します。
ヒント: Tenable では、すべてのデータを表示できるように グローバル ユーザーを推奨します。ユーザーは、インシデントを作成して更新し、ユーザーとグループを表示できる必要があります。 -
(OAuth のみ)OAuth アプリケーションを登録します。 OAuth で認証するには、クライアント認証情報付与を使用する OAuth アプリケーションを ServiceNow に登録します。アプリケーションは上記で作成したユーザーとして実行され、そのユーザーのアクセス許可のみを継承します。
- ServiceNow インスタンスで、[System OAuth] > [Inbound Integrations] に移動します。
- [新しい統合] をクリックし、[OAuth - クライアント認証情報の付与] を選択します。
- [OAuthアプリケーションユーザー] で、作成した専用ユーザーを選択します。
- アプリケーションがそのユーザーのアクセス許可のみを継承するように、[認証スコープ] を [制限付き] に設定します。
- [次の API に承認を制限する] で、[添付ファイル API] と [テーブル API] を選択します
- 生成された クライアント ID と クライアントシークレットをコピーします。
注意: アクセストークンの最小有効期間は 5 分 (300 秒) です。
インスタンスの追加
前提条件を満たしたら、 クラウドサイバーエクスポージャー コンソールから ServiceNow インスタンスを追加します。
新しいインスタンスを追加するには
- クラウドサイバーエクスポージャー コンソールで、[設定] > [統合] に移動します。
- (オプション)[Organization] (組織) ドロップダウンで、アカウント範囲を選択します。
- [統合の追加] をクリックします。
- 統合ライブラリで、[ServiceNow] をクリックします。ServiceNow ウィザードが開きます。
-
インスタンスをアクティブ化します (ウィザードのステップ 1)。
- Tenable にインスタンスのインスタンス名を入力します。
- ServiceNow インスタンスの インスタンス URL を入力します。
[認証] で、次のいずれかを実行します。
- OAuth を使用するには、 OAuth を選択し、ServiceNow に登録した OAuth アプリケーションの クライアント ID と クライアントシークレット を入力します。
- 基本認証を使用するには、[基本] を選択し、作成した ServiceNow ユーザーの ユーザー名 (ID) と パスワード を入力します。
詳細については、「 始める前に を参照してください。
- [次へ] をクリックします。
-
インシデントの優先度を同期して、Tenable 内の検出結果の深刻度と、対応する ServiceNow のインシデントの影響/緊急性を一致させます (ウィザードのステップ 2)。Tenable 経由で作成された ServiceNow インシデントには、選択した優先度が割り当てられます。完了したら、[次へ] をクリックします。
- 同期しない
- カスタムマッピングを使用して同期します。Tenable の検出結果の深刻度ごとに、ServiceNow インシデントの影響と ServiceNow インシデントの緊急度を割り当てます。
-
インシデントの状態を同期 して、 Tenable の検出結果のステータスを ServiceNow の対応する状態と一致させます (ウィザードのステップ 3)。Tenable 経由で作成された ServiceNow インシデントには、選択した状態が割り当てられます。完了したら、[完了] をクリックします。
注意: この機能には、ServiceNow での追加のアクセス許可と設定が必要です。詳細については、 インシデントの状態と検出結果のステータスの同期 を参照してください。- 同期しない
-
カスタムマッピングを使用して同期します。
- Tenable の検出結果ステータスごとに、ServiceNow インシデント状態を割り当てます。
- [検出結果が再オープンされたときに新しいインシデントを作成する] かどうかを選択します。
ServiceNow の [Closed] (クローズ) および [Canceled] (キャンセル) の状態は最終的なものと見なされ、アクティブ状態に戻すことはできません。インシデントがこれらの状態のいずれかに達すると、事実上インシデントライフサイクルから廃止されます。その結果、検出結果のステータスをこれらの状態のいずれかにマッピングすると、検出結果が再オープンされたときに新しいインシデントを作成することを選択できません。検出結果を確実に再オープンして追跡できるようにするには、検出結果を最終ではない ServiceNow 状態にマッピングすることを検討してください。
インスタンスが正常に追加されると、そのインスタンスは Settings > 統合> ServiceNow のテーブルに表示されます。
インシデントの状態と検出結果のステータスの同期
Tenableに別のレベルのアクセス許可を付与することで、ServiceNow インシデントの状態をクラウドサイバーエクスポージャー 検出結果のステータスと同期できます。これを行うには、Tenable によって作成されたカスタム更新セットをインポートします。
インシデントの状態を検出結果のステータスと同期する方法
- ServiceNow インスタンスで、[Retrieved Update Sets] (取得された更新セット) に移動します ([System Update Sets] (システム更新セット) の下にあります)。
- [関連リンク] で、[XML から更新セットのインポート] をクリックします。
-
次の XML ファイルを選択して アップロード します。
- クリックすると、新しく作成された Tenable ロール更新セット - インシデント状態が開きます。
- [プレビュー更新セット] をクリックします。[Update Set Preview] (更新セットのプレビュー) ダイアログが表示されます。完了したら、[閉じる] をクリックします。
- 競合 (衝突) が存在しないことを確認します。
- 変更 (顧客の更新) を確認し、[更新セットのコミット] をクリックします。[Update Set Commit] (更新セットの反映) ダイアログが表示されます。完了したら、[閉じる] をクリックします。これで、更新セットの状態は [コミット済み] になっているはずです。
- [ユーザー] と [グループ] > [ユーザー] に移動します。
- ServiceNow インスタンスを追加した際に作成したTenableユーザーのユーザー ID を見つけてクリックします。
- ページ下部にある [ロール] セクションに移動し、[編集...] をクリックします。
-
Tenable ロールをロールリストに追加します。
- 左側のコレクション領域から、 tenable_state_readonly_roleを検索して選択します。
- 追加ボタン (>) をクリックして、ロールを右側のロールリストに移動します。
重要: itil ロールが右側のロールリストにも含まれていることを確認します。このロールは ServiceNow インスタンスを追加したときに付与されたもので、統合が機能するために必要です。 - [保存] をクリックします。
インシデントの追加フィールドの使用
デフォルトでは、 Tenable は、 クラウドサイバーエクスポージャー アクションを介して ServiceNow インシデントを作成する際に、関連フィールドの基本セットのカスタマイズをサポートしています。これらには、[担当者]、[割り当てグループ]、[カテゴリ]、[影響]、[緊急度]、[サマリー]、[説明] のフィールドが含まれます。
- ServiceNow と統合したときに付与されたアクセス許可を超えるレベルのアクセス許可をTenableに付与することで、追加のフィールドをカスタマイズできます。これを行うには、Tenable によって作成されたカスタム更新セットをインポートします。
- 使用できる追加フィールドについては、「 サポートされているフィールド を参照してください。
インシデントの追加フィールドを使用するには
- ServiceNow インスタンスで、[Retrieved Update Sets] (取得された更新セット) に移動します ([System Update Sets] (システム更新セット) の下にあります)。
- [関連リンク] で、[XML から更新セットのインポート] をクリックします。
-
次の XML ファイルを選択して アップロード します。
- クリックすると、新しく作成された [Tenable ロール更新セット - 追加フィールド] が開きます。
- [プレビュー更新セット] をクリックします。[Update Set Preview] (更新セットのプレビュー) ダイアログが表示されます。完了したら、[閉じる] をクリックします。
- 競合 (衝突) が存在しないことを確認します。
- 変更 (顧客の更新) を確認し、[更新セットのコミット] をクリックします。[Update Set Commit] (更新セットの反映) ダイアログが表示されます。完了したら、[閉じる] をクリックします。これで、更新セットの状態は [コミット済み] になっているはずです。
- [ユーザー] と [グループ] > [ユーザー] に移動します。
- ServiceNow インスタンスを追加した際に作成したTenableユーザーのユーザー ID を見つけてクリックします。
- ページ下部にある [ロール] セクションに移動し、[編集...] をクリックします。
-
Tenable ロールをロールリストに追加します。
- 左側のコレクション領域から、 tenable_fields_readonly_roleを検索して選択します。
- 追加ボタン (>) をクリックして、ロールを右側のロールリストに移動します。
重要: itil ロールが右側のロールリストにも含まれていることを確認します。このロールは ServiceNow インスタンスを追加したときに付与されたもので、統合が機能するために必要です。 - [保存] をクリックします。
サポートされているフィールド
Tenable は、次の 基準をすべて 満たすフィールドのカスタマイズのみをサポートします。
- フィールドは別のフィールドの値に依存しません。
- フィールドが表示されます (無条件に適用される UI ポリシーによって非表示になりません)。
- フィールドは書き込み可能です。ディクショナリ、ディクショナリオーバーライド、または無条件に適用される UI ポリシーによってフィールドが読み取り専用とマークされている場合、フィールドは除外されます。
- フィールドタイプがサポートされています (文字列、choice、整数、参照)。
- UI ポリシーによって条件付きで制限されたフィールドは、引き続き完全に利用できます (表示、オプション、書き込み可能)。Tenable は条件が存在することを検出できますが、それらを評価することはできないため、これらのフィールドには「(UI-Policy)」ラベルとツールチップでフラグが立てられます。
次のフィールドは表示されません:
- number (ServiceNow により自動生成)
- state (別売り)
