Box - Amazon Kendra

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Box

Box は、ファイルホスティング機能を提供するクラウドストレージサービスです。を使用してAmazon Kendra、コメント、タスク、ウェブリンクなど、Box コンテンツ内のコンテンツのインデックスを作成できます。

Amazon KendraコンソールBoxConfiguration API を使用して Box データソースAmazon Kendraに接続できます。

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

サポートされている機能

Amazon KendraBox データソースコネクタは、次の機能をサポートしています。

  • フィールドマッピング

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

  • 包含/除外フィルター

  • 変更ログ、完全および増分コンテンツ同期

  • Virtual Private Cloud (VPC)

前提条件

Amazon Kendraを使用して Box データソースのインデックスを作成する前に、Box とAWSアカウントでこれらの変更を行います。

Box で以下を確認してください。

  • Box Enterprise または Box Enterprise Plus アカウント。

  • JSON Web トークン (JWT) を使用したサーバー側認証で、Box 開発者コンソールで Box カスタムアプリを設定済み。詳細については、カスタムアプリの作成に関する Box ドキュメントJWT Auth の設定に関する Box ドキュメントを参照してください。

  • [アプリのアクセスレベル][アプリ + エンタープライズアクセス] に設定し、[as-user ヘッダーを使用して API 呼び出しを行えるようにします]

  • 管理者ユーザーを使用して、以下の[アプリケーションのスコープ] を Box アプリに追加しました。

    • Box に保存されているすべてのファイルとフォルダを書き込みます。

    • ユーザーの管理

    • グループの管理

    • エンタープライズプロパティの管理

  • クライアント ID、クライアントシークレット、パブリックキー ID、プライベートキー ID、パスフレーズ、認証情報として使用するエンタープライズ ID を含むパブリックキー/プライベートキーペアを設定済み。詳細については、「Public and private key pair」を参照してください。

    注記

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

  • Box Developer Console の設定または Box アプリから Box エンタープライズ ID をコピーしました。例えば、801234567 です。

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

でAWS アカウント、以下があることを確認します。

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

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

    注記

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

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

    注記

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

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

接続手順

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

Console

Box Amazon Kendraに接続するには

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

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

    注記

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

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

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

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

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

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

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

    4. タグで新しいタグを追加する - リソースを検索してフィルタリングしたり、AWSコストを追跡したりするためのオプションのタグを含めます。

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

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

    1. Box エンタープライズ ID - Box エンタープライズ ID を入力します。例えば、801234567 です。

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

    3. AWS Secrets Managersecret — 既存のシークレットを選択するか、新しいSecrets Managerシークレットを作成して Box 認証情報を保存します。新しいシークレットの作成を選択すると、[AWS Secrets Manager シークレット] ウィンドウが開きます。

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

      2. [クライアント ID][クライアントシークレット][パブリックキー ID][プライベートキー ID][パスフレーズ] - Box で設定したパブリックキー/プライベートキーの値を入力します。

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

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

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

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

      注記

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

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

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

    1. [Box のファイル] — ウェブリンク、コメント、タスクをクロールするかどうかを選択します。

    2. [追加設定] - 特定のコンテンツを含める、または除外するための正規表現パターンを追加します。

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

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

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

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

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

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

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

    1. デフォルトのデータソースフィールド — インデックスにマッピングするAmazon Kendra生成されたデフォルトのデータソースフィールドから選択します。

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

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

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

API

Box Amazon Kendraに接続するには

BoxConfiguration API を使用して以下を指定する必要があります。

[Box エンタープライズ ID] - Box エンタープライズ ID を入力します。エンタープライズ ID は、Box 開発者コンソールの設定で、または Box でアプリを設定するときに確認できます。

  • Secret Amazon Resource Name (ARN) — Box アカウントの認証情報を含む Secrets Managerシークレットの Amazon リソースネーム (ARN) を指定します。シークレットは、次のキーを含む JSON 構造に保存されます。

    { "clientID": "client-id", "clientSecret": "client-secret", "publicKeyID": "public-key-id", "privateKey": "private-key", "passphrase": "pass-phrase" }
  • IAMrole — を呼び出しCreateDataSourceて、Secrets Managerシークレットにアクセスするためのアクセス許可を IAMロールに提供し、Box コネクタと に必要なパブリック APIsを呼び出すRoleArnタイミングを指定しますAmazon Kendra。詳細については、「IAM roles for Box data sources」を参照してください。

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

  • [仮想プライベートクラウド (VPC)] - データソース設定の一部として VpcConfiguration を指定します。「VPC を使用するための Amazon Kendra の設定」を参照してください。

  • 変更ログ - インデックス内でドキュメントを更新する必要があるかどうかを判断するために、Amazon Kendra が Box データソースの変更ログメカニズムを使用するかどうか。

    注記

    Amazon Kendra にすべてのドキュメントをスキャンさせない場合は、変更ログを使用します。変更ログが大きい場合、変更ログを処理するよりも Box データソース内のドキュメントのスキャンにAmazon Kendra時間がかかる場合があります。Box データソースをインデックスに初めて同期する場合は、すべてのドキュメントがスキャンされます。

  • [コメント、タスク、ウェブリンク] — これらのタイプのコンテンツをクロールするかどうかを指定します。

    注記

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

  • [包含フィルターと除外フィルター] - Box の特定のファイルおよびフォルダを含める、または除外するように指定できます。

    注記

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

  • [ユーザーコンテキストのフィルタリングとアクセスコントロール] — ドキュメントの ACL がある場合は、Amazon Kendra がドキュメントのアクセスコントロールリスト (ACL) をクロールします。ACL 情報は、ユーザーまたはそのグループのドキュメントへのアクセスに基づいて、検索結果をフィルタリングするために使用されます。詳細については、「User context filtering」を参照してください。

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

    注記

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

詳細はこちら

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

注意事項

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