FessがMicrosoft 365製品をクロールする際の認証方法として、【第30回】Azure ADでの認証方法を紹介しました。現在は「Azure Active Directory(Azure AD)」が「Microsoft Entra ID」へ名称変更され、ポータル画面や設定手順も一部更新されています。また、FessがMicrosoft 365のリソースにアクセスする際に利用するAPIアクセス許可の種類も変更されました。
本稿では、最新のMicrosoft Entra ID環境を用いたFessの認証設定手順を解説します。使用バージョンはFess 15.3.2です。なお、FessサーバおよびMicrosoft Entra ID環境の構築手順については本稿では扱いません。あらかじめ環境を準備したうえで、以下の設定を進めてください。
認証用アプリの作成
まず、Azure Portalで、認証用のアプリを登録します。Azure Portalにログインして「Microsoft Entra ID」をクリックします。左メニュー「管理」→「アプリの登録」をクリックし、上部に表示されている「新規登録」をクリックします。
アプリケーションの登録画面で以下を入力・選択して「登録」をクリックします。
| 項目 | 説明 |
|---|---|
| 名前 | 任意の名前 |
| サポートされているアカウントの種類 | 「この組織ディレクトリのみに含まれるアカウント」を選択 |
| プラットフォームの選択 | 「Web」を選択 |
| リダイレクト URI | https://[Fessサーバーのドメイン名]/sso/ |
左側に表示されている「証明書とシークレット」→「新しいクライアントシークレット」をクリックします。
「説明」への入力は任意ですが、ここではアプリと同じ名前を入れておきます。「有効期限」を選択して「追加」をクリックします。
追加された行の値をコピーしておきます。このキーの値は再度表示されないため、別画面に遷移する前に記録しておいてください。この値はFessでの認証設定で使用します。
次に左側に表示されている「APIのアクセス許可」をクリックし、「アクセス許可の追加」をクリックします。
APIは「Microsoft Graph」を選択します。
アプリケーションに必要なアクセス許可の種類として「委任されたアクセス許可」をクリックします。「Group.Read.All」を検索し、チェックを入れたら「アクセス許可の追加」をクリックします。
APIのアクセス許可画面に戻ったら「xxxxに管理者の同意を与えます」をクリックします。確認ダイアログ画面が表示されるので「はい」をクリックしてください。
認証用アプリのクライアントID
次に認証用アプリのクライアントIDを確認します。左側に表示されている「概要」をクリックし、「アプリケーション(クライアント)ID」を確認してください。このアプリケーションIDはFessでの認証設定で使用しますので控えておいてください。
Fessでの認証設定
続いて、Fessで認証設定を行います。Fessの「app/WEB-INF/conf/system.properties」を開いて、以下の内容を追加して保存します。
aad.tenant=[テナント名].onmicrosoft.com
aad.client.id=認証用アプリのクライアントID
aad.client.secret=認証用アプリのクライアントシークレットの値
aad.reply.url=認証用アプリ作成時に指定した「リダイレクト URI」
sso.type=aad
Fessへのアクセス
「リダイレクト URI」として指定したURLで検索画面にアクセスします。Microsoftのサインイン画面が表示されるので、Microsoft Entra IDに登録されているアカウントでサインインします。
検索画面の右上にサインインした際のアドレスが表示されていれば、認証成功です。
* * *
今回は、Microsoft Entra IDを利用したFessの認証設定手順を紹介しました。Azure AD時代と比べて大きく変わっていませんが、アクセス許可の扱いが更新されている点に注意が必要です。
Microsoft Entra IDを利用することで、Microsoft 365のユーザー情報やアクセス権限を活用し、組織内のセキュリティポリシーに沿った安全な検索環境を実現できます。Microsoft 365環境でFessを活用する際は、ぜひ今回の手順を参考に設定してみてください。











