Amazon Web Services ブログ

Amazon Kendra Box Connector を始める

Amazon Kendra は、機械学習 (ML) を利用した、非常に正確で使いやすいインテリジェントな検索サービスです。Amazon Kendra には、コンテンツの保存場所に関係なく、コンテンツの取り込みとインデックス作成のプロセスを簡素化するための一連のデータソースコネクタが用意されています。

多くの組織にとって、Box Content Cloudはコンテンツストレージとライフサイクル管理戦略の中核を成しています。エンタープライズ Box アカウントには、文書、プレゼンテーション、ナレッジ記事など、多くの資産が保管されていることがよくあります。Box 用の新しい Amazon Kendra データソースコネクタにより、これらのアセットと関連するタスクやコメントを Amazon Kendra のインテリジェント検索サービスでインデックス化して、コンテンツを表示し、ユーザーのクエリに応じて回答を得ることができます。

この記事では、新しい Amazon Kendra Box コネクタを設定して、Box Enterprise リポジトリからコンテンツを選択的にインデックスする方法を紹介します。

ソリューション概要

このソリューションは、次の大まかな手順で構成されています。

  1. Box 開発者コンソールを使用して Amazon Kendra 用の Box アプリを作成します。
  2. Box アカウントにサンプルドキュメントを追加します。
  3. Amazon Kendra コンソールを使用して Box データソースを作成します。
  4. Box アカウントからサンプルドキュメントにインデックスを付けます。

前提条件

Box 用の Amazon Kendra コネクタを試すには、次のものが必要です。

Amazon Kendra用の Box アプリを作成する

Amazon Kendra Box データソースコネクタを設定する前に、まず Box アプリを作成する必要があります。

  1. Box エンタープライズ開発者コンソールにログインします。
  2. Create New App を選択します。
  3. Custom App を選択します。
  4. Server Authentication (with JWT) を選択します。
  5. アプリの名前を入力します。例:KendraConnector
  6. Create App を選択します。
  7. My Apps で作成したアプリで、Configuration タブを選択します。
  8. App Access Level セクションで、App + Enterprise Access を選択します。
  9. Application Scopes セクションで、次の権限が有効になっていることを確認します。
    1. Write all files and folders stored in a Box
    2. Manage users
    3. Manage groups
    4. Manage enterprise properties
  10. Advanced Features セクションで、Make API calls using the as-user header を選択します。
  11. Add and Manage Public Keys セクションで、Generate a Public/Private Keypair を選択します。
    1. これには 2 段階認証が必要です。JSON テキストファイルがコンピューターにダウンロードされます。
  12. OK を選択して、このダウンロードを受け入れます。
  13. Save Changes を選択します。
  14. Authorization タブで、Review and Submit を選択します。
  15. Submit app within this enterprise を選択し、Submit を選択します。

アプリを使用する前に、Box Enterpriseの所有者がアプリを承認する必要があります。

パソコンのダウンロードディレクトリに移動して、ダウンロードした JSON ファイルを確認します。クライアント ID、クライアントシークレット、公開キー ID、プライベートキー、パスフレーズ、エンタープライズ ID が含まれます。これらの値は、後のステップで Box データソースを作成する際に必要です。

Box アカウントにサンプルドキュメントを追加

このステップでは、サンプルドキュメントを Box アカウントにアップロードします。後で、Amazon Kendra Box データソースを使用してこれらのドキュメントをクローリングし、インデックスを作成します。

  1. AWS_Whitepapers.zip をコンピューターにダウンロードします。
  2. ファイルを AWS_Whitepapers という名前のフォルダーに展開します。
  3. AWS_Whitepapers フォルダーを Box アカウントにアップロードします。

Box データソースの作成

Box コネクタを使用して Amazon Kendra インデックスにデータソースを追加するには、既存の Amazon Kendra インデックスを使用するか、新しい Amazon Kendra インデックスを作成します。次に、以下の手順を実行して Box データソースを作成します。

  1. Amazon Kendra コンソールのナビゲーションペインで Indexes を選択します。
  2. インデックスのリストから、データソースを追加するインデックスを選択します。
  3. Add data sources を選択します。
  4. データソースコネクタのリストから、Box の下の Add connector を選択します。
  5. Specify data source details ページで、データソース名とオプションの説明を入力します。
  6. Next を選択します。
  7. Box 開発者コンソールからダウンロードした JSON ファイルを開きます。
    1. これには、clientID, clientSecret, publicKeyID, privateKey, passphrase, enterpriseID の値が含まれます。
  8. Define access and security ページの Source セクションの Box enterprise ID に、enterpriseID フィールドの値を入力します。
  9. Authentication セクションの AWS Secrets Manager secret で、Create and add a new secret を選択します。
  10. Secret name に、シークレットの名前 を入力します。例:boxsecret1
  11. 残りのフィールドには、ダウンロードした JSON ファイルから対応する値を入力します。
  12. Save and add secret を選択します。
  13. IAM role セクションで、Create a new role (Recommended) を選択し、ロール名を入力します。例:box-role
    1. IAM ロールに含める必要がある権限の詳細については、「データソースの IAM ロール」を参照してください。
  14. Next を選択します。
  15. Configure sync settings ページの Sync scope セクションでは、ファイルの内容に加えて、Box Webリンク、コメント、タスクをインデックスに含めることができます。この投稿ではデフォルト設定 (チェックなし) を使用します。
  16. Additional configuration (change log) – optional は、デフォルト設定 (チェックなし) を使用します。
  17. Additional configuration (change log) – optional は、Include patterns を選択します。
  18. Type は、Path を選択します
  19. Path – optional は、以前にアップロードしたサンプルドキュメントへのパス AWS_Whitepapers/ を入力します。
  20. Add を選択します。
  21. Sync run schedule セクションで、Run on demand を選択します。
  22. Next を選択します。
  23. Set fields mapping の設定ページでは、データソースが Box オブジェクトの属性をインデックスにマッピングする方法を定義できます。この投稿ではデフォルト設定を使用します。
  24. Next を選択します。
  25. Review and create ページで、Box データソースの詳細を確認します。
  26. 変更するには、変更する項目の横にある Edit ボタンを選択します。
  27. 完了したら、Add data source を選択して Box データソースを追加します。

Add data source を選択すると、Amazon Kendra はデータソースの作成を開始します。データソースが作成されるまでに数分かかることがあります。完了すると、データソースのステータスが Creating から Active に変わります。

Box アカウントのサンプルドキュメントにインデックスを付ける

データソース同期の実行スケジュールをオンデマンドで実行するように構成したため、手動で開始する必要があります。

  1. Amazon Kendra コンソールで、インデックスに移動します。
  2. 新しいデータソースを選択してください。
  3. Sync now を選択します。

現在の同期状態が Syncing – crawling に変わり、次に Syncing – indexing に変わります。

約 10 分後、現在の同期状態が idle になり、最後の同期ステータスが Successful に変わり、Sync run history パネルには、追加されたドキュメントの数などの詳細が表示されます。

ソリューションをテスト

これで、Box アカウントの AWS ホワイトペーパーを Amazon Kendra インデックスに取り込んだので、いくつかのクエリをテストできます。

  1. Amazon Kendra コンソールのナビゲーションペインで Search indexed content を選択します。
  2. クエリフィールドに、What databases are offered by AWS? (AWS はどのようなデータベースを提供していますか?) などのテストクエリを入力します。
    1. 独自のクエリを試すこともできます。

おめでとうございます!Amazon Kendra をうまく利用して、Box アカウントからインデックスされたコンテンツに基づいて回答や洞察を得ることができました。

クリーンアップ

将来のコストが発生しないように、このソリューションの一部として作成したリソースをクリーンアップしてください。

  1. このソリューションのテスト中に新しい Amazon Kendra インデックスを作成した場合は、それを削除してください。
  2. Box の Amazon Kendra コネクタを使用して新しいデータソースを追加した場合は、そのデータソースを削除します。
  3. AWS_Whitepapers フォルダとその内容を Box アカウントから削除します。

まとめ

Amazon Kendra Box コネクタを使用すると、組織は Amazon Kendra によるインテリジェント検索を使用して、Box アカウントに閉じ込められた貴重な情報をユーザーが安全に利用できるようにすることができます。

この投稿では基本を紹介しましたが、他にも説明しなかった機能がたくさんあります。例えば:

  • Amazon Kendra インデックスのユーザーベースのアクセス制御を有効にし、Box ですでに設定したアクセス制御に基づいて Box ドキュメントへのアクセスを制限できます。
  • タスク、コメント、ウェブリンクなど、その他の Box オブジェクトタイプにインデックスを付けることができます。
  • Box オブジェクト属性を Amazon Kendra インデックス属性にマッピングし、ファセット、検索、検索結果での表示を有効にすることができます。
  • Box データソースを Amazon Kendra のカスタムドキュメントエンリッチメント (CDE) 機能と統合して、追加の属性マッピングロジックを実行したり、取り込み中にカスタムコンテンツ変換を実行したりすることができます。

これらの可能性やその他の詳細については、Amazon Kendra 開発者ガイドを参照してください。


この記事の著者について

Bob Strahan は、AWS 言語 AI サービスチームの Principal Solutions Architect です。

 

 

 

この記事は Bob Strahan によって投稿された Getting started with the Amazon Kendra Box connector(記事公開日:2022 年 4 月 8 日)を翻訳したものです。
翻訳はソリューションアーキテクトの 長谷川 大 が担当しました。