ServiceNow
ServiceNowは、ITサービス、ITオペレーション、およびITビジネスの分野で、包括的なIT管理ソフトウェアスイートを提供するクラウドソフトウェアソリューションです。
ユースケース
ServiceNowコネクターをビジネスアプリケーションと統合して、ITサービス管理を自動化します。 インシデント追跡、オンボーディングを改善し、IT、HR、およびその他のチーム間のシームレスなコラボレーションを実現できます。 ServiceNowプロセスをどのように強化できるかについては、ユースケースをご覧ください:
- 新しいServiceNowインシデントについてJira課題を作成します。
- GreenhouseのオファーレターとServiceNowオンボーディングリクエストを同期してBoxに保存します。
APIバージョン
ServiceNowコネクターはServiceNow REST API v2を使用します。
サポートされているエディションとバージョン
ServiceNowコネクターは、ServiceNowおよびServiceNow Expressエディションで動作します。
ServiceNowのすべてのバージョンがサポートされています。 ただし、OAuth 2.0コネクションをサポートするのはIstanbul以降のバージョンのみです。
| バージョン | リリース日 | OAuth 2.0をサポートしていますか? |
|---|---|---|
| Yokohama | 2025年第1四半期 | はい |
| Xanadu | 2024年第3四半期 | はい |
| Washington D.C. | 2024年第1四半期 | はい |
| Vancouver | 2023年第3四半期 | はい |
| Utah | 2023年第2四半期 | はい |
| 東京 | 2022年第4四半期 | はい |
| San Diego | 2022年第2四半期 | はい |
| ローマ | 2021年第3四半期 | はい |
| Quebec | 2021年3月 | はい |
| パリ | 2020年9月 | はい |
| Orlando | 2020年3月 | はい |
| New York | 2019年5月 | はい |
| マドリード | 2019年1月 | はい |
| ロンドン | 2018年7月 | はい |
| Kingston | 2017年11月 | はい |
| ジャカルタ | 2017年7月 | はい |
| イスタンブール | 2017年1月 | はい |
| ヘルシンキ | 2016年5月 | いいえ |
| Geneva | 2015年12月 | いいえ |
WorkatoでServiceNowに接続する方法
ServiceNowコネクターは、3つの認証タイプをサポートしています:
Username/Password
ログイン認証情報を使用してServiceNowインスタンスに接続するには、Username/Password認証タイプを選択します。
Username/Passwordコネクション
| フィールド | 説明 |
|---|---|
| コネクション名 | このServiceNowコネクションに、接続先のServiceNowインスタンスを識別する一意の名前を付けます。 |
| 認証タイプ | このServiceNowコネクションの認証タイプを選択します。 ServiceNowコネクターは、Username/Password(Basic)認証、authorization code grantを使用したOAuth 2.0、およびPassword grant認証をサポートしています。 |
| インスタンス名 | インスタンスの名前を指定します。 たとえば、ServiceNow URLがhttps://acme.service-now.comの場合、インスタンス名はacmeです。 |
| ユーザー名 | ServiceNowへの接続に使用するユーザー名を指定します。 |
| パスワード | ServiceNowへの接続に使用するパスワードを指定します。 |
| Custom OAuth profile | 任意です。 このコネクションのCustom OAuth profileを選択します。 |
OAuth 2.0
ログイン認証情報を使用せずにServiceNowインスタンスに接続するには、OAuth 2.0認証タイプを選択します。 この認証タイプでは、ログイン認証情報を開示する代わりにトークンを取得することで、Workatoへのアクセスを許可できます。
authorization code grantフローを使用したOAuth 2.0コネクションをサポートするのは、ServiceNowのIstanbul以降のバージョンのみです。 この認証タイプを選択するときは、ServiceNowバージョンがこれをサポートしていることを確認してください。
OAuth 2.0コネクション
| フィールド | 説明 |
|---|---|
| コネクション名 | このServiceNowコネクションに、接続先のServiceNowインスタンスを識別する一意の名前を付けます。 |
| 認証タイプ | このServiceNowコネクションの認証タイプを選択します。 ServiceNowコネクターは、Username/Password(Basic)認証、authorization code grantを使用したOAuth 2.0、およびPassword grant認証をサポートしています。 |
| インスタンス名 | インスタンスの名前を指定します。 たとえば、ServiceNow URLがhttps://acme.service-now.comの場合、インスタンス名はacmeです。 |
| Client ID | 認可に使用するコネクションのClient IDを指定します。 OAuthクライアントのApplication Registryを設定する方法の詳細については、OAuth 2.0クライアントの設定セクションを参照してください。 |
| クライアントシークレット | このOAuthアプリケーションのClient secretを指定します。 シークレットを表示するには、Toggle Password Visibility(ロックアイコン)をクリックします。 |
| Custom OAuth profile | 任意です。 このコネクションのCustom OAuth profileを選択します。 |
INVALID REFRESH TOKENエラー
ServiceNow OAuth 2.0コネクションの有効期限が切れると、invalid_requestまたはinvalid refresh tokenエラーが表示される場合があります。 この動作は、ServiceNowがリフレッシュトークンの有効期間を制限しているために発生します。 トークンの有効期限が切れたら、コネクションを再認証する必要があります。
ServiceNow OAuthクライアント設定でRefresh Token Lifetimeを調整できます。 ServiceNowインスタンスに移動し、System OAuth > Application Registryをクリックして、Workato OAuthクライアントを開き、Refresh Token Lifetimeの値を確認します。 デフォルト期間の100日を維持するか、有効期限が切れたときにコネクションを手動で再認可できます。
詳細については、ServiceNow external clientドキュメントを参照してください。
パスワードグラント
ServiceNowインスタンスに接続するには、Password grant認証タイプを選択します。 この認証タイプでは、アクセストークンの取得に使用されるログイン認証情報を提供することで、Workatoへのアクセスを許可できます。
Password grantコネクション
| フィールド | 説明 |
|---|---|
| コネクション名 | このServiceNowコネクションに、接続先のServiceNowインスタンスを識別する一意の名前を付けます。 |
| 認証タイプ | このServiceNowコネクションの認証タイプを選択します。 ServiceNowコネクターは、Username/Password(Basic)認証、authorization code grantを使用したOAuth 2.0、およびPassword grant認証をサポートしています。 |
| インスタンス名 | インスタンスの名前を指定します。 たとえば、ServiceNow URLがhttps://acme.service-now.comの場合、インスタンス名はacmeです。 |
| ユーザー名 | ServiceNowへの接続に使用するユーザー名を指定します。 |
| パスワード | ServiceNowへの接続に使用するパスワードを指定します。 |
| Client ID | 認可に使用するコネクションのClient IDを指定します。 OAuthクライアントのApplication Registryを設定する方法の詳細については、OAuth 2.0クライアントの設定セクションを参照してください。 |
| クライアントシークレット | このOAuthアプリケーションのClient secretを指定します。 シークレットを表示するには、Toggle Password Visibility(ロックアイコン)をクリックします。 |
| Custom OAuth profile | 任意です。 このコネクションのCustom OAuth profileを選択します。 |
OAuth 2.0クライアントの設定
OAuth 2.0クライアントを設定するには、adminロールが必要です。
OAuth 2.0クライアントを設定するには、次の手順を実行します:
OAuth 2.0 (com.snc.platform.security.oauth) プラグインを有効化します。 OAuth 2.0を有効化する方法の詳細については、ServiceNowドキュメントを参照してください
OAuthプラグインの有効化
クライアントアプリケーションがServiceNowインスタンスへのアクセスを取得するためのエンドポイントを作成します。 Redirect URLとしてhttps://www.workato.com/oauth/callbackを使用します。 外部クライアント用のエンドポイントを作成する方法の詳細については、ServiceNowドキュメントを参照してください。
OAuth 2.0クライアント
Client IDとClient secretを使用して、WorkatoでServiceNowコネクションを作成します。 これにより、認可を要求する新しいブラウザーウィンドウが開くOAuth authorization code grantフローがトリガーされます。
接続に必要なロールと権限
ServiceNowコネクターを使用するには、次のテーブルに対するアクセス制御を持つロールを有するユーザーでコネクションを確立する必要があります:
| テーブル | 目的 | 操作 | 名前 |
|---|---|---|---|
| Tables (sys_db_object) | ServiceNowインスタンス内の各テーブルの行が含まれます。 このテーブルは、アクションの実行またはトリガーイベントに使用するテーブルのリストを生成するために使用されます。 | 読み取り | sys_db_object sys_db_object.* |
| Dictionary entry (sys_dictionary) | ServiceNowインスタンス内の各テーブルおよび各テーブルの列の詳細が含まれます。 このテーブルは、アクションを実行するテーブルを選択したときに入力フィールドや出力フィールドを生成するために使用されます。 | 読み取り | sys_dictionary sys_dictionary.* |
一部のBase system roles(adminなど)には、これらのテーブルへのアクセス制御が含まれています。 ただし、ServiceNowコネクターの使用に必要な最小限のアクセス制御のみを付与する予定の場合は、これらのアクセス制御に合わせてカスタムロールを作成することを検討してください。
ベースシステムロールに加えて、ユーザーは統合ユースケースで必要なテーブルへのアクセス制御を持っている必要があります。 たとえば、標準のITILヘルプデスクアクション(インシデント、問題、変更、構成管理項目のオープン、更新、クローズ)を実行できる統合ユーザーを作成するには、そのユーザーにitilロールを割り当てる必要があります。 特定のテーブル、またはベースシステムロールで使用可能なテーブル以外のテーブルにのみアクセス権を付与するには、カスタムロールを作成し、必要に応じて適切なアクセス制御を割り当てることをお勧めします。
カスタムロールの作成
Workatoへの接続にBase system roleを使用しない場合は、操作する予定のテーブルに対して十分なアクセス制御を持つカスタムロールを作成できます。
カスタムロールを作成するには、次の手順を実行します:
ServiceNowインスタンスでロールを作成し、Workato Integratorなど、Workatoコネクターとの関連を反映した名前を割り当てます。 ロールの作成の詳細については、ServiceNowドキュメントを参照してください。
ServiceNowコネクターを使用するには、新しいロールに次のアクセス制御ルールを付与します:
| テーブル | タイプ | 操作 | 名前 |
|---|---|---|---|
| テーブル | レコード | 読み取り | sys_db_object sys_db_object.* |
| Dictionary entry | レコード | 読み取り | sys_dictionary sys_dictionary.* |
アクセス制御にはSECURITY ADMINロールが必要
アクセス制御を編集または作成できるのは、security_adminロールを持つユーザーのみです。 権限については、ServiceNow管理者に確認してください。 Elevated privilege rolesの詳細をお読みください。
権限ロールへの昇格
統合ユースケースで使用する予定のトリガー/アクションを使用するために、関連するアクセス制御を割り当てます。 たとえば、クローズされたインシデントイベントのトリガーが必要なワークフローでは、incidentテーブルへの読み取りおよび書き込みのアクセス制御を含むカスタムロールが必要です。
| テーブル | タイプ | 操作 | 名前 |
|---|---|---|---|
| Incident | レコード | 読み取り | incident |
| Incident | レコード | 書き込み | incident |
カスタムロールへのincidentテーブルのアクセス制御ルールの付与
リアルタイムトリガー
ServiceNowコネクターには、選択したテーブル内の新規および更新されたレコードに対応する一連のリアルタイムトリガーが用意されています。 このトリガーは、ServiceNowインスタンスで指定されたイベント(新規レコード、または新規および更新されたレコード)が発生したときに、sys_scriptテーブルを使用してWorkatoのwebhookゲートウェイにHTTPリクエストを送信します。
これらのトリガーのいずれかを使用してレシピを開始すると、そのレシピに固有のwebhook URLを指すレコードがsys_scriptテーブルに自動的に作成されます。 同様に、レシピを停止すると、sys_scriptテーブル内の同じレコードが削除されます。
この機能を有効にするには、ServiceNowコネクションの確立に使用するアカウントに、次のアクセス制御ルールを持つロールが割り当てられている必要があります:
| テーブル | タイプ | 操作 | 名前 |
|---|---|---|---|
| Business Rules | レコード | 読み取り | sys_script sys_script.* |
| Business Rules | レコード | 書き込み | sys_script sys_script.* |
| Business Rules | レコード | create | sys_script |
| Business Rules | レコード | delete | sys_script |
Last updated: