1. 主要ページへ移動
  2. メニューへ移動
  3. ページ下へ移動

QES ブログ

記事公開日

最終更新日

Azure AI Search (旧称 "Azure Cognitive Search")で権限制御してみた

  • このエントリーをはてなブックマークに追加

※2024/1/10 Azure Cognitive Searchの言葉のみAzure AI Searchへと変更しております。
 そのため、画像や機能の一部は当時のままの表記となりますのでご注意ください。

はじめに

ドキュメントやファイルの検索を行う際は、利用者の権限に応じて結果を出し分けすることが一般的です。
「Azure AI Search」を用いた検索では、インデックスに登録したドキュメントをそのまま検索すると
すべてのデータを閲覧出来てしまいます。
今回は、「Azure AI Search」で権限が制御出来るのかを検証してみたいと思います。

 

※「Azure AI Search」については以下でも投稿していますので是非ご覧ください。
・Azure AI Search を使用して検索アプリを作成してみた
 
・Azure AI Search を使用して個人情報が含まれるファイルを検出してみた

「Azure AI Search」での権限制御について

「Azure AI Search」では検索結果に権限を設定する場合、
検索対象のインデックスにセキュリティ用のフィールドをメタデータとして設ける必要があります。
このフィールドを利用することで、ユーザー毎に検索結果に表示する/表示しないを出し分けることが可能となります。
 
具体的には以下2点の対応が必要となります。
 ・セキュリティ用のフィールドに権限を設定する
 ・検索時にセキュリティ用のフィールドでフィルタリングする


cog_sec_03.png

上記の図では3つのドキュメントのうち1つを機密データとして扱う場合のイメージを表しています。
ドキュメント③の"Confidential"フィールドに機密データであることを示すフラグを立てておくことで
このドキュメントだけ表示しないように検索クエリを実行することが可能となります。 

実際に動かしてみた

Azure AI Search」を用いて実際のアプリで権限制御してみました。
インデックスに取り込んだデータを検索するアプリを作成し、一般ユーザーと管理者ユーザーそれぞれで画面を表示しました。

■一般ユーザー
cog_sec_02.png

■管理者ユーザー
cog_sec_01.png

 

管理者ユーザーでは通常、機密ドキュメントの両方が表示されていますが、
一般ユーザーはクエリを調整して機密ドキュメントが表示されないようにしています。
インデックス作成時に機密ドキュメントのフィールドに値を入れておくことで上記の出し分けを行っています。

まとめ

ここまでで、「Azure AI Search」を使用した検索で権限制御を行うことが出来ました。
実際の業務で検索を提供する場合、権限制御が必要不可欠かと思います。
Azure AI Search」ではドキュメントごとに権限制御を設計する必要があり、
インデックスと検索クエリの動作も考慮する必要があることが今回の検証で分かりました。

 

もし、本件につきまして興味を持たれましたらご支援等させていただきますので、
是非、以下の「お問い合わせフォーム」から気軽にお問合せください!
QESでは、Microsoft製品やAWS製品に関するソリューションに取り組んでおります。
他プロダクトに関するブログも投稿しておりますので、下記のリンクから是非ご覧ください。

 

また、QESでは採用活動を強化しております。
ブログを読んで弊社の業務内容に興味を持っていただけましたら、採用情報にもお目通しいただければ幸いです。
※このブログで参照されている、Microsoft、Windows、Azure、SharePoint、PowerAppsその他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。

 

  • このエントリーをはてなブックマークに追加

お問い合わせ

Contact

ご質問やご相談、サービスに関する詳細など、何でもお気軽にご連絡ください。下記のお問い合わせフォームよりお気軽に送信ください。

お問い合わせ

資料ダウンロード

Download

当社のサービスに関する詳細情報を掲載した資料を、下記のページよりダウンロードいただけます。より深く理解していただける内容となっております。ぜひご活用ください。

資料ダウンロード