ServiceNow

ServiceNow は、IT サービス、IT 運用、および IT ビジネスの分野で IT 管理ソフトウェアの包括的なスイートを提供するクラウドソフトウェアソリューションです。

API バージョン

ServiceNow コネクターは、ServiceNow REST API を使用します。

サポートされるエディションおよびバージョン

ServiceNow コネクターは、ServiceNow および ServiceNow Express のエディションで動作します。

ServiceNow のすべてのバージョンがサポートされています。ただし、OAuth 2.0接続をサポートするのは、Istanbul (以降) のみです。

バージョンリリース日OAuth 2.0のサポート
Quebec2021年3月あり
Paris2020年9月あり
Orlando2020年3月あり
New York2019年5月あり
Madrid2019年1月あり
London2018年7月あり
Kingston2017年11月あり
Jakarta2017年7月あり
Istanbul2017年1月あり
Helsinki2016年5月なし
Geneva2015年12月なし

Workato での ServiceNow への接続方法

ServiceNow コネクターは、以下の2種類の認証方法をサポートします。

  1. ユーザー名/パスワード (基本認証)
  2. OAuth 2.0 (authorization code grant)

ユーザー名/パスワード

ログイン資格情報を使用して ServiceNow インスタンスに接続するには、 [Username/Password] 認証タイプを選択します。

ユーザー名/パスワードでの接続ユーザー名/パスワードでの接続

項目説明
Connection nameこの ServiceNow コネクションに対して、接続先の ServiceNow インスタンスを識別する一意の名前を付けます。
Authentication typeこの ServiceNow コネクションの認証タイプを選択します。ServiceNow コネクターでは、ユーザー名/パスワード (基本) 認証と、認証コード付与による OAuth 2.0認証をサポートしています。
Instance nameServiceNow URL が https://acme.service-now.com である場合、インスタンス名は acme です。
UsernameServiceNow に接続するためのユーザー名。
PasswordServiceNow に接続するためのパスワード。

OAuth 2.0

ログイン資格情報を使用せずに ServiceNow インスタンスに接続するには、 [OAuth 2.0] 認証タイプを選択します。この認証タイプでは、ログイン資格情報を開示する代わりにトークンを取得することにより Workato にアクセス権を付与できます。

ServiceNow の Istanbul (以降) のバージョンのみで、認証コード付与フローによる OAuth 2.0接続がサポートされます。この認証タイプを選択する際は、お使いの ServiceNow バージョンでこの接続がサポートされることを確認してください。

OAuth 2.0接続OAuth 2.0接続

項目説明
Connection nameこの ServiceNow コネクションに対して、接続先の ServiceNow インスタンスを識別する一意の名前を付けます。
Authentication typeこの ServiceNow コネクションの認証タイプを選択します。ServiceNow コネクターでは、ユーザー名/パスワード (基本) 認証と、認証コード付与による OAuth 2.0認証をサポートしています。
Instance nameServiceNow URL が https://acme.service-now.com である場合、インスタンス名は acme です。
Client ID認証に使用される接続するクライアント ID。OAuth クライアントのアプリケーションレジストリの設定の詳細については、以下を参照してください。
Client secretこの OAuth アプリケーションのクライアントシークレット。実際のシークレットを表示しないようロックを選択するようにしてください。

OAuth 2.0クライアントの設定

OAuth 2.0クライアントの設定には、 Admin ロールが必要です。

アプリケーションレジストリ でクライアントアプリケーションを作成する前に、OAuth をアクティブ化することを忘れないようにしてください。詳細については、こちらのガイドを参照してください。

OAuth プラグインのアクティブ化OAuth プラグインのアクティブ化

次に、ServiceNow インスタンスに対するアクセス権を取得するためのクライアントアプリケーションのエンドポイントを作成します。詳細については、こちらのガイドを参照してください。この設定のステップにおいては、以下の URL を使用する必要があります。

項目説明
Redirect URLhttps://www.workato.com/oauth/callback
Logo URLhttps://www.workato.com/blog/wp-content/uploads/2015/10/workato-logo-small.png

OAuth 2.0クライアントOAuth 2.0クライアント

クライアントアプリケーションが正常に設定されたら、Workato で ServiceNow コネクションを作成する際にクライアント ID とクライアントシークレットを使用します。これにより、OAuth 認証コード付与フローがトリガーされ、認証を要求する新規ブラウザーウィンドウが開きます。

認証ウィンドウ認証ウィンドウ

WARNING

ServiceNow の OAuth 2.0リフレッシュトークンは、100日後に有効期限が切れます。レシピが動作し続けるようにするため、有効期限より前に手動で接続を更新してください。ServiceNow の OAuth2 の詳細については、こちらを参照してください。

接続に必要なロールと権限

ServiceNow コネクターを使用するには、以下のテーブルに対するアクセス制御を付与されたロールを持つユーザーとの間で、コネクションが確立される必要があります。

テーブル用途操作名前
テーブル (sys_db_object)テーブルは、ServiceNow インスタンスの各テーブルに対して1つの行を含むテーブルです。このテーブルは、アクションやトリガーイベントの実行元のテーブルのリストを生成するために使用されます。read sys_db_object
sys_db_object.*
辞書エントリ (sys_dictionary)ServiceNow インスタンスの各テーブルおよび各テーブル内の列についての詳細が含まれます。このテーブルは、アクションを実行するテーブルを選択した際に入力および出力項目を生成するために使用されます。read sys_dictionary
sys_dictionary.*

一部のベースシステムロール ( admin など) には、これらのテーブルに対するアクセス制御が含まれます。ただし、ServiceNow コネクターを使用するために最小限必要なアクセス制御のみを付与したい場合は、これらのアクセス制御が付与されたカスタムロールを作成することもできます。

さらに、ユーザーは統合ユースケースで必要となるテーブルに対する必須のアクセス制御も所有していなければなりません。たとえば、標準の ITIL サービスデスクアクション (インシデント、問題、変更、設定管理項目のオープン、更新、クローズ) を実行できる統合ユーザーを作成する場合、そのユーザーに itil ロールを割り当てる必要があります。ベースシステムロール内で利用可能なテーブル以外の特定のテーブルのみに対するアクセスを付与するには、カスタムロールを作成して、必要に応じて適切なアクセス権を割り当てることをお勧めします。

カスタムロールの作成

Workato に接続するのにベースシステムロールを使用したくない場合は、作業するテーブルに対する十分なアクセス制御を持つカスタムロールを作成できます。

まず、ServiceNow インスタンス内に、Workato コネクターでの用途を示す名前 (Workato 統合ユーザーなど) を持つロールを作成します。ロールの作成の詳細については、こちらのドキュメントを参照してください。これが完了したら、ServiceNow コネクターを使用するために新しいロールに以下のアクセス制御ルールを付与する必要があります。

security_admin ロールを持つユーザーのみが、アクセス制御を編集または作成できます。ロールについてはっきりわからない場合は、ServiceNow 管理者にお問い合わせください。昇格された権限ロールに関する詳細については、こちらを参照してください。

テーブルタイプ操作名前
テーブルrecordread sys_db_object
sys_db_object.*
辞書エントリrecordread sys_dictionary
sys_dictionary*

必要な基本のアクセス制御

次に、統合のユースケースで必要なトリガー/アクションを使用するための関連するアクセス制御をこのロールに割り当てる必要があります。クローズしたインシデントイベントのトリガーを必要とするワークフローの場合、ユーザーにはインシデントテーブルへの読み書きを行うためのアクセス制御を含むカスタムロールが必要です。

テーブルタイプ操作名前
インシデントrecordreadincident
インシデントrecordwriteincident

特定のテーブルに必要な追加のアクセス制御

アクセス制御レコードを編集するには、特権ロール (security_admin) に昇格することを忘れないようにしてください。

権限ロールへの昇格権限ロールへの昇格

 テーブルへのカスタムロールに対するアクセス制御ルールの付与incident テーブルへのカスタムロールに対するアクセス制御ルールの付与

リアルタイムトリガー

ServiceNow コネクターは、選択したテーブル内の新規および更新されたレコードに対する一連のリアルタイムトリガーを備えています。このトリガーは、sys_script テーブルを使用して、ServiceNow インスタンス内で指定されたイベント (新規または更新されたレコード) が発生した時に HTTP リクエストを Workato の Webhook ゲートウェイに送信します。

これらのトリガーの1つを使用したレシピを開始した場合、レシピに固有の Webhook URL をポイントする sys_script テーブルでレコードが自動的に作成されます。同様に、レシピが停止すると、sys_script テーブル内の同じレコードが削除されます。

この機能を有効にするには、ServiceNow コネクションを確立するために使用されるユーザーアカウントに、以下のアクセス制御ルールを持つロールが割り当てられている必要があります。

テーブルタイプ操作名前
ビジネスルールrecordread sys_script
sys_script*
ビジネスルールrecordwrite sys_script
sys_script*
ビジネスルールrecordcreatesys_script
ビジネスルールrecorddeletesys_script

リアルタイムトリガーの使用に必要なアクセス制御

Last updated: