Question#3(AI-102)
社内ドキュメントを対象とした Azure AI Search (旧 Azure Cognitive Search) を使用するアプリケーションを開発しています。 ドキュメントレベルのフィルタリング(アクセス制御)を実装する必要があります。 ソリューションに含めるべき 3 つのアクションはどれですか?(各正解はソリューションの一部を構成します)
正解:C, D, E
Azure AI Search 自体には、「誰がどのファイルを見てよいか」というファイル単位の権限(ACL)を自動で判別する機能はありません。そのため、「セキュリティ フィルタリング」という手法を自分で構築する必要があります。 その標準的なステップが以下の 3 つです。1. インデックスに権限情報を埋め込む (選択肢 D)
まず、検索対象となる各ドキュメント(インデックスのエントリ)に、「どのグループのユーザーならこれを見ていいか」という情報を保持するフィールド(例:allowed_groups)を作成します。
2. ユーザーの所属情報を取得する (選択肢 C)
ユーザーがアプリにログインした際、そのユーザーがどのセキュリティグループ(Azure AD 等)に属しているかのリストを取得します。3. 検索時にフィルターをかける (選択肢 E)
検索リクエストを投げる際、手順 2 で取得した「ユーザーの所属グループ」を$filter パラメータに含めます。 具体的には、「allowed_groups フィールドに、ユーザーが所属しているグループ ID が含まれているものだけを表示せよ」というクエリを発行します。 
コメント