ServiceNow コネクタ V2.0 - Amazon Kendra

ServiceNow コネクタ V2.0

ServiceNow は、IT サービス、チケットシステム、サポートなど、組織レベルのワークフローを作成および管理するためのクラウドベースのサービス管理システムを提供します。Amazon Kendra を使用して ServiceNow カタログ、ナレッジ記事、インシデント、および添付ファイルのインデックスを作成できます。

Amazon Kendra ServiceNow データソースコネクタのトラブルシューティングについては、データソースのトラブルシューティング を参照してください。

サポートされている機能

Amazon Kendra ServiceNow データソースコネクタは以下の機能をサポートしています。

  • フィールドマッピング

  • ユーザーアクセスコントロール

  • 包含/除外フィルター

  • 完全および増分コンテンツ同期

  • ServiceNow インスタンスバージョン: Rome、Sandiego、Tokyo、その他

  • 仮想プライベートクラウド (VPC)

前提条件

Amazon Kendra を使用して ServiceNow データソースのインデックスを作成するには、ServiceNow および AWS アカウントでこれらの変更を行ってください。

ServiceNow で、次のものがあることを確認してください。

  • パーソナルまたはエンタープライズデベロッパーインスタンスを作成し、管理者ロールを持つ ServiceNow インスタンスを作成しました。

  • ServiceNow インスタンス URL のホストをコピーしました。入力するホスト URL の形式は your-domain.service-now.com です。Amazon Kendra に接続するには、ServiceNow インスタンス URL が必要です。

  • ServiceNow インスタンスへの Amazon Kendra の接続を許可するユーザー名とパスワードを含む基本認証情報を書き留めました。

    注記

    認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。認証情報とシークレットを、データソース、コネクタバージョン 1.0 と 2.0 (該当する場合) で再利用することは推奨しません

  • オプション: ユーザー名、パスワード、生成されたクライアント ID、クライアントシークレットを使用して Amazon Kendra を識別できる OAuth 2.0 クライアント認証情報を設定しました。詳細については、OAuth 2.0 認証に関する ServiceNow のドキュメントを参照してください。

  • 以下のアクセス許可を追加しました。

    • kb_category

    • kb_knowledge

    • kb_knowledge_base

    • kb_uc_cannot_read_mtom

    • kb_uc_can_read_mtom

    • sc_catalog

    • sc_category

    • sc_cat_item

    • sys_attachment

    • sys_attachment_doc

    • sys_user_role

  • ServiceNow で、また同じインデックスに使用する予定の他のデータソースでも、各ドキュメントが一意であることが確認されていること。インデックスに使用する各データソースには、データソース全体に同じドキュメントが含まれていてはなりません。ドキュメント ID はインデックス全体に適用され、インデックスごとに一意である必要があります。

AWS アカウント で以下を確認してください。

  • Amazon Kendra インデックスが作成済みで、API を使用している場合はインデックス ID を記録済み。

  • データソース用の IAM ロールが作成済みで、API を使用している場合は IAM ロールの ARN を記録済み。

    注記

    認証タイプと認証情報を変更した場合、正しい AWS Secrets Manager シークレット ID にアクセスできるように IAM ロールを更新する必要があります。

  • ServiceNow の認証情報を AWS Secrets Manager シークレットに保存し、API を使用している場合は、シークレットの ARN を記録済みです。

    注記

    認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。認証情報とシークレットを、データソース、コネクタバージョン 1.0 と 2.0 (該当する場合) で再利用することは推奨しません

既存の IAM ロールやシークレットがない場合は、ServiceNow データソースを Amazon Kendra に接続するときに、コンソールを使用して新しい IAM ロールと Secrets Manager シークレットを作成できます。API を使用している場合は、既存の IAM ロールと Secrets Manager シークレットの ARN、およびインデックス ID を指定する必要があります。

接続手順

Amazon Kendra を ServiceNow データソースに接続するには、Amazon Kendra がデータにアクセスできるように ServiceNow データソースの必要な詳細情報を入力する必要があります。Amazon Kendra の ServiceNow をまだ設定していない場合は、「前提条件」を参照してください。

Console

Amazon Kendra を ServiceNow に接続するには

  1. AWS マネジメントコンソール にサインインして、Amazon Kendra コンソール を開きます。

  2. 左側のナビゲーションペインで、[インデックス] を選択し、インデックスのリストから使用するインデックスを選択します。

    注記

    [インデックスの設定] で、[ユーザーアクセスコントロール] 設定を設定または編集できます。

  3. [使用開始] ページで、[データソースを追加] を選択します。

  4. [データソースを追加] ページで [ServiceNow コネクタ] を選択し、[コネクタを追加] を選択します。バージョン 2 (該当する場合) を使用している場合は、「V2.0」タグが付いた [ServiceNow コネクタ] を選択します。

  5. [データソースの詳細を指定] ページで、次の情報を入力します。

    1. [名前と説明][データソース名] に、データソースの名前を入力します。ハイフン (-) は使用できますが、スペースは使用できません。

    2. (オプション) [説明] - オプションで、データソースの説明を入力します。

    3. [デフォルト言語] - インデックス用にドキュメントをフィルターするための言語。特に指定しない限り、言語はデフォルトで英語に設定されます。ドキュメントのメタデータで指定された言語は、選択した言語よりも優先されます。

    4. [タグ][新しいタグを追加] - リソースの検索とフィルタリングや、AWS コストの追跡を行うためのオプションのタグを含めることができます。

    5. [Next] (次へ) を選択します。

  6. [アクセスとセキュリティの定義] ページで、次の情報を入力します。

    1. ServiceNow ホスト - ServiceNow ホスト URL を入力します。入力するホスト URL の形式は your-domain.service-now.com です。

    2. [ServiceNow バージョン] - ServiceNow インスタンスのバージョンを選択します。Rome、Sandiego、Tokyo、その他から選択できます。

    3. [承認] - アクセスコントロールリスト (ACL) があり、それをアクセスコントロールに使用する場合に、ドキュメントの ACL 情報を有効にするか無効にするかを選択します。ACL では、ユーザーとグループがアクセスできるドキュメントを指定します。ACL 情報は、ユーザーまたはそのグループのドキュメントへのアクセスに基づいて、検索結果をフィルタリングするために使用されます。詳細については、「User context filtering」を参照してください。

    4. [認証] - [基本認証][OAuth 2.0 認証] のいずれかを選択します。

    5. [AWS Secrets Manager シークレット] - ServiceNow の認証情報を保存する既存のシークレットを選択するか、新しい Secrets Manager シークレットを作成します。新しいシークレットの作成を選択すると、AWS Secrets Manager シークレットウィンドウが開きます。ウィンドウで、以下の情報を入力します。

      1. [シークレット名] - シークレットの名前。シークレット名に、プレフィックス「AmazonKendra-ServiceNow-」が自動的に追加されます。

      2. 基本認証を使用している場合-ServiceNow アカウントの [シークレット名][ユーザー名][パスワード] を入力します。

        OAuth2.0 認証を使用する場合 - ServiceNow アカウントで作成した [シークレット名][ユーザー名][パスワード][クライアント ID][クライアントシークレット] を入力します。

      3. シークレットを保存して追加します。

    6. [仮想プライベートクラウド (VPC)] - VPC の使用を選択できます。選択する場合は、[サブネット][VPC セキュリティグループ] を追加する必要があります。

    7. [ID クローラー] - Amazon Kendra の ID クローラーを有効にするかどうかを指定します。ID クローラーは、ドキュメントのアクセスコントロールリスト (ACL) 情報を使用して、ユーザーまたはそのグループのドキュメントへのアクセス権に基づいて検索結果をフィルタリングします。ドキュメントの ACL があり、ACL を使用する場合は、Amazon Kendra の ID クローラーを有効にして、検索結果のユーザーコンテキストフィルタリングを設定することもできます。それ以外の場合は、ID クローラーがオフになっている場合、すべてのドキュメントは公開され検索可能になります。ID クローラーがオフになっているときにドキュメントのアクセスコントロールを使用する場合は、代わりに PutPrincipalMapping API を使用して、ユーザーコンテキストフィルタリング用にユーザーとグループのアクセス情報をアップロードすることができます。

    8. [IAM ロール] - 既存の IAM ロールを選択するか、新しい IAM ロールを作成して、リポジトリの認証情報とインデックスコンテンツにアクセスします。

      注記

      インデックスに使用される IAM ロールは、データソースには使用できません。インデックスやよくある質問に既存のロールが使用されているかどうかが不明な場合は、エラーを避けるため、[新しいロールを作成] を選択してください。

    9. [Next] (次へ) を選択します。

  7. [同期設定の構成] ページで、次の情報を入力します。

    1. [ナレッジ記事] の場合は、以下のオプションから選択してください。

      • [ナレッジ記事] - ナレッジ記事にインデックスを作成することを選択します。

      • [ナレッジ記事の添付ファイル] - ナレッジ記事の添付ファイルにインデックスを作成することを選択します。

      • [ナレッジ記事のタイプ] - ユースケースに基づいて、[パブリック記事のみ] または [ServiceNow フィルタークエリに基づくナレッジ記事] を選択します。[ServiceNow フィルタークエリに基づいて記事を含める] を選択した場合は、ServiceNow アカウントからコピーした [フィルタークエリ] を入力する必要があります。フィルタークエリの例には、workflow_state=draft^EQkb_knowledge_base=dfc19531bf2021003f07e2c1ac0739ab^text ISNOTEMPTY^EQarticle_type=text^active=true^EQ などがあります。

        重要

        [公開記事のみ] をクロールすることを選択すると、Amazon Kendra は ServiceNow で公開アクセスロールが割り当てられたナレッジ記事のみをクロールします。

      • [簡単な説明フィルターに基づいて記事を含める] - 特定の記事を含めるか除外する正規表現パターンを指定します。

    2. [サービスカタログ項目] の場合:

      • [サービスカタログ項目] - サービスカタログ項目のインデックスを作成することを選択します。

      • [サービスカタログ項目の添付ファイル] - サービスカタログ項目の添付ファイルのインデックスを作成することを選択します。

      • [アクティブなサービスカタログ項目] - アクティブなサービスカタログ項目のインデックスを作成することを選択します。

      • [非アクティブなサービスカタログ項目] - 非アクティブなサービスカタログ項目のインデックスを作成することを選択します。

      • [フィルタークエリ] - ServiceNow インスタンスで定義されたフィルターに基づいてサービスカタログ項目を含めることを選択します。フィルタークエリの例としては、short_descriptionLIKEAccess^category=2809952237b1300054b6a3549dbe5dd4^EQnameSTARTSWITHService^active=true^EQ などがあります。

      • [簡潔な説明フィルターに基づいてサービスカタログ項目を含める] - 特定のカタログ項目を含めるための正規表現パターンを指定します。

    3. [インシデント] の場合:

      • [インシデント] - サービスインシデントのインデックスを作成することを選択します。

      • [インシデント添付ファイル] - インシデント添付ファイルのインデックスを作成することを選択します。

      • [アクティブなインシデント] - アクティブなインシデントのインデックスを作成することを選択します。

      • [非アクティブなインシデント] - 非アクティブなインシデントのインデックスを作成することを選択します。

      • [アクティブなインシデントタイプ] - ユースケースに応じて、[すべてのインシデント][未解決のインシデント][オープン - 未割り当てのインシデント][解決済みのインシデント] から選択します。

      • [フィルタークエリ] - ServiceNow インスタンスで定義されたフィルターに基づいてインシデントを含めることを選択します。フィルタークエリの例には、short_descriptionLIKETest^urgency=3^state=1^EQpriority=2^category=software^EQ などがあります。

      • [簡単な説明フィルターに基づいてインシデントを含める] -特定のインシデントを含む正規表現パターンを指定します。

    4. [追加の設定]:

      • [ACL 情報] - 選択したエンティティのアクセス制御リストがデフォルトで含まれます。アクセスコントロールリストを選択解除すると、そのカテゴリのファイルがすべて公開されます。選択されていないエンティティの ACL オプションは自動的に無効になります。パブリック記事には ACL は適用されません。

      • 最大ファイルサイズ - Amazon Kendra がクロールするファイルサイズの上限を MB 単位で指定します。Amazon Kendra は、ユーザーが定義したサイズ制限内のファイルのみをクロールします。デフォルトのファイルサイズは 50 MB です。最大ファイルサイズは 0 MB より大きくし、50 MB 以下にする必要があります。

      • [添付ファイルの正規表現パターン] - カタログ、ナレッジ記事、インシデントの特定の添付ファイルを含めたり除外したりする正規表現パターンを追加します。最大 100 のパターンを追加できます。

    5. [同期モード] - データソースのコンテンツが変更されたときのインデックスの更新方法を選択します。Amazon Kendra でデータソースを初めて同期すると、デフォルトですべてのコンテンツがクロールされ、インデックスが作成されます。同期モードオプションとして完全同期を選択していない場合でも、最初の同期が失敗した場合は、データの完全同期を実行する必要があります。

      • 完全同期: データソースがインデックスと同期されるたびに、既存のコンテンツを置き換えて、すべてのコンテンツのインデックスを新たに作成します。

      • 新規作成、変更、削除の同期: データソースがインデックスと同期するたびに、新規作成、変更、削除されたコンテンツのみのインデックスを作成します。Amazon Kendra は、データソースのメカニズムを利用してコンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツのインデックスを作成することができます。

    6. [同期実行スケジュール][頻度] - データソースコンテンツを同期してインデックスを更新する頻度を選択します。

    7. [Next] (次へ) を選択します。

  8. [フィールドマッピングを設定] ページで、次の情報を入力します。

    1. [デフォルトのフィールドマッピング] - Amazon Kendra が生成するデフォルトのデータソースフィールドから、インデックスにマッピングするものを選択します。

    2. [フィールドを追加] - カスタムデータソースフィールドを追加して、マッピング先のインデックスフィールド名とフィールドデータタイプを作成します。

    3. [Next] (次へ) を選択します。

  9. [確認と作成] ページで、入力した情報が正しいことを確認し、[データソースを追加] を選択します。このページで情報の編集を選択することもできます。データソースが正常に追加されると、データソースが [データソース] ページに表示されます。

API

Amazon Kendra を ServiceNow に接続するには

TemplateConfiguration API を使用してデータソーススキーマの JSON を指定する必要があります。これには、以下の情報を入力する必要があります。

  • [データソース]TemplateConfiguration JSON スキーマを使用する場合は、データソースタイプを SERVICENOWV2 と指定します。また、CreateDataSource API を呼び出す場合は、データソースを TEMPLATE と指定します。

  • ホスト URL - ServiceNow ホストインスタンスのバージョンを指定します。例えば、your-domain.service-now.com です。

  • 認証タイプ - ServiceNow インスタンスの認証のタイプに、basicAuth または OAuth2 を指定します。

  • [ServiceNow インスタンスのバージョン] - 使用する ServiceNow インスタンスを、TokyoSandiegoRome、または Others のいずれかに指定します。

  • [同期モード] - データソースのコンテンツが変更されたときに、Amazon Kendra がインデックスを更新する方法を指定します。Amazon Kendra でデータソースを初めて同期すると、デフォルトですべてのコンテンツがクロールされ、インデックスが作成されます。同期モードオプションとして完全同期を選択していない場合でも、最初の同期が失敗した場合は、データの完全同期を実行する必要があります。以下のいずれかから選択できます。

    • FORCED_FULL_CRAWL は、データソースがインデックスと同期されるたびに、既存のコンテンツを置き換えて、すべてのコンテンツのインデックスを新たに作成します。

    • FULL_CRAWL は、データソースがインデックスと同期するたびに、新規作成、変更、削除されたコンテンツのみのインデックスを作成します。Amazon Kendra は、データソースのメカニズムを利用してコンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツのインデックスを作成することができます。

  • [シークレット Amazon リソースネーム (ARN)] - ServiceNow アカウントで作成した認証の認証情報を含む Secrets Manager シークレットの Amazon リソースネーム (ARN) を指定します。

    基本認証を使用する場合、シークレットは以下のキーを含む JSON 構造に保存されます。

    { "username": "user name", "password": "password" }
  • OAuth2 クライアント認証情報を使用する場合、シークレットは以下のキーを含む JSON 構造に保存されます。

    { "username": "user name", "password": "password", "clientId": "client id", "clientSecret": "client secret" }
  • [IAM ロール] - CreateDataSource を呼び出す際に RoleArn を指定して、Secrets Manager シークレットへのアクセス許可を IAM ロールに提供し、ServiceNow コネクタと Amazon Kendra に必要なパブリック API を呼び出します。詳細については、「IAM roles for ServiceNow data sources」を参照してください。

オプションで、次の機能を追加することもできます。

  • [仮想プライベートクラウド (VPC)] - VpcConfigurationCreateDataSource を呼び出すタイミングを指定します。詳細については、「Amazon VPC を使用するための Amazon Kendra の設定」を参照してください。

  • 包含フィルターと除外フィルター - ナレッジ記事、サービスカタログ、インシデントのファイル名とファイルタイプを使用して、特定の添付ファイルを含めるか除外するかを指定できます。

    注記

    ほとんどのデータソースは、フィルターと呼ばれる包含または除外パターンである正規表現パターンを使用しています。包含フィルターを指定すると、包含フィルターに一致するコンテンツのみのインデックスが作成されます。包含フィルターに一致しないドキュメントのインデックスは作成されません。包含フィルターと除外フィルターを指定した場合、除外フィルターに一致するドキュメントは、包含フィルターと一致してもインデックスは作成されません。

  • [インデックスを作成する特定のドキュメント] - ServiceNow クエリを使用して、プライベートナレッジベースを含む 1 つ以上のナレッジベースから、インデックスを作成するドキュメントを指定できます。ナレッジベースへのアクセスは、ServiceNow インスタンスへの接続に使用するユーザーによって決定されます。詳細については、クエリでインデックス作成するドキュメントを指定するを参照してください。

  • インデックスパラメータ - 次のことを行うかどうかも指定できます。

    • ナレッジ記事、サービスカタログ、インシデントまたはそのすべてにインデックスを作成します。ナレッジ記事、サービスカタログ項目とインシデントにインデックスを作成する場合は、Amazon Kendra インデックスのインデックスドキュメントコンテンツフィールドにマッピングする ServiceNow フィールドの名前を指定する必要があります。

    • ナレッジ記事、サービスカタログ項目、インシデントへのインデックス添付ファイル。

    • short description フィルターパターンに基づいてナレッジ記事、サービスカタログ項目、インシデントを含めます。

    • アクティブと非アクティブなサービスカタログ項目とインシデントをフィルタリングすることを選択できます。

    • インシデントタイプに基づいてインシデントをフィルタリングすることを選択します。

    • ACL をクロールするエンティティを選択します。

    • ServiceNow クエリを使用して、プライベートナレッジベースを含む 1 つ以上のナレッジベースから必要なドキュメントを指定できます。ナレッジベースへのアクセスは、ServiceNow インスタンスへの接続に使用するユーザーによって決定されます。詳細については、クエリでインデックス作成するドキュメントを指定するを参照してください。

  • [ID クローラー] - Amazon Kendra の ID クローラーを有効にするかどうかを指定します。ID クローラーは、ドキュメントのアクセスコントロールリスト (ACL) 情報を使用して、ユーザーまたはそのグループのドキュメントへのアクセス権に基づいて検索結果をフィルタリングします。ドキュメントの ACL があり、ACL を使用する場合は、Amazon Kendra の ID クローラーを有効にして、検索結果のユーザーコンテキストフィルタリングを設定することもできます。それ以外の場合は、ID クローラーがオフになっている場合、すべてのドキュメントは公開され検索可能になります。ID クローラーがオフになっているときにドキュメントのアクセスコントロールを使用する場合は、代わりに PutPrincipalMapping API を使用して、ユーザーコンテキストフィルタリング用にユーザーとグループのアクセス情報をアップロードすることができます。

  • フィールドマッピング - 選択すると、ServiceNow データソースフィールドを Amazon Kendra インデックスフィールドにマッピングします。詳細については、「データソースフィールドのマッピング」を参照してください。

    注記

    Amazon Kendra がドキュメントを検索するには、ドキュメント本文フィールドまたはドキュメントと同等のドキュメント本文が必要です。データソースのドキュメント本文フィールド名をインデックスフィールド名 _document_body にマッピングする必要があります。その他のすべてのフィールドはオプションです。

設定が必要なその他の重要な JSON キーのリストについては、「ServiceNow テンプレートスキーマ」を参照してください。

詳細

Amazon Kendra と ServiceNow データソースとの統合について詳しくは、以下を参照してください。