ServiceNow Catalog Microsoft Graph コネクタ

ServiceNow 用 Microsoft Graph コネクタを使用すると、organizationは、すべてのユーザーに表示されるサービス カタログアイテムを一覧表示したり、organization内のユーザー条件のアクセス許可で制限したりできます。 ServiceNow からコネクタとインデックス コンテンツを構成した後、エンド ユーザーは Microsoft Search クライアントからそれらのカタログ項目を検索できます。

この記事は、Microsoft 365 管理者、または ServiceNow Catalog Microsoft Graph コネクタを構成、実行、監視するユーザーを対象とします。 これは、Microsoft 365 管理センター記事の「Microsoft Graph コネクタのセットアップ」で提供される一般的な手順を補完します。 まだ行っていない場合は、Microsoft Graph コネクタのセットアップに関する記事全体を参照して、一般的なセットアップ プロセスを理解してください。

セットアップ プロセスの各手順と、一般的なセットアップ手順または トラブルシューティング と制限事項に関する情報を含む ServiceNow コネクタにのみ適用されるその他の手順に従う必要があることを示すメモを次に示 します

手順 1: Microsoft 365 管理センターにコネクタを追加する

ServiceNow カタログ コネクタの追加

一般的な セットアップ手順に従います。

手順 2: 接続に名前を指定する

一般的な セットアップ手順に従います。

手順 3: 接続設定

ServiceNow データに接続するには、organizationの ServiceNow インスタンス URL が必要です。 organizationの ServiceNow インスタンス URL は、通常、"https:// <your-organization-domain.service-now>" のようになります。com"

この URL と共に、ServiceNow への接続を設定し、Microsoft Search が更新スケジュールに基づいてカタログ項目を定期的に更新できるようにするための サービス アカウント が必要です。 サービス アカウントでは、さまざまなエンティティを正常にクロールするために、次の ServiceNow テーブル レコード への読み取りアクセス権が必要です。

機能 読み取りアクセスに必要なテーブル 説明
すべてのユーザーが使用できるインデックス カタログ項目 sc_cat_item カタログ項目をクロールする場合
ユーザー条件のアクセス許可のインデックス作成とサポート sc_cat_item_user_criteria_mtom このカタログ アイテムにアクセスできるユーザー
sc_cat_item_user_criteria_no_mtom このカタログ アイテムにアクセスできないユーザー
sys_user ユーザー テーブルの読み取り
sys_user_has_role ユーザーのロール情報を読み取る
sys_user_grmember ユーザーのグループ メンバーシップを読み取る
user_criteria ユーザー条件のアクセス許可の読み取り
sys_user_group ユーザー グループ セグメントの読み取り
sys_user_role ユーザー ロールの読み取り
cmn_location 位置情報の読み取り
cmn_department 部署の情報を読む
core_company 会社の属性を読み取る

Microsoft Search に接続するために使用するサービス アカウントの ロールを作成して割り当てることができますServiceNow アカウントにロールを割り当てる方法について説明します。 テーブルへの読み取りアクセス権は、作成されたロールに割り当てることができます。 テーブル レコードへの読み取りアクセスを設定する方法については、「テーブル レコードの セキュリティ保護」を参照してください。

注:

ServiceNow カタログ コネクタでは、高度なスクリプトを使用せずにカタログ アイテムとユーザー条件のアクセス許可にインデックスを付けることができます。 ユーザー条件に高度なスクリプトが含まれている場合、関連するすべてのカタログ項目は検索結果から非表示になります。

ServiceNow からコンテンツを認証して同期するには、サポートされている 3 つの方法のいずれかを 選択します。

  • 基本認証
  • ServiceNow OAuth (推奨)
  • Microsoft Entra ID OpenID Connect

手順 3.1: 基本認証

インスタンスに対して認証する カタログ ロールを持つ ServiceNow アカウントのユーザー名とパスワードを入力します。

手順 3.2: ServiceNow OAuth

認証に ServiceNow OAuth を使用するには、ServiceNow 管理者が ServiceNow インスタンスでエンドポイントをプロビジョニングして、Microsoft Search アプリからアクセスできるようにする必要があります。 詳細については、ServiceNow ドキュメントの 「クライアントがインスタンスにアクセスするためのエンドポイントを作成 する」を参照してください。

次の表に、エンドポイント作成フォームに入力する方法に関するガイダンスを示します。

フィールド 説明 推奨値
名前 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 テーブル レコードへの読み取りアクセス権とインデックス ユーザー条件のアクセス許可を提供するための 接続設定については、手順 3 の冒頭の表を参照してください。

手順 3.3: Microsoft Entra ID OpenID Connect

認証に Microsoft Entra ID OpenID Connect を使用するには、次の手順に従います。

手順 3.3.1: Microsoft Entra ID に新しいアプリケーションを登録する

Microsoft Entra ID で新しいアプリケーションを登録する方法については、「アプリケーションの登録」を参照してください。 [シングル テナント組織ディレクトリ] を選択します。 リダイレクト URI は必要ありません。 登録後、アプリケーション (クライアント) ID とディレクトリ (テナント) ID をメモします。

手順 3.3.2: クライアント シークレットを作成する

クライアント シークレットの作成の詳細については、「クライアント シークレットの作成」を参照してください。 クライアント シークレットを書き留めます。

手順 3.3.3: サービス プリンシパル オブジェクト識別子を取得する

サービス プリンシパル オブジェクト識別子を取得する手順に従います

  1. PowerShell を実行します。

  2. 次のコマンドを使用してAzure PowerShellをインストールします。

    Install-Module -Name Az -AllowClobber -Scope CurrentUser
    
  3. Azure に接続します。

    Connect-AzAccount
    
  4. サービス プリンシパル オブジェクト識別子を取得します。

    Get-AzADServicePrincipal -ApplicationId "Application-ID"
    

    "Application-ID" を、手順 3.a で登録したアプリケーションのアプリケーション (クライアント) ID (引用符なし) に置き換えます。 PowerShell 出力からの ID オブジェクトの値に注意してください。 これはサービス プリンシパル ID です。

これで、Azure portalから必要なすべての情報が得ることができるようになりました。 情報の簡単な概要を次の表に示します。

プロパティ 説明
ディレクトリ ID (テナント ID) 手順 3.a. のMicrosoft Entra テナントの一意の ID。
アプリケーション ID (クライアント ID) 手順 3.a で登録されたアプリケーションの一意の ID。
クライアント シークレット アプリケーションの秘密キー (手順 3.b から)。 パスワードのように扱います。
サービス プリンシパル ID サービスとして実行されているアプリケーションの ID。 (手順 3.c から)

手順 3.3.4: ServiceNow アプリケーションを登録する

ServiceNow インスタンスには、次の構成が必要です。

  1. 新しい OAuth OIDC エンティティを登録します。 詳細については、「 OAuth OIDC プロバイダーの作成」を参照してください。

  2. 次の表は、OIDC プロバイダー登録フォームに入力する方法に関するガイダンスを示しています

    フィールド 説明 推奨値
    名前 OAuth OIDC エンティティを識別する一意の名前。 Microsoft Entra ID
    クライアント ID サード パーティの OAuth OIDC サーバーに登録されているアプリケーションのクライアント ID。 インスタンスは、アクセス トークンを要求するときにクライアント ID を使用します。 手順 3.a のアプリケーション (クライアント) ID
    クライアント シークレット サード パーティの OAuth OIDC サーバーに登録されているアプリケーションのクライアント シークレット。 手順 3.b のクライアント シークレット

    その他の値はすべて既定値にすることができます。

  3. OIDC プロバイダー登録フォームで、新しい OIDC プロバイダー構成を追加する必要があります。 OAuth OIDC プロバイダー構成フィールドに対して検索アイコンを選択して、OIDC 構成のレコードを開きます。 [新規]を選択します。

  4. 次の表は、OIDC プロバイダー構成フォームに入力する方法に関するガイダンスを示しています

    フィールド 推奨値
    OIDC プロバイダー Microsoft Entra ID
    OIDC メタデータ URL URL は tenandId">/.well-known/openid-configuration 形式https://login.microsoftonline.com/<である必要があります
    "tenantID" を手順 3.a のディレクトリ (テナント) ID に置き換えます。
    OIDC 構成キャッシュの有効期間 120
    アプリケーション グローバル
    ユーザー要求 サブ
    ユーザー フィールド ユーザー ID
    JTI 要求の検証を有効にする 無効
  5. [送信] を選択し、OAuth OIDC エンティティ フォームを更新します。

手順 3.3.5: ServiceNow アカウントを作成する

ServiceNow アカウントを作成し、 ServiceNow でユーザーを作成する手順を参照してください。

次の表は、ServiceNow ユーザー アカウントの登録に記入する方法に関するガイダンスを示しています

フィールド 推奨値
ユーザー ID 手順 3.c のサービス プリンシパル ID
Web サービスへのアクセスのみ Checked

その他の値はすべて既定値のままにできます。

手順 3.3.6: ServiceNow アカウントのカタログ ロールを有効にする

ServiceNow プリンシパル ID をユーザー ID として使用して作成した ServiceNow アカウントにアクセスし、カタログ ロールを割り当てます。 ServiceNow アカウントにロールを割り当てる手順については、 ユーザーにロールを割り当てる方法に関するページを参照してください。 詳細な ServiceNow テーブル レコードへの読み取りアクセス権とインデックス ユーザー条件のアクセス許可を提供するための 接続設定については、手順 3 の冒頭の表を参照してください。

アプリケーション ID をクライアント ID として (手順 3.a から)、管理センター構成アシスタントのクライアント シークレット (手順 3.b) を使用して、Microsoft Entra ID OpenID Connect を使用して ServiceNow インスタンスに対して認証します。

手順 4: プロパティを選択し、データをフィルター処理する

この手順では、ServiceNow データ ソースから使用可能なプロパティを追加または削除できます。 Microsoft 365 では、既定でいくつかのプロパティが既に選択されています。

ServiceNow クエリ文字列を使用すると、アーティクルの同期条件を指定できます。 SQL Select ステートメントの Where 句に似ています。 たとえば、アクティブな項目にのみインデックスを付けることができます。 独自のクエリ文字列の作成については、「 フィルターを使用してエンコードされたクエリ文字列を生成する」を参照してください。

プレビュー結果ボタンを使用して、選択したプロパティとクエリ フィルターのサンプル値を確認します。

手順 5: 検索のアクセス許可を管理する

ServiceNow コネクタは、このデータ ソースへのアクセス権を持つすべてのユーザーまたは唯一のユーザーに表示される検索アクセス許可をサポートします インデックス付きデータは検索結果に表示され、organizationのすべてのユーザー、またはユーザー条件のアクセス許可を介してアクセスできるユーザーに表示されます。 ユーザー条件でカタログ アイテムが有効になっていない場合は、organizationのすべてのユーザーの検索結果に表示されます。

コネクタでは、高度なスクリプトを使用しない既定のユーザー条件アクセス許可がサポートされています。 コネクタが高度なスクリプトを使用してユーザー条件を検出すると、そのユーザー条件を使用するすべてのデータが検索結果に表示されません。

[このデータ ソースへのアクセス権を持つユーザーのみ] を選択した場合は、ServiceNow インスタンスに Microsoft Entra ID プロビジョニングされたユーザーと Azure 以外の AD ユーザーのどちらを持っているかをさらに選択する必要があります。

organizationに適したオプションを特定するには:

  1. ServiceNow ユーザーのEmail ID が、Microsoft Entra ID のユーザーの UserPrincipalName (UPN) と同じである場合は、[Microsoft Entra ID] オプションを選択します。
  2. ServiceNow ユーザーのメール ID が、Microsoft Entra ID のユーザーの UserPrincipalName (UPN) と異なる場合は、[Azure 以外の AD] オプションを選択します。

注:

  • ID ソースの種類として [Microsoft Entra ID] を選択した場合、コネクタは ServiceNow から直接取得したユーザーのEmail ID を、MICROSOFT ENTRA ID から UPN プロパティにマップします。
  • ID の種類に "非 Azure AD" を選択した場合は、ID のマッピング手順については、「 Azure 以外の AD ID を マップする」を参照してください。 このオプションを使用して、Email ID から UPN へのマッピング正規表現を指定できます。

手順 6: プロパティ ラベルを割り当てる

一般的な セットアップ手順に従います。

手順 7: スキーマを管理する

一般的な セットアップ手順に従います。

手順 8: 更新設定を選択する

一般的な セットアップ手順に従います。

注:

ID の場合は、スケジュールされたフル クロールのみが適用されます。

手順 9: 接続を確認する

一般的な セットアップ手順に従います。

接続を発行したら、検索結果ページをカスタマイズする必要があります。 検索結果のカスタマイズについては、「検索結果 のカスタマイズ」ページを参照してください。

制限事項

ServiceNow Catalog Microsoft Graph コネクタの最新リリースでは、次の制限があります。

  • [検索アクセス許可の管理] ステップでこのデータ ソース機能にアクセスできるユーザーのみが、ユーザー条件のアクセス許可のみを処理します。 その他の種類のアクセス許可は検索結果には適用されません。
  • カタログ カテゴリで構成されたユーザー条件のアクセス許可はサポートされていません。
  • 高度なスクリプトを含むユーザー条件は、現在のバージョンではサポートされていません。 このようなアクセス制限を持つカタログアイテムは、すべてのユーザーのアクセスを拒否してインデックスが作成されます。つまり、サポートされるまで、検索結果には表示されません。

トラブルシューティング

接続を公開し、結果ページをカスタマイズしたら、管理センターの [データ ソース] タブの状態を確認できます。 更新と削除を行う方法については、「接続を監視する」をご覧ください。 よく見られる問題のトラブルシューティング手順を以下に示します。

1. シングル サインオンが有効な ServiceNow インスタンスが原因でサインインできない

organizationで ServiceNow へのシングル サインオン (SSO) が有効になっている場合、サービス アカウントでのログインに問題が発生する可能性があります。 ServiceNow インスタンス URL にを追加 login.do することで、ユーザー名とパスワードベースのサインインを表示できます。 例: https://<your-organization-domain>.service-now.com./login.do

2. API 要求に対する未承認または禁止された応答

2.1. テーブル アクセス許可を確認する

接続状態に禁止または未承認の応答が表示される場合は、「手順 3: 接続設定」で説明されているテーブルへのアクセスがサービス アカウントに必要かどうかをチェックします。 テーブル内のすべての列に読み取りアクセス権があるかどうかを確認します。

2.2. アカウントパスワードの変更

コネクタは、クロールのためにサービス アカウントの代わりにフェッチされたアクセス トークンを使用します。 アクセス トークンは 12 時間ごとに更新されます。 接続の発行後にサービス アカウントのパスワードが変更されていないことを確認します。 パスワードに変更がある場合は、接続の再認証が必要になる場合があります。

2.3. ファイアウォールの内側に ServiceNow インスタンスが存在するかどうかを確認する

ネットワーク ファイアウォールの内側にある場合、Microsoft Graph コネクタが ServiceNow インスタンスに到達できない可能性があります。 コネクタ サービスへのアクセスを明示的に許可する必要があります。 コネクタ サービスのパブリック IP アドレス範囲を次の表に示します。 テナントリージョンに基づいて、ServiceNow インスタンスネットワーク許可リストに追加します。

環境 Region 範囲
Prod 北アメリカ 52.250.92.252/30, 52.224.250.216/30
Prod ヨーロッパ 20.54.41.208/30, 51.105.159.88/30
Prod アジア太平洋 52.139.188.212/30, 20.43.146.44/30

2.4. アクセス許可が期待どおりに機能しない

検索結果に適用されるアクセス許可に不一致がある場合は、カタログ アイテムにユーザー条件 を適用する際のユーザー条件の構成を確認します。

3. このデータ ソースアクセス許可へのアクセス権を持つユーザーのみに関する 問題

3.1 このデータ ソースへのアクセス権を持つユーザーのみを選択できない

手順 3: 接続設定でサービス アカウントに必要なテーブルに対する読み取りアクセス許可がない場合は、[このデータ ソースにアクセスできるユーザーのみ] オプションを選択できない場合があります。 サービス アカウントが[インデックス] に記載されているテーブルを読み取り、 ユーザー条件のアクセス許可機能をサポート できるかどうかを確認します。

3.2 ユーザー マッピングエラー

Microsoft Entra ID に Microsoft 365 ユーザーがいない ServiceNow ユーザー アカウントはマップされません。 ユーザー以外のサービス アカウントでは、ユーザー マッピングが失敗することが予想されます。 接続の詳細ウィンドウの ID 統計領域で、ユーザー マッピングエラーの数にアクセスできます。 失敗したユーザー マッピングのログは、[エラー] タブからダウンロードできます。

4. ユーザー条件のアクセス フローに関する問題

ServiceNow と Microsoft Search の間でユーザー条件の検証に違いがある場合は、システム プロパティを にno設定glide.knowman.block_access_with_no_user_criteriaします。

その他の問題がある場合、またはフィードバックを提供したい場合は、 aka.ms/TalkToGraphConnectors