# ServiceNow

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

# API バージョン

ServiceNow コネクターは、ServiceNow REST API (opens new window) を使用します。

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

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

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

バージョン リリース日 OAuth 2.0のサポート
Quebec 2021年3月 あり
Paris 2020年9月 あり
Orlando 2020年3月 あり
New York 2019年5月 あり
Madrid 2019年1月 あり
London 2018年7月 あり
Kingston 2017年11月 あり
Jakarta 2017年7月 あり
Istanbul 2017年1月 あり
Helsinki 2016年5月 なし
Geneva 2015年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 name ServiceNow URL が https://acme.service-now.com である場合、インスタンス名は acme です。
Username ServiceNow に接続するためのユーザー名。
Password ServiceNow に接続するためのパスワード。

# 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 name ServiceNow URL が https://acme.service-now.com である場合、インスタンス名は acme です。
Client ID 認証に使用される接続するクライアント ID。OAuth クライアントのアプリケーションレジストリの設定の詳細については、以下を参照してください。
Client secret この OAuth アプリケーションのクライアントシークレット。実際のシークレットを表示しないようロックを選択するようにしてください。

# OAuth 2.0クライアントの設定

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

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

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

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

項目 説明
Redirect URL https://www.workato.com/oauth/callback
Logo URL https://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 の詳細については、こちらを参照してください。 (opens new window)

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

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

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

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

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

# カスタムロールの作成

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

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

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

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

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

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

テーブル タイプ 操作 名前
インシデント record read incident
インシデント record write incident

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

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

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

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

# リアルタイムトリガー

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

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

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

テーブル タイプ 操作 名前
ビジネスルール record read sys_script
sys_script*
ビジネスルール record write sys_script
sys_script*
ビジネスルール record create sys_script
ビジネスルール record delete sys_script

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


Last updated: 2023/8/31 1:07:14