# 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種類の認証方法をサポートします。
- ユーザー名/パスワード (基本認証)
- 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接続
項目 | 説明 |
---|---|
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 プラグインのアクティブ化
次に、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クライアント
クライアントアプリケーションが正常に設定されたら、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