OAuth を使用する ServiceNow の設定
必要なユーザーロール: 管理者
Tenable One Vulnerability Management 内で OAuth 認証を使用して ServiceNow インシデントを作成できるようになるには、まず ServiceNow アカウントを設定する必要があります。
前提条件
OAuth を使用して ServiceNow コネクタを接続する前に、次の条件を満たしてください。
-
[System OAuth] (システム OAuth) > [Application Registry] (アプリケーションレジストリ) へのアクセス権を持つ ServiceNow 管理者ユーザーがいる
-
ServiceNow インスタンスの外部クライアント用の OAuth API エンドポイントを登録できる
ServiceNow での OAuth 2.0 アプリケーションの作成
Tenable One Vulnerability Management で使用する OAuth 2.0 アプリケーションを作成する方法
-
ServiceNow インスタンスに管理者としてログインします。
-
[System OAuth] (システム OAuth) > [Application Registry] (アプリケーションレジストリ) に移動します。
-
[New] (新規) をクリックします。
-
[New Inbound Integration Experience] (新しいインバウンド統合エクスペリエンス) を選択します。
-
[New Integration] (新規統合) をクリックします。
-
アプリケーションの接続タイプには、[Client credentials grant] (クライアント認証情報付与) を選択します。
-
[Name] (名前) フィールドに、わかりやすい統合名を入力します (例: Tenable Integration)。
-
[OAuth application user] (OAuth アプリケーションユーザー) ドロップダウンボックスから、[System Administrator (admin)] (システム管理者 (admin)) を選択します。
-
[Auth scope] (認証スコープ) セクションの [Auth scope] (認証スコープ) ドロップダウンボックスから useraccount を選択します。
-
[Save] (保存) をクリックします。
-
作成したばかりの統合エントリを開きます。
[Client ID] (クライアント ID) フィールドと [Client Secret] (クライアントシークレット) フィールドが表示されます。
-
フィールドから直接クライアント IDをコピーします。
-
クライアントシークレットをコピーするには、横にあるコピーアイコンをクリックします。最初にロック解除したり表示させたりする必要はありません。
-
両方の値を安全な場所に貼り付けます。コネクタを設定する際に、ServiceNow インスタンス URL とともに、これらが必要になります。
インバウンド OAuth クライアント認証情報の有効化 (初回セットアップのみ)
これが ServiceNow インスタンスで設定する最初の OAuth 接続ソースである場合、Tenable One Vulnerability Management が正常に接続できるようになる前に、システムプロパティも追加する必要があります。
-
admin ロールで ServiceNow インスタンスにログインします。
-
[System Properties] (システムプロパティ) > [All Properties] (すべてのプロパティ) に移動するか、https://<your-instance>.service-now.com/sys_properties_list.do に直接アクセスします。
-
[New] (新規) をクリックします。
-
以下を設定します。
-
名前: glide.oauth.inbound.client.credential.grant_type.enabled
-
型: true | false
-
値: true
-
アプリケーション: Global
-
-
[Submit] (送信) をクリックします。
-
前のセクションで作成したアプリケーションレジストリレコードを再び読み込みす。
統合の設定
API トークンではなく OAuth を使用して、ServiceNow コネクタを Tenable One Vulnerability Management に接続できます。OAuth では、Tenable One Vulnerability Management は、ServiceNow のユーザー名とパスワードではなく、ServiceNow インスタンスが発行したクライアント ID とクライアントシークレットを使用して認証します。
OAuth を使用して ServiceNow を接続する方法
-
左側のナビゲーションで
[設定] をクリックします。
[設定] ページが表示されます。
-
[ServiceNow] タイルをクリックします。
ServiceNow コネクタのページが表示されます。
-
[認証方法] ドロップダウンボックスで、[OAuth] を選択します。
-
以下の認証情報を設定します。
オプション 説明 統合名 独自の ServiceNow 統合名を選択します。 ServiceNow インスタンス URL 所属組織の ServiceNow インスタンスの一意のウェブアドレス。通常は https://[your-company-name].service-now.com という形式です。 クライアント ID ServiceNow で登録した OAuth 2.0 アプリケーションのクライアント ID。上記の前提条件を参照してください。 クライアントシークレット ServiceNow で登録した OAuth 2.0 アプリケーションのクライアントシークレット。 -
[接続] をクリックします。
Tenable は、ServiceNow インスタンスのクライアント ID とクライアントシークレットを認証します。追加のログインまたは同意画面は表示されません。
-
接続が成功すると、[ステータス] バナーが [接続済み] に変わり、Tenable One Vulnerability Management によってコネクタが自動的に保存されます。
トラブルシューティング
| 問題 | 原因と解決策 |
|---|---|
| [接続] をクリックすると、接続がすぐに失敗する。 | クライアント ID またはクライアントシークレットが、ServiceNow で登録されている OAuth アプリケーションと一致しないか、アプリケーションレジストリエントリが非アクティブです。ServiceNow アプリケーションレジストリエントリと照合してクライアント ID とクライアントシークレットを正しいことを確認し、エントリが アクティブであることを確認して、再試行してください。 |
| 接続が失敗する。理由がわからない。 | ServiceNow インスタンスの URL が、ServiceNow にログインしたときにブラウザに表示されるとおり正確に入力されており (例: https://your-instance.service-now.com)、末尾にパスやタイプミスがないことを確認してください。 |
| 接続は成功するが、インシデントが作成されない、または想定通りに同期されない。 | OAuth アプリケーションに関連付けられているアカウントに必要なロールがない可能性があります。アカウントに、インシデントを作成および更新するための itil または incident_manager ロール、および API アクセス用の rest_service ロールがあることを確認してください。 |
ServiceNow コネクタの OAuth への移行
コネクタの認証方法は、作成時に設定され、後で変更することはできません。既存の API トークン ServiceNow コネクタがあり、OAuth に切り替える場合は、その既存のコネクタを編集するのではなく、新しいコネクタを作成してください。
ServiceNow コネクタを OAuth に移行する方法
- 上記の手順に従って新しい ServiceNow コネクタを作成し、認証方法に OAuth を選択します。
- 古い API トークンコネクタを参照するイニシアチブやチケッティング自動化ルールを更新して、代わりに新しい OAuth コネクタを使用するように変更します。
- 新しいコネクタが想定通りに動作していることを確認したら、古い API トークンコネクタを削除します。注意: 古いコネクタを削除しても、すでに作成されたインシデントには影響しません。


