1. システムとオフィスの融合
  2. media
  3. Power Apps Power Platform Azure Azure Cognitive Search Azure Cognitive Services
  4. Azure AI Search (旧称 "Azure Cognitive Search")で権限制御してみた

QESブログ

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

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

※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その他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。

 

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

お気軽にお問い合わせください。

ページのトップへ