SharePoint コネクタ V2.0 - Amazon Kendra

SharePoint コネクタ V2.0

SharePoint は、ウェブコンテンツをカスタマイズしたり、ページ、サイト、ドキュメントライブラリ、リストを作成したりできる、コラボレーション用ウェブサイト構築サービスです。Amazon Kendra を使用して SharePoint データソースのインデックスを作成できます。

Amazon Kendra は現在、SharePoint Online と SharePoint Server をサポートしています (2013、2016、2019、およびサブスクリプションエディション)。

注記

SharePoint コネクタ V1.0/SharePointConfiguration API のサポートは 2023 年に終了しました。SharePoint コネクタ V2.0/TemplateConfiguration API に移行するか、こちらを使用することをお勧めします。

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

サポートされている機能

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

  • フィールドマッピング

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

  • 包含/除外フィルター

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

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

前提条件

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

AWS Secrets Manager のシークレットに安全に保存されている認証情報を指定する必要があります。

注記

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

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

  • SharePoint インスタンスの URL をコピーしました。入力したホスト URL の形式は https://yourdomain.com/sites/mysite です。URL は https で始まる必要があります。

  • SharePoint インスタンス URL のドメイン名をコピーしました。

  • SharePoint Online に接続するためのサイト管理者権限を持つユーザー名とパスワードを含む基本認証資格情報を記録しました。

  • 管理者ユーザーを使用して Azure Portal の [セキュリティデフォルト] を無効にしました。Azure Portal でのセキュリティのデフォルト設定の管理の詳細については、セキュリティのデフォルトを有効または無効にする方法に関する Microsoft のドキュメントを参照してください。

  • SharePoint アカウントの多要素認証 (MFA) を非アクティブ化し、Amazon Kendra が SharePoint コンテンツのクロールをブロックしないようにします。

  • 基本認証以外の認証タイプを使用している場合: SharePoint インスタンスのテナント ID をコピーしました。テナント ID を確認する方法の詳細については、「Find your Microsoft 365 tenant ID」を参照してください。

  • Microsoft Entra を使用してクラウドユーザー認証に移行する必要がある場合は、クラウド認証に関する Microsoft のドキュメントを参照してください。

  • OAuth 2.0 認証および OAuth 2.0 更新トークン認証の場合: SharePoint Online への接続に使用するユーザー名とパスワード、および SharePoint を Azure AD に登録した後に生成されたクライアント ID とクライアントシークレットを含む [基本認証] の認証情報を書き留めました。

    • ACL を使用していない場合は、次のアクセス許可が追加されました。

      Microsoft Graph SharePoint
      • Notes.Read.All (アプリケーション) - OneNote ノートブックをすべて読み込む

      • Sites.Read.All (アプリケーション) - すべてのサイトコレクションの項目を読み取る

      • AllSites.Read (委任) - すべてのサイトコレクションの項目を読み取る

      注記

      Note.Read.All と Site.Read.All は OneNote ドキュメントをクロールする場合のみ必要です。

      特定のサイトをクロールする場合は、ドメインで利用可能なすべてのサイトではなく、特定のサイトへのアクセス許可を制限するようにできます。Site.Selected (アプリケーション) アクセス許可を設定します。この API アクセス許可では、Microsoft Graph API を介してすべてのサイトにアクセス許可を明示的に設定する必要があります。詳細については、Sites.Selected アクセス許可に関する Microsoft のブログを参照してください。

    • ACL を使用している場合は、次のアクセス許可を追加した。

      Microsoft Graph SharePoint
      • Group.Member.Read.All (アプリケーション) - すべてのグループメンバーシップを読み取る

      • Notes.Read.All (アプリケーション) - OneNote ノートブックをすべて読み込む

      • Sites.FullControl.All (委任) — ドキュメントの ACL を取得するために必要

      • Sites.Read.All (アプリケーション) - すべてのサイトコレクションの項目を読み取る

      • User.Read.All (アプリケーション) - すべてのユーザーの完全なプロフィールを読み取る

      • AllSites.Read (委任) - すべてのサイトコレクションの項目を読み取る

      注記

      GroupMember.read.all と User.Read.All は [ID クローラー] がアクティブ化されている場合にのみ必要です。

      特定のサイトをクロールする場合は、ドメインで利用可能なすべてのサイトではなく、特定のサイトへのアクセス許可を制限するようにできます。Site.Selected (アプリケーション) アクセス許可を設定します。この API アクセス許可では、Microsoft Graph API を介してすべてのサイトにアクセス許可を明示的に設定する必要があります。詳細については、Sites.Selected アクセス許可に関する Microsoft のブログを参照してください。

  • Azure AD アプリ専用認証の場合: SharePoint を Azure AD に登録した後に生成したプライベートキーとクライアント ID。また、X.509 証明書も書き留めます。

    • ACL を使用していない場合は、次のアクセス許可が追加されました。

      SharePoint
      • Sites.Read.All (アプリケーション) - すべてのサイトコレクションの項目とリストへのアクセスに必要

      注記

      特定のサイトをクロールする場合は、ドメインで利用可能なすべてのサイトではなく、特定のサイトへのアクセス許可を制限するようにできます。Site.Selected (アプリケーション) アクセス許可を設定します。この API アクセス許可では、Microsoft Graph API を介してすべてのサイトにアクセス許可を明示的に設定する必要があります。詳細については、Sites.Selected アクセス許可に関する Microsoft のブログを参照してください。

    • ACL を使用している場合は、次のアクセス許可を追加した。

      SharePoint
      • Sites.FullControl.All (アプリケーション) — ドキュメントの ACL を取得するために必要

      注記

      特定のサイトをクロールする場合は、ドメインで利用可能なすべてのサイトではなく、特定のサイトへのアクセス許可を制限するようにできます。Site.Selected (アプリケーション) アクセス許可を設定します。この API アクセス許可では、Microsoft Graph API を介してすべてのサイトにアクセス許可を明示的に設定する必要があります。詳細については、Sites.Selected アクセス許可に関する Microsoft のブログを参照してください。

  • SharePoint アプリ専用認証の場合: SharePoint アプリのみに権限を付与する際に生成された SharePoint クライアント ID とクライアントシークレット、および SharePoint アプリを Azure AD に登録したときに生成されたクライアント ID とクライアントシークレットを記録しました。

    注記

    SharePoint アプリ専用認証は、SharePoint 2013 バージョンではサポートされていません

    • (オプション) OneNote ドキュメントをクロールしていて [ID クローラー] を使用している場合、次のアクセス許可が追加されました

      Microsoft Graph
      • GroupMember.Read.All (アプリケーション) - すべてのグループメンバーシップを読み取る

      • Notes.Read.All (アプリケーション) - OneNote ノートブックをすべて読み込む

      • Sites.Read.All (アプリケーション) - すべてのサイトコレクションの項目を読み取る

      • User.Read.All (アプリケーション) - すべてのユーザーの完全なプロフィールを読み取る

    注記

    [基本認証] と SharePoint アプリ専用認証を使用してエンティティをクロールする場合、API アクセス許可は必要ありません。

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

  • SharePoint インスタンス URL と SharePoint URL のドメイン名をコピーしました。入力したホスト URL の形式は https://yourcompany/sites/mysite です。URL は https で始まる必要があります。

    注記

    (オンプレミス/サーバー) Amazon Kendra は、AWS Secrets Manager に含まれるエンドポイント情報が、データソース設定の詳細で指定されているエンドポイント情報と同じかどうかを確認します。混乱する代理問題は、ユーザーがアクションを実行するアクセス許可がないにもかかわらず、Amazon Kendra をプロキシとして使用して設定された秘密にアクセスし、アクションを実行するセキュリティの問題です。後でエンドポイント情報を変更する場合は、新しいシークレットを作成してこの情報を同期する必要があります。

  • SharePoint アカウントの多要素認証 (MFA) を非アクティブ化し、Amazon Kendra が SharePoint コンテンツのクロールをブロックしないようにします。

  • アクセス制御に [SharePoint アプリ専用認証] を使用する場合:

    • サイトレベルでアプリのみを登録したときに生成された SharePoint クライアント ID をコピーしました。クライアント ID 形式は ClientId@TenantId です。例: ffa956f3-8f89-44e7-b0e4-49670756342c@888d0b57-69f1-4fb8-957f-e1f0bedf82fe

    • サイトレベルでアプリのみを登録したときに生成された SharePoint クライアントシークレットをコピーしました。

    注: クライアント ID とクライアントシークレットは、SharePoint Server をアプリ専用認証に登録した場合にのみ単一サイト用に生成されるため、SharePoint アプリ専用認証でサポートされるサイト URL は 1 つだけです。

    注記

    SharePoint アプリ専用認証は、SharePoint 2013 バージョンではサポートされていません

  • [カスタムドメイン付き E メール ID] をアクセス制御に使用する場合:

    • カスタムメールドメインの値 (例: "amazon.com") を記録しました。

  • [IDP からのドメインを使った E メール ID] 承認を使用している場合は、以下をコピーしました。

    • LDAP サーバーエンドポイント (プロトコルとポート番号を含む LDAP サーバーのエンドポイント)。例: ldap://example.com:389

    • LDAP 検索ベース (LDAP ユーザーの検索ベース)。例: CN=Users、DC=sharepoint、DC=com.

    • LDAP ユーザー名と LDAP パスワード。

  • 設定済みの NTLM 認証資格情報、またはユーザー名 (SharePoint アカウントユーザー名) とパスワード (SharePoint アカウントパスワード) を含む設定済みの Kerberos 認証資格情報のいずれか。

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

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

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

    注記

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

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

    注記

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

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

接続手順

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

Console: SharePoint Online

Amazon Kendra を SharePoint Online に接続するには

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

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

    注記

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

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

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

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

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

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

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

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

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

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

    1. [ホスティング方法] - [SharePoint Online] を選択します。

    2. [SharePoint リポジトリ固有のサイト URL] - SharePoint ホストの URL を入力します。入力したホスト URL の形式は https://yourdomain.sharepoint.com/sites/mysite です。URL は https プロトコルで始まる必要があります。URL は改行で区切ります。最大 100 個の URL を追加できます。

    3. [ドメイン] - SharePoint ドメインを入力します。例えば、URL https://yourdomain.sharepoint.com/sites/mysite のドメインは yourdomain です。

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

      また、ユーザー ID のタイプとして、Azure Portal から取得したユーザープリンシパル名かユーザーメールアドレスのいずれかを選択できます。指定しない場合は、デフォルトで E メールが使用されます。

    5. [認証] - [基本]、[OAuth 2.0]、[Azure AD アプリケーション専用認証]、[SharePoint アプリケーション専用認証]、[OAuth 2.0 更新トークン認証] のいずれかを選択します。認証情報を保存するための既存の AWS Secrets Manager シークレットを選択するか、新しいシークレットを作成します。

      1. [基本認証] を使用する場合は、シークレットにはシークレット名、および SharePoint のユーザー名とパスワードを含める必要があります。

      2. [OAuth 2.0 認証] を使用する場合は、シークレットには、SharePoint テナント ID、シークレット名、SharePoint ユーザー名、パスワード、Azure AD に SharePoint を登録するときに生成される Azure AD クライアント ID、および Azure AD に SharePoint を登録するときに生成される Azure AD クライアントシークレットを含める必要があります。

      3. [Azure AD アプリ専用認証] を使用する場合は、シークレットには、SharePoint テナント ID、Azure AD 自己署名 X.509 証明書、シークレット名、Azure AD に SharePoint を登録したときに生成された Azure AD クライアント ID、および Azure AD のコネクタを認証するためのプライベートキーを含める必要があります。

      4. [SharePoint アプリ専用認証] を使用する場合は、シークレットには、SharePoint テナント ID、シークレット名、テナントレベルでアプリ専用を登録するときに生成された SharePoint クライアント ID、テナントレベルでアプリ専用を登録するときに生成された SharePoint クライアントシークレット、Azure AD に SharePoint を登録するときに生成された Azure AD クライアント ID、および Azure AD に SharePoint を登録するに生成された Azure AD クライアントシークレットを含める必要があります。

        SharePoint クライアント ID 形式は ClientID@TenantId です。例: ffa956f3-8f89-44e7-b0e4-49670756342c@888d0b57-69f1-4fb8-957f-e1f0bedf82fe

      5. [OAuth 2.0 更新トークン認証] を使用する場合は、シークレットには、SharePoint テナント ID、シークレット名、Azure AD に SharePoint を登録するときに生成された一意の Azure AD クライアント ID、Azure AD SharePoint を登録するときに生成された Azure AD クライアントシークレット、SharePoint に Amazon Kendra を接続するために生成された更新トークンを含める必要があります。

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

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

      また、ローカルグループマッピングをクロールするか、Azure Active Directory のグループマッピングをクロールするかを選択することもできます。

      注記

      AD グループマッピングのクローリングは、OAuth 2.0、OAuth 2.0 更新トークン、SharePoint アプリ専用認証にのみ使用できます。

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

      注記

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

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

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

    1. [同期の範囲] で、次のオプションから選択します。

      1. [エンティティの選択] - クロールするエンティティを選択します。[すべて] のエンティティをクロールするか、[ファイル][添付ファイル][リンク][ページ][イベント][コメント][リストデータ] を組み合わせてクロールするかを選択できます。

      2. [追加の設定][エンティティ正規表現パターン] - [リンク][ページ][イベント] に正規表現パターンを追加して、すべてのドキュメントを同期する代わりに特定のエンティティを含めます。

      3. [正規表現パターン] - すべてのドキュメントを同期する代わりに、[ファイルパス][ファイル名][ファイルタイプ][OneNote セクション名][OneNote ページ名] でファイルを含めたり除外したりする正規表現パターンを追加します。最大 100 個を追加できます。

        注記

        OneNote クローリングは、OAuth 2.0、OAuth 2.0 更新トークン、SharePoint アプリ専用認証にのみ使用できます。

    2. [同期モード] では、データソースのコンテンツが変更されたときのインデックスの更新方法を選択します。Amazon Kendra でデータソースを初めて同期すると、デフォルトですべてのコンテンツが同期されます。

      • [完全同期] - 前回の同期ステータスに関係なく、すべてのコンテンツを同期します。

      • [新規または変更済みのドキュメントを同期] - 新規または変更済みのドキュメントのみを同期します。

      • [新規、変更済み、または削除されたドキュメントを同期] - 新規、変更済み、または削除されたドキュメントのみを同期します。

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

    4. [次へ] を選択します。

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

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

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

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

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

Console: SharePoint Server

Amazon Kendra を SharePoint に接続するには

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

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

    注記

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

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

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

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

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

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

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

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

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

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

    1. [ホスティング方法] - [SharePoint Server] を選択します。

    2. [SharePoint バージョンを選択] - [SharePoint 2013][SharePoint 2016][SharePoint 2019][SharePoint (サブスクリプションエディション)] のいずれかを選択します。

    3. [SharePoint リポジトリ固有のサイト URL] - SharePoint ホストの URL を入力します。入力したホスト URL の形式は https://yourcompany/sites/mysite です。URL は https プロトコルで始まる必要があります。URL は改行で区切ります。最大 100 個の URL を追加できます。

    4. [ドメイン] - SharePoint ドメインを入力します。例えば、URL https://yourcompany/sites/mysite のドメインは yourcompany です

    5. [SSL 証明書の場所] - SSL 証明書ファイルへの Amazon S3 パスを入力します。

    6. (オプション) [ウェブプロキシ] の場合: ホスト名 (http:// または https:// プロトコルなし) と、ホスト URL トランスポートプロトコルで使用されるポート番号を入力します。ポート番号の数値は 0~65535 の間である必要があります。

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

      SharePoint Server の場合は、次の ACL オプションから選択できます。

      1. [IDP からのドメインを使った E メール ID] - ユーザー ID は、基になる ID プロバイダー (IdP) から取得したドメインを使用した E メール ID に基づきます。認証の一環として、Secrets Manager のシークレットに保存した IDP 接続の詳細を提供します。

      2. [カスタムドメインを使用した E メール ID] - ユーザー ID はカスタム E メールドメイン値に基づきます。例: "amazon.com"。E メールドメインは、アクセス制御用の E メール ID の作成に使用されます。カスタム E メールドメインを入力する必要があります。

      3. [ドメインを使用したドメイン\ユーザー] - ユーザー ID は、ドメイン\ユーザー ID 形式で構成されます。有効なドメイン名を指定する必要があります。例えば、アクセス制御を構築するには "sharepoint2019" と入力します。

    8. [認証] では、[SharePoint アプリ専用認証]、[NTLM 認証]、[Kerberos 認証] のいずれかを選択します。認証情報を保存するための既存の AWS Secrets Manager シークレットを選択するか、新しいシークレットを作成します。

      1. [NTLM 認証] または [Kerberos 認証] を使用する場合は、シークレットに、シークレット名、および SharePoint のユーザー名とパスワードを含める必要があります。

        [IDP からのドメイン付き E メール ID] を使用している場合は、次の情報も入力してください。

        • [LDAP サーバーエンドポイント] - プロトコルとポート番号を含む LDAP サーバーのエンドポイント。例: ldap://example.com:389

        • [LDAP 検索ベース] - LDAP ユーザーの検索ベース。例: CN=Users、DC=sharepoint、DC=com.

        • [LDAP ユーザー名] - LDAP ユーザー名。

        • [LDAP パスワード] - LDAP パスワード。

      2. [SharePoint アプリ専用認証] を使用する場合は、シークレットにはシークレット名、サイトレベルでアプリ専用を登録するときに生成された SharePoint クライアント ID、サイトレベルでアプリ専用を登録するときに生成された SharePoint クライアントシークレットを含める必要があります。

        SharePoint クライアント ID 形式は ClientID@TenantId です。例: ffa956f3-8f89-44e7-b0e4-49670756342c@888d0b57-69f1-4fb8-957f-e1f0bedf82fe

        注: クライアント ID とクライアントシークレットは、SharePoint Server をアプリ専用認証に登録した場合にのみ単一サイト用に生成されるため、SharePoint アプリ専用認証でサポートされるサイト URL は 1 つだけです。

        [IDP からのドメイン付き E メール ID] を使用している場合は、次の情報も入力してください。

        • [LDAP サーバーエンドポイント] - プロトコルとポート番号を含む LDAP サーバーのエンドポイント。例: ldap://example.com:389

        • [LDAP 検索ベース] - LDAP ユーザーの検索ベース。例: CN=Users、DC=sharepoint、DC=com.

        • [LDAP ユーザー名] - LDAP ユーザー名。

        • [LDAP パスワード] - LDAP パスワード。

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

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

      また、ローカルグループマッピングをクロールするか、Azure Active Directory のグループマッピングをクロールするかを選択することもできます。

      注記

      AD グループマッピングのクローリングは、SharePoint アプリ専用認証にのみ使用できます。

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

      注記

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

    12. [次へ] を選択します。

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

    1. [同期の範囲] で、次のオプションから選択します。

      1. [エンティティの選択] - クロールするエンティティを選択します。[すべて] のエンティティをクロールするか、[ファイル][添付ファイル][リンク][ページ][イベント][リストデータ] を組み合わせてクロールするかを選択できます。

      2. [追加の設定][エンティティ正規表現パターン] - [リンク][ページ][イベント] に正規表現パターンを追加して、すべてのドキュメントを同期する代わりに特定のエンティティを含めます。

      3. [正規表現パターン] - すべてのドキュメントを同期する代わりに、[ファイルパス][ファイル名][ファイルタイプ][OneNote セクション名][OneNote ページ名] でファイルを含めたり除外したりする正規表現パターンを追加します。最大 100 個を追加できます。

        注記

        OneNote のクローリングは、SharePoint アプリ専用認証にのみ使用できます。

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

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

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

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

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

    4. [次へ] を選択します。

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

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

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

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

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

API

Amazon Kendra を SharePoint に接続するには

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

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

  • リポジトリエンドポイントメタデータ - SharePoint インスタンスの tenantID domainsiteUrls を指定します。

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

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

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

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

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

    注記

    ID クローラーは、crawlAcltrue に設定した場合にのみ使用できます。

  • リポジトリの追加プロパティ - 以下を指定します。

    • (Azure AD のみ) Azure AD の自己署名 X.509 証明書を保存するために使用した s3bucketNames3certificateName

    • 使用する認証タイプ (auth_Type) (OAuth2OAuth2AppOAuth2CertificateBasicOAuth2_RefreshTokenNTLMKerberos など)。

    • 使用するバージョン (version) (Server または Online)。Server を使用する場合、onPremVersion201320162019、または SubscriptionEdition としてさらに指定できます。

  • シークレット Amazon リソースネーム (ARN) - SharePoint アカウントで作成した認証情報を含む Secrets Manager シークレットの Amazon リソースネーム (ARN) を指定します。シークレットは JSON 構造で保存されます。

    SharePoint Online を使用している場合は、基本、OAuth 2.0、Azure AD アプリ専用、SharePoint アプリ専用の認証を選択できます。各認証オプションでシークレットに含める必要がある最小の JSON 構造を次に示します。

    • 基本認証

      { "userName": "SharePoint account user name", "password": "SharePoint account password" }
    • OAuth 2.0 認証

      { "clientId": "client id generated when registering SharePoint with Azure AD", "clientSecret": "client secret generated when registering SharePoint with Azure AD", "userName": "SharePoint account user name", "password": "SharePoint account password" }
    • Azure AD アプリ専用認証

      { "clientId": "client id generated when registering SharePoint with Azure AD", "privateKey": "private key to authorize connection with Azure AD" }
    • SharePoint アプリ専用認証

      { "clientId": "client id generated when registering SharePoint for App Only at Tenant Level", "clientSecret": "client secret generated when registering SharePoint for App Only at Tenant Level", "adClientId": "client id generated while registering SharePoint with Azure AD", "adClientSecret": "client secret generated while registering SharePoint with Azure AD" }
    • OAuth 2.0 更新トークン認証

      { "clientId": "client id generated when registering SharePoint with Azure AD", "clientSecret": "client secret generated when registering SharePoint with Azure AD", "refreshToken": "refresh token generated to connect to SharePoint" }

    SharePoint Server を使用している場合は、SharePoint アプリケーション専用認証、NTLM 認証、Kerberos 認証のいずれかを選択できます。各認証オプションでシークレットに含める必要がある最小の JSON 構造を次に示します。

    • SharePoint アプリ専用認証

      { "siteUrlsHash": "Hash representation of SharePoint site URLs", "clientId": "client id generated when registering SharePoint for App Only at Site Level", "clientSecret": "client secret generated when registering SharePoint for App Only at Site Level" }
    • IDP 認可からのドメインによる SharePoint アプリ専用認証

      { "siteUrlsHash": "Hash representation of SharePoint site URLs", "clientId": "client id generated when registering SharePoint for App Only at Site Level", "clientSecret": "client secret generated when registering SharePoint for App Only at Site Level", "ldapUrl": "LDAP Account url eg. ldap://example.com:389", "baseDn": "LDAP Account base dn eg. CN=Users,DC=sharepoint,DC=com", "ldapUser": "LDAP account user name", "ldapPassword": "LDAP account password" }
    • (サーバーのみ) NTLM または Kerberos 認証

      { "siteUrlsHash": "Hash representation of SharePoint site URLs", "userName": "SharePoint account user name", "password": "SharePoint account password" }
    • (サーバーのみ) IDP 認可からのドメインによる NTLM または Kerberos 認証

      { "siteUrlsHash": "Hash representation of SharePoint site URLs", "userName": "SharePoint account user name", "password": "SharePoint account password", "ldapUrl": "ldap://example.com:389", "baseDn": "CN=Users,DC=sharepoint,DC=com", "ldapUser": "LDAP account user name", "ldapPassword": "LDAP account password" }
  • [IAM ロール] - CreateDataSource を呼び出す際に RoleArn を指定して、Secrets Manager シークレットへのアクセス許可を IAM ロールに提供し、SharePoint コネクタと Amazon Kendra に必要なパブリック API を呼び出します。詳細については、「IAM roles for SharePoint data sources」を参照してください。

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

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

  • 包含フィルターと除外フィルター - 特定のファイル、OneNote、その他のコンテンツを含めるか除外するかを指定できます。

    注記

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

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

    注記

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

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

メモ

  • コネクタは [ファイル] エンティティのカスタムフィールドマッピングのみをサポートします。

  • SharePoint Server のすべてのバージョンで、ACL トークンは小文字にする必要があります。[IDP からのドメイン付き E メール ID] および [カスタムドメイン付き E メール ID] の場合 (例: user@sharepoint2019.com)。[ドメイン\ドメイン付きユーザー] ACL の場合 (例: sharepoint2013\user)。

  • アクセスコントロール (ACL) が有効になっている場合、SharePoint API の制限により、[新規または変更されたコンテンツのみを同期] オプションを使用することはできません。この同期モードを使用する必要がある場合は、代わりに「完全同期」または「新規、変更済み、または削除済みコンテンツ同期」モードを使用するか、ACL を無効にすることをお勧めします。

  • このコネクタは、SharePoint 2013 の変更ログモード/新規または変更されたコンテンツの同期をサポートしていません。

  • エンティティ名の名前に % 文字が含まれている場合、API の制限によりコネクタはこれらのファイルをスキップします。

  • OneNote をクロールできるのは、テナント ID を使用し、SharePoint Online で OAuth 2.0、OAuth 2.0 更新トークン、または SharePoint アプリケーション専用認証が有効になっているコネクタだけです。

  • コネクタは、ドキュメントの名前が変更された場合でも、OneNote ドキュメントの最初のセクションを既定の名前のみでクロールします。

  • コネクタは、SharePoint 2019、SharePoint Online、およびサブスクリプションエディションのリンクを、クロールするエンティティとして [リンク] に加えて [ページ][ファイル] が選択されている場合にのみクロールします。

  • クロールするエンティティとしてリンクが選択されている場合、コネクタは SharePoint 2013 と SharePoint 2016 の [リンク] をクロールします。

  • コネクタがリストの添付ファイルとコメントをクロールするのは、クロール対象のエンティティとして [リストデータ] も選択されている場合のみです。

  • コネクタがイベント添付ファイルをクロールするのは、クロール対象のエンティティとして [イベント] も選択されている場合のみです。

  • SharePoint Online バージョンの場合、ACL トークンは小文字になります。例えば、Azure ポータルの [ユーザープリンシパル名]MaryMajor@domain.com の場合、SharePoint コネクタの ACL トークンは marymajor@domain.com になります。

  • SharePoint Online および Server 用の [ID クローラー] では、ネストされたグループをクロールする場合、AD グループクローリングだけでなくローカルクローリングも有効にする必要があります。

  • SharePoint Online を使用していて、Azure ポータルのユーザープリンシパル名が大文字と小文字の組み合わせである場合、SharePoint API は内部的にこれを小文字に変換します。このため、Amazon Kendra SharePoint コネクタは ACL を小文字に設定します。