ServiceNowをデータパイプラインソースとして設定
ServiceNowをデータパイプラインソースとして設定し、レコードを抽出して宛先に同期します。 このガイドには、コネクションのセットアップ、パイプライン設定、サポート対象オブジェクト、同期動作、既知の制限事項が含まれています。
WorkatoはServiceNow REST Table API v2を使用して、標準ITSMテーブル、CMDBテーブル、カスタムテーブルなど、アクセス可能な任意のServiceNowテーブルからデータを抽出して同期します。
サポートされている機能
ServiceNowをデータパイプラインソースとして使用する場合、次の機能がサポートされます。
| 機能 | 詳細 |
|---|---|
| 標準、CMDB、カスタムテーブルの抽出 | カスタム(u_*)テーブルおよびアプリケーションスコープ(x_*)テーブルを含む、サービスアカウントからアクセス可能な任意のテーブルを同期します。 サポート対象オブジェクトを参照してください。 |
| 完全同期と増分同期 | sys_updated_onによる増分同期、sys_created_onによる追加専用の増分同期、およびタイムスタンプ列がないテーブルの完全更新をサポートします。 同期モードを参照してください。 |
| 削除追跡 | sys_audit_deleteシステムテーブルを通じて削除済みレコードを検出し、宛先にソフト削除フラグを設定します。 削除追跡を参照してください。 |
| Class Table Inheritance(CTI) | 継承列モードで親テーブル列を子テーブルに同期し、重複のない完全なレコードを提供します。 Class Table Inheritanceを参照してください。 |
| フィールドレベルの選択 | パイプラインが抽出するデータを制御するために、テーブルごとに個別のフィールドを選択または選択解除します。 |
| スキーマドリフトの検出と処理 | Auto-sync new fieldsでスキーマ変更を自動的に検出して適用するか、手動レビューのために変更をブロックします。 スキーマドリフトを参照してください。 |
| フィールドレベルのデータマスキング | パイプライン設定中に機密フィールドへハッシュベースのマスキングを適用します。 PIIと機密データを参照してください。 |
前提条件
ServiceNowをデータパイプラインソースとして接続する前に、次の要件を満たしてください。
ServiceNowインスタンスの要件
- Istanbulリリース以降を実行しているServiceNowインスタンス(OAuth 2.0認証に必要)。
- OAuth認証を使用する予定の場合、インスタンスでOAuth 2.0プラグイン(
com.snc.platform.security.oauth)が有効化されていること。 有効化を確認するには、ServiceNow管理者に連絡してください。 - OAuth認証を使用する予定の場合、Application Registryに外部クライアント用OAuth APIエンドポイントが登録されていること。 セットアップ手順については、ServiceNowでOAuthアプリケーションを登録するを参照してください。
サービスアカウントの要件
データパイプライン専用のサービスアカウントを作成します。 アカウントではREST APIアクセスを有効にし、同期されるすべてのレコードで一貫したタイムスタンプ処理を確保するために、アカウントのタイムゾーンをUTCに設定する必要があります。
ロールと権限
コネクターが機能するには、サービスアカウントに次のシステムテーブルへの読み取りアクセスが必要です。
| テーブル | 操作 | 名前 | 目的 |
|---|---|---|---|
| テーブル | 読み取り | sys_db_object, sys_db_object.* | インスタンス内のすべてのテーブルを一覧表示します。 動的スキーマ検出に使用されます。 コネクションチェックに必要です。 |
| Dictionary entry | 読み取り | sys_dictionary, sys_dictionary.* | フィールド定義、データ型、参照先を提供します。 テーブルスキーマの構築に使用されます。 コネクションチェックに必要です。 |
| テーブルローテーション | 読み取り | sys_table_rotation | 任意です。 sys_created_onを増分同期カーソルとして使用するローテーション済みテーブルを識別します。 このテーブルを読み取れない場合、コネクターは正常に縮退します。 |
| 監査削除 | 読み取り | sys_audit_delete | 削除済みレコードをログに記録します。 削除追跡に必要です。 読み取れない場合、すべてのオブジェクトで削除追跡を使用できません。 |
サービスアカウントには、パイプラインで同期する予定のすべてのテーブルへの読み取りアクセスも必要です。
adminなどの一部のベースシステムロールには、これらすべてのテーブルへのアクセスが含まれています。 詳細については、ServiceNowのBase system rolesページを参照してください。 ベースシステムロールを使用する予定がない場合は、必要最小限のアクセス権を持つカスタムロールを作成します。
カスタムロールの作成
組織が連携アカウントに広範な管理者アクセスを許可していない場合は、データパイプラインに必要な最小限のアクセス権を持つカスタムロールを作成します。
ServiceNowインスタンスでロールを作成し、Workato Pipelineなど、データパイプラインとの関連を反映した名前を割り当てます。 ロールの作成の詳細については、ServiceNowドキュメントを参照してください。
次のアクセス制御ルールをロールに割り当てます。
| テーブル | タイプ | 操作 | 名前 |
|---|---|---|---|
| テーブル | レコード | 読み取り | sys_db_object, sys_db_object.* |
| Dictionary entry | レコード | 読み取り | sys_dictionary, sys_dictionary.* |
| テーブルローテーション | レコード | 読み取り | sys_table_rotation(任意: ローテーション済みテーブルの検出を有効化) |
| 監査削除 | レコード | 読み取り | sys_audit_delete(削除追跡を有効化) |
SECURITY ADMINロールが必要
アクセス制御ルールを作成または編集できるのは、security_adminロールを持つユーザーのみです。 権限については、ServiceNow管理者に確認してください。 詳細については、ServiceNowドキュメントのelevated privilege rolesを参照してください。
パイプラインで同期する予定のすべてのServiceNowテーブルに、読み取りアクセス制御ルールを追加します。 たとえば、インシデントを同期するには、incidentテーブルの読み取りルールを追加します。
データパイプラインコネクションに使用する予定のサービスアカウントに、カスタムロールを割り当てます。
インデックスの作成
増分同期する予定の大きなテーブルでは、sys_updated_on列にインデックスを作成します。 これにより、抽出中のクエリパフォーマンスが向上します。 インデックスを追加するには、ServiceNow管理者に連絡してください。
サポートされるコネクションタイプ
WorkatoはServiceNowデータパイプラインに対して、次の認証方式をサポートしています。
- ユーザー名/パスワード: ServiceNowログイン資格情報で接続します。 OAuth設定は不要です。
- OAuth 2.0(Authorization Code Grant): プロダクションでの使用に推奨されます。 インスタンスにOAuth 2.0プラグインが必要です。 ブラウザーベースのフローで認証し、Workatoがトークン更新を自動的に管理します。
- OAuth 2.0(Password Grant): サービスアカウントおよびヘッドレス連携向けの代替OAuthフローです。 Client ID、Client secret、Username、Passwordを直接指定します。 対話型ブラウザー認証が実用的でない場合に適しています。
OAuth方式では、ServiceNowでOAuthアプリケーションを登録し、コネクションのセットアップ中にClient IDとClient secretを指定する必要があります。 ユーザー名/パスワード認証では、OAuth設定は不要です。
ServiceNowでOAuthアプリケーションを登録する
Workatoに接続する前に、ServiceNowインスタンスで外部クライアント用OAuth APIエンドポイントを作成します。 詳細な手順については、ServiceNow OAuthセットアップドキュメントを参照してください。
アプリケーションを登録するときに、Redirect URLをhttps://www.workato.com/oauth/callbackに設定します。
アプリケーションを登録したら、アプリケーションレコードからClient IDとClient secretの値をコピーします。 これらは安全に保管してください。 Workatoコネクションのセットアップ中にこれらを指定する必要があります。
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日です。 アクセストークンはデフォルトで30分後に期限切れになります。 Workatoはアクセストークンの更新を自動的に処理しますが、リフレッシュトークンの期限が切れた場合は、コネクションを手動で再認可する必要があります。
コネクション設定
ServiceNowをデータパイプラインソースとして接続するには、次の手順を完了します。
ユーザー名/パスワードで接続
Create > コネクションを選択します。
ServiceNowを検索し、アプリとして選択します。
コネクション名フィールドにコネクションの名前を入力します。
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
認証タイプドロップダウンメニューを使用してユーザー名/パスワードを選択します。
ServiceNowコネクションを設定
SubdomainフィールドにServiceNowインスタンス名を入力します。 たとえば、ServiceNow URLがhttps://acme.service-now.comの場合は、acmeと入力します。
組織がカスタムURL(例: https://servicenow.acme.com)を使用している場合は、Subdomainドロップダウンメニューを使用して、Use default domainからUse custom domainに切り替えます。
ServiceNowサービスアカウントのUsernameとPasswordを入力します。
任意です。 コネクションを特定のスコープに制限するには、Custom OAuth profileを選択します。
接続をクリックします。
OAuth 2.0で接続
Create > コネクションを選択します。
ServiceNowを検索し、アプリとして選択します。
コネクション名フィールドにコネクションの名前を入力します。
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
認証タイプドロップダウンメニューを使用して、OAuth 2.0を選択します。
ServiceNowコネクションを設定
SubdomainフィールドにServiceNowインスタンス名を入力します。 たとえば、ServiceNow URLがhttps://acme.service-now.comの場合は、acmeと入力します。
組織がカスタムURL(例: https://servicenow.acme.com)を使用している場合は、Subdomainドロップダウンメニューを使用して、Use default domainからUse custom domainに切り替えます。
ServiceNowで登録したOAuthアプリケーションのClient IDとClient secretを入力します。
任意です。 コネクションを特定のスコープに制限するには、Custom OAuth profileを選択します。
Connectを選択し、プロンプトが表示されたらServiceNowアカウントの資格情報を入力します。
Allowを選択して、WorkatoにServiceNowインスタンスへのアクセスを許可します。 コネクションが確立されると、Workatoに成功メッセージが表示されます。
Password grantで接続
Create > コネクションを選択します。
ServiceNowを検索し、アプリとして選択します。
コネクション名フィールドにコネクションの名前を入力します。
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
Authentication typeドロップダウンメニューを使用して、Password grantを選択します。
ServiceNowコネクションを設定
SubdomainフィールドにServiceNowインスタンス名を入力します。 たとえば、ServiceNow URLがhttps://acme.service-now.comの場合は、acmeと入力します。
組織がカスタムURL(例: https://servicenow.acme.com)を使用している場合は、Subdomainドロップダウンメニューを使用して、Use default domainからUse custom domainに切り替えます。
ServiceNowサービスアカウントのUsernameとPasswordを入力します。
ServiceNowで登録したOAuthアプリケーションのClient IDとClient secretを入力します。
任意です。 コネクションを特定のスコープに制限するには、Custom OAuth profileを選択します。
接続をクリックします。
パイプラインの設定
ServiceNowをデータパイプラインソースとして設定するには、次の手順を完了します。
作成 > データパイプラインを選択します。
データパイプライン名フィールドにデータパイプラインの名前を入力します。
ロケーションドロップダウンメニューを使用して、データパイプラインを保存するプロジェクトを選択します。
ビルドを開始をクリックします。
ソースアプリから新規/更新済みレコードを抽出トリガーをクリックします。 このトリガーは、パイプラインがソースアプリケーションからデータを取得する方法を定義します。
Your Connected Source AppsからServiceNowを選択します。
このパイプラインに使用するServiceNowコネクションを選択します。 または、+ 新規コネクションをクリックして新しいコネクションを作成します。
ServiceNowコネクションを選択
Inherited columnsドロップダウンメニューを使用して、パイプラインがClass Table Inheritance(CTI)を処理する方法を設定します。 Include inherited columnsを選択して親テーブルフィールドを子テーブルスキーマにマージするか、Exclude inherited columnsを選択して各テーブルで直接定義されたフィールドのみを含めます。 詳細については、Class Table Inheritanceを参照してください。
オブジェクトを追加をクリックして、新しいオブジェクトを追加パネルを開きます。 Workatoはサービスアカウントからアクセス可能なすべてのテーブルを動的に検出し、検索可能なリストとして表示します。 各テーブルにはラベルとテーブル名が表示されます。
オブジェクトを追加
使用可能なServiceNowテーブルのリストを検索または参照します。 同期する予定のテーブルを選択し、Addをクリックします。
新しいオブジェクトを追加
完全更新オブジェクト
sys_updated_on列またはsys_created_on列がないオブジェクトでは、同期実行ごとに完全更新が必要です。
選択した各テーブルのスキーマを確認し、カスタマイズします。 任意のテーブルを展開して、そのフィールドを表示します。 使用可能なすべてのデータを抽出するにはすべてのフィールドを選択したままにし、データ抽出とスキーマレプリケーションから除外するには特定のフィールドの選択を解除します。 個別のフィールドでマスキングオプションを使用し、機密データにハッシュベースのマスキングを適用します。
さらにテーブルを追加するには、もう一度Add objectをクリックします。 この手順を繰り返して、複数のServiceNowテーブルをパイプラインに含めます。
スキーマ変更の処理方法を選択します。
- スキーマ変更を自動的に検出して適用するには、新しいフィールドを自動同期を選択します。 ServiceNowインスタンスではカスタム列が頻繁に追加されるため、これは推奨設定です。
- スキーマ変更を手動で管理するには、新しいフィールドをブロックを選択します。 ソーススキーマが変更された場合、このオプションにより宛先が同期されなくなる可能性があります。
同期されていないスキーマ変更は、スキーマドリフトとも呼ばれ、管理しないと問題が発生する可能性があります。 詳細については、スキーマレプリケーションとスキーマドリフト管理セクションを参照してください。
頻度フィールドで、パイプラインがソースから宛先にデータを同期する頻度を設定します。 標準の時間ベースのスケジュールを選択するか、カスタムcron式を定義します。
サポートされるオブジェクト
ServiceNowはすべてのデータをREST Table APIからアクセス可能なテーブルに保存します。 パイプラインは、サービスアカウントからアクセス可能な任意のテーブルの同期をサポートします。 これには、標準ITSMテーブル、CMDBテーブル、HRテーブル、カスタムテーブル、アプリケーションスコープテーブルが含まれます。 一般的なServiceNowインスタンスでは1,000を超えるテーブルが公開されますが、正確な数はインストールされているモジュールによって異なります。
Workatoは、コネクションのセットアップ時にServiceNowシステムディクショナリテーブル(sys_db_object, sys_dictionary)にクエリを実行し、使用可能なテーブルを動的に検出します。
オブジェクトウィザードに特定のテーブルが表示されない場合は、サービスアカウントにそのテーブルへの読み取りアクセスがあること、および関連するServiceNowモジュールがインスタンスにインストールされていることを確認してください。
次の表に、一般的に同期されるServiceNowオブジェクトを示します。 すべてのカスタムオブジェクト(u_*プレフィックス)とアプリケーションスコープオブジェクト(x_*プレフィックス)も、動的スキーマ検出によってサポートされます。
ITSMとタスク管理
次のオブジェクトは、インシデント、問題、変更管理などのITサービス管理ワークフローをサポートします。 "Extends task"とマークされたオブジェクトは、Class Table Inheritanceを通じてtask親テーブルから列を継承します。
| オブジェクト | 同期モード | 増分キー | メモ |
|---|---|---|---|
incident | 増分 | sys_updated_on | コアインシデント管理テーブル。 taskを拡張します。 |
タスク | 増分 | sys_updated_on | すべてのタスクベースレコードの親テーブル。 継承列モードでは、子テーブルレコードは除外されます。 |
change_request | 増分 | sys_updated_on | 変更管理。 taskを拡張します。 |
problem | 増分 | sys_updated_on | 問題管理。 taskを拡張します。 |
sc_request | 増分 | sys_updated_on | サービスカタログリクエスト。 taskを拡張します。 |
sc_req_item | 増分 | sys_updated_on | サービスカタログリクエスト内のリクエスト済みアイテム。 taskを拡張します。 |
sc_task | 増分 | sys_updated_on | カタログフルフィルメントタスク。 taskを拡張します。 |
sla | 増分 | sys_updated_on | SLA定義。 |
task_sla | 増分 | sys_updated_on | タスクに関連付けられたSLAレコード。 SLA違反レポートに重要です。 |
ユーザーと組織
次のオブジェクトは、ユーザーアカウント、グループ、組織構造、ロケーションデータを保存します。 これらのオブジェクトは、宛先でのJOIN操作の参照先として一般的に使用されます。
| オブジェクト | 同期モード | 増分キー | メモ |
|---|---|---|---|
sys_user | 増分 | sys_updated_on | ユーザーレコード。 PIIフィールドを含みます。 |
sys_user_group | 増分 | sys_updated_on | グループとチーム。 |
sys_user_grmember | 増分 | sys_updated_on | ユーザーとグループのメンバーシップ(接合テーブル)。 |
core_company | 増分 | sys_updated_on | 会社および組織レコード。 |
cmn_location | 増分 | sys_updated_on | 物理的なロケーション。 |
cmn_department | 増分 | sys_updated_on | 部門。 |
cost_center | 増分 | sys_updated_on | コストセンター。 |
CMDB
次のオブジェクトは、Configuration Management Database(CMDB)レコードを保存します。 cmdb_ciテーブルはCIクラス階層のルートです。 他のすべてのCIオブジェクトは、Class Table Inheritanceを通じてこれを拡張します。
| オブジェクト | 同期モード | 増分キー | メモ |
|---|---|---|---|
cmdb_ci | 増分 | sys_updated_on | ルート構成アイテムテーブル。 すべてのCIタイプのClass Table Inheritanceルート。 |
cmdb_ci_server | 増分 | sys_updated_on | サーバーCI。 cmdb_ciを拡張します。 |
cmdb_ci_computer | 増分 | sys_updated_on | コンピューターCI(デスクトップとノートパソコン)。 cmdb_ciを拡張します。 |
cmdb_ci_service | 増分 | sys_updated_on | ビジネスサービスCI。 cmdb_ciを拡張します。 |
cmdb_ci_app_server | 増分 | sys_updated_on | アプリケーションサーバーCI。 cmdb_ci_serverを拡張します。 |
cmdb_ci_database | 増分 | sys_updated_on | データベースCI。 cmdb_ciを拡張します。 |
cmdb_ci_network_adapter | 増分 | sys_updated_on | ネットワークアダプターCI。 |
cmdb_rel_ci | 増分 | sys_updated_on | CI関係テーブル。 CMDBトポロジーマッピングに重要です。 |
サービスカタログとナレッジ
次のオブジェクトは、サービスカタログ定義とナレッジベースコンテンツを保存します。
| オブジェクト | 同期モード | 増分キー | メモ |
|---|---|---|---|
sc_cat_item | 増分 | sys_updated_on | サービスカタログアイテム定義。 |
kb_knowledge | 増分 | sys_updated_on | ナレッジベース記事。 |
HRとアセット管理
次のオブジェクトは、HRケース管理、ITアセット追跡、契約管理をサポートします。 HRオブジェクトには、HR Service Deliveryモジュールが必要です。
| オブジェクト | 同期モード | 増分キー | メモ |
|---|---|---|---|
sn_hr_core_case | 増分 | sys_updated_on | HRケース。 taskを拡張します。 HR Service Deliveryモジュールが必要です。 機密の雇用データを含みます。 |
alm_asset | 増分 | sys_updated_on | ITアセットレコード。 |
alm_hardware | 増分 | sys_updated_on | ハードウェアアセット。 alm_assetを拡張します。 |
contract | 増分 | sys_updated_on | 契約レコード。 |
ワークフロー
次のオブジェクトは、ServiceNow内のワークフロー実行履歴を追跡します。
| オブジェクト | 同期モード | 増分キー | メモ |
|---|---|---|---|
wf_context | 増分 | sys_updated_on | ワークフロー実行コンテキスト。 |
wf_activity | 増分 | sys_updated_on | コンテキスト内のワークフローアクティビティ。 |
メトリクス
次のオブジェクトは、SLAおよびOLA測定に使用されるメトリクス追跡データを保存します。
| オブジェクト | 同期モード | 増分キー | メモ |
|---|---|---|---|
metric_instance | 増分 | sys_updated_on | SLAおよびOLA測定用のメトリクス追跡インスタンス。 高ボリューム。 |
システムおよび監査テーブル
次のテーブルは、アクティビティログ、メールレコード、監査証跡などのシステムレベルデータを保存します。
高ボリュームシステムオブジェクト
このグループ内のオブジェクトは、オブジェクトウィザードから除外されません。 これらは他のすべての検出可能なオブジェクトと一緒に表示されます。 ただし、これらのオブジェクトを同期すると、同期時間とAPI利用状況が大幅に増加します。
これらのテーブルはレコード量が非常に多い傾向があり、同期時間とAPI利用状況を大幅に増加させる可能性があります。
| オブジェクト | 同期モード | 増分キー | メモ |
|---|---|---|---|
sys_journal_field | 増分(追加専用) | sys_created_on | すべてのテーブルにわたる作業メモとコメント。 非常に高ボリューム。 使用できますが、ほとんどのパイプラインでは推奨されません。 |
sys_email | 増分(追加専用) | sys_created_on | メールレコード。 PIIを含みます。 使用できますが、ほとんどのパイプラインでは推奨されません。 |
sys_audit | 増分(追加専用) | sys_created_on | フィールドレベルの監査証跡。 極めて高ボリューム。 コンプライアンス上必要な場合を除き、同期には推奨されません。 |
sys_audit_delete | 増分(追加専用) | sys_created_on | 削除監査証跡。 削除追跡のためにコネクターが内部的に使用します。 宛先への同期には推奨されません。 |
カスタムおよびアプリケーションスコープテーブル
すべてのカスタムテーブル(u_プレフィックスを持つテーブル)とアプリケーションスコープテーブル(x_プレフィックスを持つテーブル)を検出できます。 Workatoは、sys_updated_on列またはsys_created_on列が存在するかどうかに基づいて、各カスタムテーブルの同期モードを自動的に決定します。
同期モード
ServiceNowデータパイプラインは、増分同期、完全更新、削除追跡をサポートします。 コネクターは、ソーステーブルで使用可能な列に基づいて、各オブジェクトの同期モードを自動的に決定します。
増分同期
増分同期では、各パイプライン実行時に新規および更新済みのレコードのみを抽出します。 ほとんどのServiceNowオブジェクトは、sys_updated_on列を増分同期キーとして使用します。
sys_created_onはあるがsys_updated_onがないオブジェクトは、追加専用の増分同期をサポートします。 パイプラインは新規レコードを取得しますが、既存レコードの更新は検出しません。 sys_journal_fieldオブジェクトとsys_emailオブジェクトは、作成後にレコードが不変であるため、このモードを使用します。
完全更新
完全更新では、パイプラインを実行するたびにソースオブジェクトからすべてのレコードを抽出し、sys_idで並べ替えます。 sys_updated_on列とsys_created_on列の両方がないオブジェクトには、完全更新を使用します。 コネクターはこのモードを自動的に割り当てます。
ローテーション済みテーブル
ServiceNowは高ボリュームシステムテーブルにテーブルローテーションを使用します。 パイプラインはsys_table_rotationシステムテーブルを通じてローテーション済みテーブルを検出し、ローテーション済みレコードは作成後に不変であるため、sys_updated_onではなくsys_created_onを増分同期カーソルとして使用します。
削除追跡
削除追跡は、ソースから削除されたレコードを検出し、宛先に削除マーカー行を出力します。 このモードは、sys_updated_onを増分同期キーとして使用するオブジェクトで使用できます。 ローテーション済みオブジェクトと追加専用オブジェクトは、このリリースでは削除追跡をサポートしていません。
各削除マーカー行には、sys_id、trueに設定された_workato_is_deleted、削除タイムスタンプに設定されたsys_updated_onが含まれます。 その他のすべてのフィールドはnullです。 削除追跡には、サービスアカウントにsys_audit_deleteへの読み取りアクセスが必要です。
Class Table Inheritance
ServiceNowは、子テーブルが親テーブルを拡張するClass Table Inheritance(CTI)を使用します。 たとえば、incident、problem、change_requestテーブルはいずれもtask親テーブルを拡張します。 incident内のレコードはtaskにも存在します。
継承列モード
継承列モードが有効な場合、パイプラインは親テーブル列を子テーブルに同期し、各子テーブルに完全なレコードが含まれるようにします。 データの重複を防ぐため、子テーブルに属するレコードは親テーブルから除外されます。 各レコードのsys_class_nameフィールドは、そのレコードが属する子テーブルを識別します。
継承列モードが無効な場合、子テーブルには独自の列のみが含まれます。 継承列モードが無効な場合、親テーブルには子テーブルのレコードを含むすべてのレコードが含まれます。 これにより、子テーブルでは部分的なレコードが、親テーブルと子テーブル全体では重複レコードが発生します。
主な継承階層は次のとおりです。
taskはincident、problem、change_request、sc_request、sc_req_item、sc_task、sn_hr_core_caseの親ですcmdb_ciはcmdb_ci_server、cmdb_ci_computer、cmdb_ci_service、cmdb_ci_app_server、cmdb_ci_databaseの親ですalm_assetはalm_hardware、alm_consumable、alm_licenseの親です
制限事項
ServiceNowデータパイプラインを設定するときは、次の制限事項を確認してください。
Nullのsys_idレコード
ServiceNowテーブルには、sys_idがnullのレコードが含まれることがあります。 これは、レコードが破損している場合、または行レベルのACLポリシーによりサービスアカウントが特定のレコードを読み取れない場合に発生する可能性があります。 パイプラインは抽出中にnullのsys_idレコードをスキップし、宛先にはロードしません。 レコードが欠落していることに気付いた場合は、サービスアカウントに対象テーブルの適切なACL権限があることを確認してください。
sys_updated_onがすべての変更で更新されない
sys_updated_onフィールドは、すべてのレコード変更で更新されることが保証されているわけではありません。 XMLインポート、直接データベース操作、一括API操作、およびビジネスルールをスキップするインポートセットでは、このフィールドがバイパスされる可能性があります。 これらのパスを通じて変更されたレコードは、増分同期に表示されない場合があります。 レコードの欠落が疑われる場合は、完全更新を実行して対象オブジェクトのすべてのデータを再抽出します。
ファイル添付はサポートされていません
パイプラインは構造化されたテーブルデータのみを抽出します。 このリリースではファイル添付はサポートされていません。
PIIと機密データ
ServiceNowテーブルには、個人を特定できる情報(PII)と機密データが含まれます。 次の表では、フィールドレベルのデータマスキングが必要になる可能性がある主要なオブジェクトとフィールドを示します。
| オブジェクト | 機密フィールド |
|---|---|
sys_user | first_name, last_name, email, phone, mobile_phone, home_phone, street, city, state, zip, country, employee_number, manager |
incident | description, close_notes, comments_and_work_notes(自由入力フィールドにPIIが含まれる可能性があります), caller_id |
sys_journal_field | 値 |
sn_hr_core_case | subject_person, description(機密の雇用データを含むHRケース詳細) |
sys_email | from, recipients, subject, body |
cmdb_ci | ip_address, mac_address, serial_number, asset_tag |
core_company | name, street, phone, website |
sys_audit | oldvalue, newvalue |
| カスタムテーブル | インスタンス設定によっては、任意の機密データが含まれる可能性があります。 |
パイプライン設定でPIIまたは機密データを含むフィールドには、Workatoの組み込みフィールドレベルデータマスキング(ハッシュオプション)を使用します。 GDPR、HIPAA、またはSOC 2の要件に基づいて運用している組織は、同期されるすべてのフィールドを確認し、必要に応じてマスキングを適用する必要があります。
最終更新日: