Amazon Web Services ブログ

Amazon FSx for Windows File Server 用の Amazon Kendra コネクタ を使用して Windows ファイルシステム上の非構造化データを安全に検索

重要な情報は Amazon FSx for Windows File Server 上に保存された Windows ファイルシステムなどのソースを含め、組織内の複数のデータソースに散在している可能性があります。FSx for Windows File Server 用の Amazon Kendra コネクタを使用して、FSx for Windows File Server 上の Windows ファイルシステムに保存されているドキュメント (HTML、PDF、MS Word、MS PowerPoint、およびプレーンテキスト) にインデックスを付け、Amazon Kendra のインテリジェント検索を使用してこれらのコンテンツ全体の情報を検索できるようになりました。

組織は、共有 Windows ファイルシステム上のファイルに非構造化データを保存し、Windows アクセスコントロールリスト (ACL) を使用して、企業の Active Directory (AD) ドメインで設定されたアクセス権限に従って、ユーザーがファイルを読み取り、書き込み、作成できるようにすることで、それを保護します。このデータから特定の情報を見つけるには、ファイルを検索するだけでなく、ユーザーにアクセス権限があることを確認する必要があります。FSx for Windows File Server 用の Amazon Kendra コネクタは、FSx for Windows File Server に保存されたファイルにインデックスを付け、Amazon Kendra インデックスに ACL を取り込むことで、ユーザーによる検索クエリのレスポンスに、そのユーザーが読むことを許可されたドキュメントからの結果のみが含まれるようにします。

この投稿では、FSx for Windows File Server で ACL を使用してファイルシステムにセキュアに保存された一連のドキュメントを例にしています。これらのドキュメントは、コネクタを使用してこのファイルシステムをインデックスのデータソースとして構成および同期することで、Amazon Kendra インデックスに取り込まれます。そして、ユーザが検索クエリを実行すると、Amazon Kendra インデックスは、ユーザが所属するユーザ名とグループに基づいた ACL を使用し、ユーザがアクセスすることを許可されたドキュメントのみを返すことを実証します。また、設定の詳細と各段階のスクリーンショットが含まれているため、Amazon Kendra コネクタ for FSx for Windows File Server をセットアップする際の参考資料としてご利用ください。

前提条件

Amazon Kendra コネクタ for FSx for Windows File Server を試すには、以下が必要です:

ソリューション・アーキテクチャ

次の図は、ソリューション・アーキテクチャを示しています:

この例のドキュメントは、 FSx for Windows File Server (図中の4) 上のファイルシステム (3) に保存されています。ファイルは、FSx for Windows File Server が属する AWS Directory Service (1) を使用して作成された AD ドメインのユーザーとグループの構成に基づいて、ACL で設定されています。この FSx for Windows File Server 上のファイルシステムは、Amazon Kendra (5) のデータソースとして設定されます。AWS Single Sign On (AWS SSO) は、AD をアイデンティティソースとして有効化され、Amazon Kendra インデックスは、顧客の検索ソリューションデプロイメント (6) からの検索クエリのユーザーコンテキストのユーザー名とグループ検索に AWS SSO (2) を使用するように設定されている。この例で設定された FSx for Windows File Server ファイルシステム、AWS Managed Microsoft AD サーバー、Amazon Virtual Private Cloud (Amazon VPC)、およびサブネットは、FSx for Windows File Server のクイックスタート を使用して作成されます。

FSx for Windows File Server の設定

次のスクリーンショットは、FSx for Windows File Server 上のファイルシステムが、Amazon FSx のコンソールで見たように、この例で使用されている AWS Managed Microsoft AD ドメインの一部として設定されていることを示しています。

AWS Managed Microsoft AD の設定

FSx for Windows File Server が属する AD は、以下の Directory Service コンソールのスクリーンショットのように、AWS Managed Microsoft AD として設定されています。

サンプルデータセットのユーザー、グループ、ACL 設定

この投稿では、いくつかの AWS 公開ホワイトペーパーからなるデータセットを使用し、FSx for Windows File Server 上のファイルシステム上のカテゴリ (Best_PracticesDatabasesGeneralMachine_LearningSecurityWell_Architected) に基づいたディレクトリに格納しました。以下のスクリーンショットは、ファイルシステムが属する AD ドメインの一部である Windows bastion ホストから見たフォルダを示している。

ユーザーとグループは AD ドメインで以下のように設定されています:

  • kadmingroup_kadmin
  • patriciagroup_sagroup_kauthenticated
  • jamesgroup_db_sagroup_kauthenticated
  • johngroup_ml_sagroup_kauthenticated
  • mary、julie、tomgroup_kauthenticated

次のスクリーンショットは、AWS Managed Microsoft AD ドメインに設定されたユーザーとグループを、Windows bastion ホストから見たものです。

各ディレクトリのファイルの ACL は、FSx for Windows File Server が属する AD ドメインのユーザーとグループの構成に基づいて設定されます:

  • すべての認証済みユーザー (group_kauthenticated)Best_PracticesGeneral ディレクトリのドキュメントにアクセス可能
  • ソリューションアーキテクト (group_sa)Best_PracticesGeneralSecurity、および Well_Architected ディレクトリのドキュメントにアクセス可能
  • データベース分野の専門ソリューションアーキテクト (group_db_sa)Best_PracticesGeneralSecurityWell_ArchitectedDatabase ディレクトリのドキュメントにアクセス可能
  • 機械学習分野の専門ソリューションアーキテクト (group_ml_sa)Best_PracticesGeneralSecurityWell_ArchitectedMachine_Learning の各ディレクトリにアクセス可能
  • 管理者 (group_kadmin) – 6つのディレクトリのいずれのドキュメントにもアクセス可能

以下のスクリーンショットは、Windows bastion ホストから見た、サンプルデータの各ディレクトリの ACL 構成を示している。

AWS Single Sign-On の設定

AWS SSO は、AD ドメインを ID ソースとして構成されています。以下のスクリーンショットは AWS SSO コンソールでの設定です。

以下のスクリーンショットのように、AD から AWS SSO でグループが同期されます。

以下のスクリーンショットは、AD から同期された group_kauthenticated グループのメンバーを示しています。

Amazon Kendra コネクタ for FSx for Windows File Server を使用したデータソースの設定

Amazon Kendra コンソール上の Amazon Kendra インデックスに、Amazon Kendra コネクタ for FSx for Windows File Server を使用してデータソースを構成します。新しい Amazon Kendra インデックスを作成することも、既存のインデックスを使用して新しいデータソースを追加することもできます。

Amazon Kendra インデックスにデータソースを追加する場合、Amazon FSx の下の Add connector を選択して FSx for Windows File Server コネクタを選択します。

データソース名とリソースタグを追加する手順は、以下のスクリーンショットに示すように、他のデータソースの追加と同様です。

Amazon FSx 上の特定のファイルシステムとファイルシステムのタイプ (この場合は FSx for Windows File Server) を構成するための詳細は、Source セクションで構成されます。ファイルシステムの管理者権限を持つユーザーの認証情報は、AWS Secrets Manager のシークレットを使用して構成されます。

データソース設定の VPC とセキュリティグループの設定には、Amazon FSx と AD サーバーの VPC、サブネット、セキュリティグループの詳細が含まれます。次のスクリーンショットでは、データソース用に新しい IAM ロールも作成しています。

データソース構成の次のステップでは、Amazon FSx コネクタフィールドを Amazon Kendra ファセットまたはフィールド名にマッピングします。次のスクリーンショットでは、設定を変更しないままにしています。この後のステップでは、設定を確認し、データソースを作成することを確認します。

サンプルデータがデータソースとして保存されている FSx for Windows File Server 上のファイルシステムを構成した後、このデータソースに対してカスタムドキュメントエンリッチメント (CDE) の基本操作を構成し、ドキュメントが保存されているディレクトリに基づいて Amazon Kendra インデックス filed_category が構成されるようにします。データソースの同期は CDE 構成の後に開始され、取り込みワークフロー中にドキュメントの _category 属性が構成されるようにします。

次のスクリーンショットに示すように、Amazon Kendra インデックスのユーザーアクセスコントロール設定は、AWS SSO 統合を通じてユーザーとグループを検索するために構成されています。Amazon Kendra Search コンソールからユーザー名とグループ名に基づいて検索するために、JSONトークンベースのユーザーアクセスコントロールが有効になっています。

Amazon Kendra インデックスのファセット定義で、_category に facetable と displayable のボックスがチェックされていることを確認します。これにより、CDE の基本操作で設定された _category の値を検索時にファセットとして使用することができます。

Amazon Kendraでの検索

データソースの同期が完了したら、Amazon Kendra コンソールのナビゲーションペインで Search indexed content を選択して、Amazon Kendra Search コンソールから検索を開始します。今回は Amazon Kendra のインデックスに取り込むデータセットとして AWS のホワイトペーパーを使用しているため、検索クエリとして “What’s DynamoDB? ” を使用しています。FSx for Windows File Server 上のファイルシステム上のファイルへのアクセスは、認証されたユーザにのみ許可されているため、ユーザ名やグループを設定せずにこの検索クエリを使用すると、結果が得られません。

まず、ユーザ名を mary@kendra-01.com に設定しましょう。ユーザ marygroup_kauthenticated に属しているので、Best_Practices ディレクトリと General ディレクトリのドキュメントにアクセスする権限があります。以下のスクリーンショットでは、検索応答にファセット categoryBest PracticesGeneral に設定された文書が含まれています。CDE の基本操作は、source_uri に含まれるディレクトリ名に応じてファセット category を設定します。これにより、FSx for Windows File Server 用のコネクタによって Amazon Kendra に取り込まれた ACL が、ユーザー名に基づいた検索結果で実施されていることが確認できます。

ここで、ユーザー名を patricia@kendra-01.comに変更します。ユーザー patriciagroup_sa に属し、 Best_PracticesGeneral ディレクトリに加えて、SecurityWell_Architected ディレクトリにアクセスできます。検索応答には、これらの追加ディレクトリからの結果が含まれます。

次のスクリーンショットで、ユーザ名を james@kendra-01.comjohn@kendra-01.comkadmin@kendra-01.com に変更すると、検索応答の結果がどのように変化するかを観察できます。

クリーンアップ

Amazon Kendra コネクタ for FSx for Windows File Server を試すために AWS インフラストラクチャをデプロイした場合は、以下のようにインフラストラクチャをクリーンアップします:

  1. FSx for Windows File Server のクイックスタート を使用した場合は、作成した AWS CloudFormation スタックを削除し、作成したリソースをすべて削除します。
  2. 新しい Amazon Kendra インデックスを作成した場合は、そのインデックスを削除します。
  3. コネクタを使用して新しいデータソースを追加しただけの場合は、そのデータソースを削除します。
  4. AWS SSO 設定を削除します。

結論

Amazon Kendra コネクタ for FSx for Windows File Server は、非構造化コンテンツに散在する情報のセキュアでインテリジェントな検索を可能にします。データは、ACL を使用して FSx Windows File Server 上のファイルシステムに安全に保存され、Microsoft AD ドメイン資格情報に基づいてユーザーと共有されます。

Amazon Kendra コネクタ for FSx for Windows File Server の詳細については、Amazon FSx データソース (コンソール) を使い始めるAmazon FSx でデータソースを使用する を参照してください。

カスタムドキュメントエンリッチメントについては、取り込みプロセスでドキュメントのメタデータをカスタマイズ と、Amazon Kendra のカスタムドキュメントエンリッチメントによってコンテンツとメタデータを充実させて検索体験を向上させる を参照してください。

この記事の翻訳はソリューションアーキテクトの林 航平が担当しました。原文はこちらです。


著者について

Abhinav Jawadekar は Amazon Web Services のシニアパートナーソリューションーキテクトです。AWS パートナーのクラウド・ジャーニーを支援しています。