ServiceNow Knowledge Microsoft Graph コネクタ
ServiceNow 用 Microsoft Graph コネクタを使用すると、organizationでは、すべてのユーザーに表示されるナレッジ ベースの記事のインデックスを作成したり、organization内のユーザー条件のアクセス許可で制限したりできます。 ServiceNow からコネクタとインデックス コンテンツを構成した後、エンド ユーザーは、Microsoft Copilotおよび任意の Microsoft Search クライアントからそれらの記事を検索できます。
この記事は、Microsoft 365 管理者、または ServiceNow Knowledge Graph コネクタを構成、実行、監視するユーザーを対象とします。
機能
- すべての種類のナレッジ記事にインデックスを付けます
- エンド ユーザーが Copilot の IT/HR ワークフローに関連する質問を行えるようにします。
- 新しいデバイスを要求する方法
- 新しい VPN 接続を作成する方法
- 葉操作方法申し込みですか?
- Copilot のセマンティック検索を使用して、ユーザーがキーワード、個人の好み、ソーシャル接続に基づいて関連するコンテンツを検索できるようにします。
制限事項
- 高度なスクリプトはサポートされていません。
- ナレッジ ベースとナレッジ 記事レベルの両方のアクセス許可が定義されている場合は、記事レベルのアクセス許可のみが適用されます。
- 添付ファイルのインデックスを作成しません。
前提条件
ServiceNow インスタンス URL: ServiceNow データに接続するには、organizationの ServiceNow インスタンス URL が必要です。 通常、organizationの ServiceNow インスタンス URL は
https://your-organization-name.service-now.com
のようになります。 (持っていませんか? テスト インスタンスの作成方法を確認する)サービス アカウント: ServiceNow に接続し、Microsoft Graph Connector がナレッジ記事を定期的に更新できるようにするには、特定の ServiceNow テーブル レコードへの読み取りアクセス権を持つサービス アカウントが必要です。 サービス アカウントでは、さまざまなエンティティを正常にクロールするために、次の ServiceNow テーブル レコード への読み取りアクセス権が必要です。
機能 読み取りアクセスに必要なテーブル 説明 すべてのユーザーが利用できるインデックスナレッジ記事 kb_knowledge ナレッジ記事をクロールする場合 ユーザー条件のアクセス許可のインデックス作成とサポート kb_uc_can_read_mtom このサポート情報を読めるユーザー kb_uc_can_contribute_mtom このサポート情報に貢献できるユーザー kb_uc_cannot_read_mtom このサポート情報を読むことができないユーザー kb_uc_cannot_contribute_mtom このサポート情報に貢献できないユーザー sys_user ユーザー テーブルの読み取り sys_user_has_role ユーザーのロール情報を読み取る sys_user_grmember ユーザーのグループ メンバーシップを読み取る user_criteria ユーザー条件のアクセス許可の読み取り kb_knowledge_base サポート情報情報を読み取る sys_user_group ユーザー グループ セグメントの読み取り sys_user_role ユーザー ロールの読み取り cmn_location 位置情報の読み取り cmn_department 部署の情報を読む core_company 会社の属性を読み取る 拡張テーブルのプロパティのインデックス作成 (省略可能) sys_db_object 拡張テーブルの詳細を読み取る sys_dictionary 拡張テーブルのプロパティを読み取る Microsoft Search に接続するために使用するサービス アカウントの ロールを作成して割り当てることができます 。 ServiceNow アカウントにロールを割り当てる方法について説明します。 テーブルへの読み取りアクセス権は、作成されたロールに割り当てることができます。 テーブル レコードへの読み取りアクセスを設定する方法については、「テーブル レコードの セキュリティ保護」を参照してください。
kb_knowledgeの 拡張テーブル からプロパティにインデックスを作成する場合は、 sys_dictionaryとsys_db_objectへの読み取りアクセスを提供します。 これらのテーブルへのアクセスは省略可能です。 2 つの追加 のテーブルに アクセスすることなく、テーブル プロパティkb_knowledgeインデックスを作成できます。
はじめに
1. 表示名
表示名は、Copilot の各参照を識別するために使用され、ユーザーが関連付けられているファイルまたは項目を簡単に認識するのに役立ちます。 表示名は、信頼されたコンテンツも示します。 表示名は、 コンテンツ ソース フィルターとしても使用されます。 このフィールドには既定値が存在しますが、organizationのユーザーが認識する名前にカスタマイズできます。
2. ServiceNow URL
ServiceNow データに接続するには、organizationの ServiceNow インスタンス URL が必要です。 通常、organizationの ServiceNow インスタンス URL はhttps://your-organization-name.service-now.com
のようになります。
3. 認証の種類
ServiceNow からコンテンツを認証して同期するには、サポートされている 3 つの方法のいずれかを 選択します。
a. [ 基本認証]
インスタンスに対して認証する ナレッジ ロールを持つ ServiceNow アカウントのユーザー名とパスワードを入力します。
b. ServiceNow OAuth (推奨)
[クリックして展開]認証に ServiceNow OAuth を使用するには、次の手順に従います。
ServiceNow 管理者は、Graph コネクタがアクセスできるように、ServiceNow インスタンスでエンドポイントをプロビジョニングする必要があります。 詳細については、ServiceNow ドキュメントの「クライアントがインスタンスにアクセスするためのエンドポイントの作成」(https://docs.servicenow.com/bundle/vancouver-platform-security/page/administer/security/task/t_CreateEndpointforExternalClients.html) ) を参照してください。
次の表に、エンドポイント作成フォームに入力する方法に関するガイダンスを示します。
フィールド | 説明 | 推奨値 |
---|---|---|
名前 | OAuth アクセスが必要なアプリケーションを識別する一意の値。 | Microsoft Search |
クライアント ID | アプリケーションの読み取り専用の自動生成された一意の ID。 インスタンスは、アクセス トークンを要求するときにクライアント ID を使用します。 | 該当なし |
クライアント シークレット | この共有シークレット文字列を使用すると、ServiceNow インスタンスと Microsoft Search が相互の通信を承認します。 | シークレットをパスワードとして扱うことで、セキュリティのベスト プラクティスに従います。 |
リダイレクト URL | 承認サーバーがリダイレクトする必要なコールバック URL。 |
M365 Enterprise の場合: https:// gcs.office。com/v1.0/admin/oauth/callback, For M365 Government: https://gcsgcc.office.com/v1.0/admin/oauth/callback |
ロゴ URL | アプリケーション ロゴのイメージを含む URL。 | 該当なし |
アクティブ | [チェック] ボックスを選択して、アプリケーション レジストリをアクティブにします。 | アクティブに設定する |
更新トークンの有効期間 | 更新トークンが有効な秒数。 既定では、更新トークンの有効期限は 100 日 (8,640,000 秒) です。 | 31,536,000 (1 年間) |
アクセス トークンの有効期間 | アクセス トークンが有効な秒数。 | 43,200 (12 時間) |
インスタンスに接続するクライアント ID とクライアント シークレットを入力します。 接続後、ServiceNow アカウントの資格情報を使用してクロールのアクセス許可を認証します。 アカウントには、少なくとも ナレッジ ロールが必要です。 他の ServiceNow テーブル レコードへの読み取りアクセス権とインデックス ユーザー条件のアクセス許可を提供するには、「 前提条件 」セクションの「サービス アカウント」で説明されている表を参照してください。
c. OpenID Connect のMicrosoft Entra ID
認証Microsoft Entra ID OpenID Connect を使用するには、次の手順に従います。
Microsoft Entra IDで新しいアプリケーションを登録する
Microsoft Entra IDで新しいアプリケーションを登録する方法については、「アプリケーションの登録」を参照してください。 [シングル テナント組織ディレクトリ] を選択します。 リダイレクト URI は必要ありません。 登録後、アプリケーション (クライアント) ID とディレクトリ (テナント) ID をメモします。
クライアント シークレットを作成する
クライアント シークレットの作成の詳細については、「クライアント シークレットの作成」を参照してください。 クライアント シークレットを書き留めます。
サービス プリンシパル オブジェクト識別子を取得する
サービス プリンシパル オブジェクト識別子を取得する手順に従います
PowerShell を実行します。
次のコマンドを使用してAzure PowerShellをインストールします。
Install-Module -Name Az -AllowClobber -Scope CurrentUser
Azure に接続します。
Connect-AzAccount
サービス プリンシパル オブジェクト識別子を取得します。
Get-AzADServicePrincipal -ApplicationId "Application-ID"
"Application-ID" を、手順 1 で登録したアプリケーションのアプリケーション (クライアント) ID (引用符なし) に置き換えます。 PowerShell 出力からの ID オブジェクトの値に注意してください。 これはサービス プリンシパル ID です。
これで、Azure portalから必要なすべての情報が得ることができるようになりました。 情報の簡単な概要を次の表に示します。
プロパティ 説明 ディレクトリ ID (テナント ID) 手順 3.a. のMicrosoft Entra テナントの一意の ID。 アプリケーション ID (クライアント ID) 手順 3.a で登録されたアプリケーションの一意の ID。 クライアント シークレット アプリケーションの秘密キー (手順 3.b から)。 パスワードのように扱います。 サービス プリンシパル ID サービスとして実行されているアプリケーションの ID。 (手順 3.c から)
ServiceNow アプリケーションの登録
ServiceNow インスタンスには、次の構成が必要です。
新しい OAuth OIDC エンティティを登録します。 詳細については、「 OAuth OIDC プロバイダーの作成」を参照してください。
次の表は、OIDC プロバイダー登録フォームに入力する方法に関するガイダンスを示しています
フィールド 説明 推奨値 名前 OAuth OIDC エンティティを識別する一意の名前。 Microsoft Entra ID クライアント ID サード パーティの OAuth OIDC サーバーに登録されているアプリケーションのクライアント ID。 インスタンスは、アクセス トークンを要求するときにクライアント ID を使用します。 手順 3.a のアプリケーション (クライアント) ID クライアント シークレット サード パーティの OAuth OIDC サーバーに登録されているアプリケーションのクライアント シークレット。 手順 3.b のクライアント シークレット その他の値はすべて既定値にすることができます。
OIDC プロバイダー登録フォームで、新しい OIDC プロバイダー構成を追加する必要があります。 OAuth OIDC プロバイダー構成フィールドに対して検索アイコンを選択して、OIDC 構成のレコードを開きます。 [新規]を選択します。
次の表は、OIDC プロバイダー構成フォームに入力する方法に関するガイダンスを示しています
フィールド 推奨値 OIDC プロバイダー Microsoft Entra ID OIDC メタデータ URL URL は、 https://login.microsoftonline.com/<tenandId">/.well-known/openid-configuration 形式である必要があります
"tenantID" を手順 3.a のディレクトリ (テナント) ID に置き換えます。OIDC 構成キャッシュの有効期間 120 アプリケーション グローバル ユーザー要求 サブ ユーザー フィールド ユーザー ID JTI 要求の検証を有効にする 無効 [送信] を選択し、OAuth OIDC エンティティ フォームを更新します。
ServiceNow アカウントを作成する
ServiceNow アカウントを作成し、 ServiceNow でユーザーを作成する手順を参照してください。
次の表は、ServiceNow ユーザー アカウントの登録に記入する方法に関するガイダンスを示しています
フィールド 推奨値 ユーザー ID 手順 3.c のサービス プリンシパル ID Web サービスへのアクセスのみ Checked その他の値はすべて既定値のままにできます。
ServiceNow アカウントのナレッジ ロールを有効にする
ServiceNow プリンシパル ID をユーザー ID として使用して作成した ServiceNow アカウントにアクセスし、ナレッジ ロールを割り当てます。 ServiceNow アカウントにロールを割り当てる手順については、 ユーザーにロールを割り当てる方法に関するページを参照してください。 他の ServiceNow テーブル レコードへの読み取りアクセス権とインデックス ユーザー条件のアクセス許可を提供するには、「 前提条件 」セクションの「サービス アカウント」で説明されている表を参照してください。
アプリケーション ID をクライアント ID として (手順 3.1 から)、管理センター構成ウィザードのクライアント シークレット (手順 3.2 から) を使用して、Microsoft Entra ID OpenID Connect を使用して ServiceNow インスタンスに対して認証します。
4. 限定対象ユーザーへのロールアウト
ロールアウトを広範な対象ユーザーに展開する前に、Copilot やその他の Search サーフェスで検証する場合は、制限付きユーザー ベースにこの接続をデプロイします。 制限付きロールアウトの詳細については、 こちらをクリックしてください。
この時点で、ServiceNow Knowledge の接続を作成する準備ができました。 [作成] ボタンをクリックすると、Microsoft Graph コネクタが ServiceNow アカウントから記事のインデックス作成を開始します。
アクセス許可、データ包含ルール、スキーマ、クロール頻度などの他の設定については、ServiceNow データに最適な内容に基づいて既定値を設定しています。 既定値は次のとおりです。
Users | |
---|---|
アクセス許可 | データ ソース内のコンテンツにアクセスできるユーザーのみ。 |
ID のマップ | Microsoft Entra ID を使用してマップされたデータ ソース ID。 |
Content | |
---|---|
クエリ文字列 | active=true^workflow_state=published |
プロパティの管理 | 既定のプロパティとそのスキーマをチェックするには、ここをクリックします |
Sync | |
---|---|
増分クロール | 頻度: 15 分ごと |
フル クロール | 頻度: 毎日 |
これらの値のいずれかを編集する場合は、"カスタム セットアップ" オプションを選択する必要があります。
Microsoft Graph Connector for ServiceNow Knowledge の概要
カスタム セットアップ
カスタム セットアップは、上記の表に示した設定の既定値を編集する管理者向けです。 [カスタム セットアップ] オプションをクリックすると、[ユーザー]、[コンテンツ]、[同期] の 3 つのタブが表示されます。
ユーザー
アクセス許可
ServiceNow コネクタは、"Everyone" または "データ ソース内のコンテンツへのアクセス権を持つユーザーのみ" に表示されるアクセス許可をサポートします。 インデックス付きデータは結果に表示され、organization内のすべてのユーザー、またはユーザー条件アクセス許可を介してアクセスできるユーザーにそれぞれ表示されます。 organizationに最適なものを選択します。
ナレッジ記事がユーザー条件で有効になっていない場合は、organizationのすべてのユーザーの結果が表示されます。
重要
ServiceNow では、ユーザーの読み取りアクセス許可を評価するときに、記事レベルのアクセス許可と KB レベルのアクセス許可の両方を確認します。 ServiceNow 用 Microsoft Graph コネクタでは、次の方法でアクセス許可が扱われます。
- 記事に "読み取り可能" ユーザー条件が含まれている場合、インジェスト中にアーティクルにスタンプが付き、サポート技術情報の '読み取り可能' / "投稿可能" ユーザー条件は無視されます。
- アーティクルに "読み取り不可" ユーザー条件が含まれており、対応するナレッジ ベースに "読み取り不可" ユーザー条件も含まれている場合、両方のユーザー条件がアーティクルにスタンプされます。
注:
ユーザーが記事レベルの "読み取り可能" ユーザー条件の一部であり、ナレッジ ベース レベルの "読み取り可能" または "投稿可能" ユーザー条件に含まれていない場合、ユーザーは ServiceNow の記事にアクセスできませんが、Microsoft Copilot、Microsoft Search、およびその他の M365 サーフェスの記事にアクセスできます。 回避策は、アーティクル レベルの "読み取り可能" ユーザー条件からユーザーを削除することです。
マッピング ID
データ ソース ID を Microsoft Entra ID にマッピングする既定の方法は、ServiceNow ユーザーのEmail ID が、Microsoft Entra IDのユーザーの UserPrincipalName (UPN) または Mail と同じかどうかを確認することです。 既定のマッピングがorganizationに対して機能しないと思われる場合は、カスタム マッピング式を指定できます。 非 EntraID ID のマッピングの詳細については、 こちらをクリックしてください。
コンテンツ
できる [コンテンツ] タブを示すスクリーンショット
クエリ文字列
ここで選択するプロパティの一覧は、Copilot for Microsoft 365 で結果をフィルター処理、検索、表示する方法に影響する可能性があります。
Source プロパティ | Label | 説明 |
---|---|---|
AccessUrl | url |
データソース内のアイテムのターゲット URL。 |
設定元 | authors |
データ ソース内のアイテムに参加した/共同作業を行ったユーザー全員の名前。 |
IconUrl | iconUrl |
記事のカテゴリまたは種類を表すアイコン URL。 |
Short_description | title |
検索と他のエクスペリエンスに表示したいアイテムのタイトル。 |
SysUpdatedBy | lastModifiedBy |
データソースでアイテムを最後に編集したユーザーの名前。 |
SysUpdatedOn | lastModifiedDateTime |
データ ソースでアイテムが最後に変更された日時。 |
SysCreatedBy | createdBy |
データソースでアイテムを作成したユーザーの名前。 |
SysCreatedOn | createdDateTime |
データ ソースでアイテムが作成された日付と時刻。 |
ServiceNow クエリ文字列を使用すると、アーティクルの同期条件を指定できます。 SQL Select ステートメントの Where 句に似ています。 たとえば、公開され、アクティブなアーティクルにのみインデックスを付けることができます。 独自のクエリ文字列の作成については、「 フィルターを使用してエンコードされたクエリ文字列を生成する」を参照してください。
プロパティの管理
ここでは、ServiceNow データ ソースから使用可能なプロパティを追加または削除したり、プロパティにスキーマを割り当てたり (プロパティが検索可能、クエリ可能、取得可能、または絞り込み可能かどうかを定義する)、セマンティック ラベルを変更してプロパティにエイリアスを追加したりできます。 既定で選択されているプロパティを次に示します。
Source プロパティ | Label | 説明 | Schema |
---|---|---|---|
AccessURL | url | データソース内のアイテムのターゲット URL | 取り戻す |
アクティブ | |||
ArticleType | |||
設定元 | authors | データ ソース内のアイテムに参加/共同作業を行ったすべてのユーザーに名前を付けます | 検索、クエリ、取得 |
CanReadUserCriteria | |||
CannotReadUserCriteria | |||
コンテンツ | |||
EntityType | |||
IconURL | iconUrl | 記事のカテゴリまたは種類を表すアイコン URL。 | 取り戻す |
KbKnowledgeBase | |||
番号 | 取り戻す | ||
PreviewContent | 取り戻す | ||
Short_description | title | Copilot やその他の検索エクスペリエンスに表示するアイテムのタイトル | 検索、取得 |
SysCreatedBy | createdBy | データソースでアイテムを作成したユーザーの名前。 | 取り戻す |
SysCreatedOn | CreatedDateTime | データ ソースでアイテムが作成されたデータと時刻 | 取り戻す |
SysUpdatedBy | lastModifiedBy | データソースでアイテムを最後に編集したユーザーの名前。 | 取り戻す |
SysUpdatedOn | lastModifiedDateTime | データ ソースでアイテムが最後に変更された日時。 | 取り戻す |
WorkflowState | 取り戻す |
データのプレビュー
プレビュー結果ボタンを使用して、選択したプロパティとクエリ フィルターのサンプル値を確認します。
構成したプロパティを示すスクリーンショット
同期
更新間隔によって、データ ソースと Graph コネクタ インデックスの間でデータが同期される頻度が決まります。 更新間隔には、フル クロールと増分クロールの 2 種類があります。 詳細については、こちらをクリック してください。
必要に応じて、ここから更新間隔の既定値を変更できます。
Microsoft Graph Connector for ServiceNow のナレッジ記事の読み取りとアクセス拒否
[クリックして展開]ServiceNow Knowledge のユーザー条件に基づいてコネクタがアクセス許可を処理する方法をシナリオ別に示します。
注:
次の表で使用される用語:
- 条件なし: 記事またはナレッジ ベースに対してユーザー条件が定義されていません。 (ユーザー条件が定義されているが条件内のすべてのフィールドが空である空の条件とは異なります)
- 既定のユーザー条件: ユーザー、グループ、ロール、場所、部署などの ServiceNow フィールドを使用して定義されたユーザー条件。
- 空の条件: すべてのフィールドに空の値があるユーザークリトリオン。
読み取りアクセスの決定方法
知識ベース | ナレッジ記事 | Access | |
---|---|---|---|
読み取り可能 | 投稿できる | 読み取り可能 | |
任意の条件 | 任意の条件 | 既定のユーザー条件 | 既定のユーザー条件に従った |
任意の条件 | 任意の条件 | 既定と高度な条件 | 既定のユーザー条件に従いました。 高度な条件は無視されました。 |
任意の条件 | 任意の条件 | 空の条件 + 任意の条件 | すべての ServiceNow ユーザーに提供されるアクセス |
既定のユーザー条件 | 既定のユーザー条件 | 条件なし | 既定のユーザー条件に従いました。 [注: "投稿できない" ユーザー条件が存在しない場合は、"読み取り可能" と "投稿可能" の両方の既定の条件に従います。 ただし、"投稿不可" ユーザー条件が存在する場合、"投稿可能" ユーザー条件はスタンプされません。 |
既定と高度な条件 | 既定と高度な条件 | 条件なし | 既定のユーザー条件に従いました。 高度な条件は無視されました。 |
空の条件 | 任意の条件 | 条件なし | すべての ServiceNow ユーザーに提供されるアクセス |
アクセスの拒否の決定方法
知識ベース | ナレッジ記事 | Access |
---|---|---|
読み取りできません | 読み取りできません | |
既定のユーザー条件 | 既定のユーザー条件 | 基準と記事レベルの両方の条件が適用されます。 |
高度な条件 | 任意の条件 | すべてのユーザーへのアクセスを拒否します。 |
任意の条件 | 高度な条件 | すべてのユーザーへのアクセスを拒否します。 |
空の条件 + 既定のユーザー条件 | 任意の条件 | すべてのユーザーへのアクセスを拒否します。 |
任意の条件 | 空の条件 | すべてのユーザーへのアクセスを拒否します。 |
トラブルシューティング
接続を公開したら、管理センターの [データ ソース] タブの状態を確認できます。 更新と削除を行う方法については、「接続を監視する」をご覧ください。 よく見られる問題のトラブルシューティング手順 については、こちらを参照してください。
問題がある場合、またはフィードバックを提供する場合は、Microsoft Graph にお問い合わせください |サポート。