Microsoft 365とのユーザーアカウント連携 (先進認証)
MailStoreユーザー情報は手動で追加する他に、Microsoft 365 のテナントから同期する事ができます。
同期中、ユーザーデータとメールアドレスがMicrosoft 365のテナントから、MailStoreのユーザーデータベースへ格納されます。その後ユーザーはMicrosoft 365のログイン情報を使ってMailStoreへもログインできるようになります。MailStoreはMicrosoft 365に対する変更は行いません。同期の対象はフィルタを使って制限する事もできます。
前提条件、推奨設定、制限事項
- 利便性のため、MailStore Serverの証明書は認証局が発行する公式なものを使う事をお勧めします。第3者機関の認証局や、Let’s Encryptの証明書を推奨します。
- MailStore Serverへ、外部ネットワークからログインする場合は、このページで設定するURIがインターネット側のDNSで名前解決されていて、MailStore Serverがインストールされた端末へ、ファイアウォールやルーター側でポートフォワードしておく必要があります。
- ログイン時にMicrosoft 365で認証するよう設定している場合、メーラー内でMailStore IMAPサーバーでのアーカイブアクセスは技術的に行う事ができません。
- MailStore ServerはMicrosoft 365 (先進認証)でのユーザーアカウント同期に対応していますが、一部地域では利用できない場合があります。(日本での利用にあたって問題はございません。)
MailStore Server と Microsoft 365への接続
Microsoft 365からユーザー情報を同期するためには、MailStore ServerがMicrosoft 365のテナントに接続され、必要な権限が付与されている必要があります。Microsoft 365 は、Azure ADをディレクトリサービスとして使用します。 Microsoft 365 用のAzure ADテナントには、ユーザー情報が格納されています。
MailStore ServerをAzure ADのAppとして登録
アプリとしてMailStore Serverを登録する事で、Azure ADのテナントサービスへの認証やリソースの利用ができるようになります。
- Microsoft 365テナントの全体管理者権限で Azure Portal へサインインします。
- ナビゲーションメニュー (☰)で、Azure Active Directoryを選択します。
- 次のページで、左のナビゲーションメニューから、「アプリの登録」を選択します。
- 新規登録を選択すると、アプリの登録ページが表示されます。
- 名前は任意の名前 (例: MailStore Server)を入力します。これは後にログイン画面で表示されます。
- 他の設定はデフォルトのままで構いません。
- 登録をクリックすると、概要ページへ切り替わります。
アプリケーション (クライアント) ID が表示されているので、これをコピーしておきます。ディレクトリ(テナント)IDも同様にコピーしておきます。概要ページをウェブブラウザで開いたまま、次の操作へ進んで下さい。
MailStore Serverで認証情報の作成
Microsoft 365の認証情報には前述のIDとシークレット情報が含まれ、この情報でMailStore Serverが正規のアプリである事を証明できます。Microsoftではシークレット情報に証明書を使用する事を推奨しています。MailStore Serverで生成した証明書を使った認証情報を後に変更する事もできます。
- MailStore Client へ MailStore Serverの管理者でログインします。
- 管理ツール > ユーザーとアーカイブ > ディレクトリサービスへ進みます。
- ディレクトリサービスのタイプをMicrosoft 365 (Modern Authentication)に変更します。
- 接続の下の、認証情報のドロップダウンリストの隣にあるボタン (…) をクリックします。
- 認証情報マネージャが起動します。作成をクリックします。
- Azure AD アプリの資格情報 ダイアログへ、次の情報を入力します。
- 名前
分かりやすい名前を入力します。例)Microsoft 365テナント名 - アプリケーション ID
Azure アプリケーションの概要ページからコピーした情報を入力します。
- ディレクトリ ID
Azure アプリケーションの概要ページからコピーした情報を入力します。
- 名前
- 認証の下の、証明書の隣のボタンをクリックし、証明書のダウンロードを選択します。証明書をハードディスクへ保存してください。
- OKをクリックします。
- 認証情報マネージャへ追加した認証情報が表示されます。必要に応じて、ここから認証情報の編集や削除も行えます。
- 閉じる、をクリックし、認証情報マネージャを終了します。
- 新しく作成した認証情報をドロップダウンから選択します。
Azure ADで認証情報の公開
MailStore Serverの検証を行うのに、Azure ADにて作成した証明書を公開する必要があります。
- ウェブブラウザのAzure AD アプリケーション概要ページへ戻ります。
- 管理セクションの中の証明書とシークレットを選択します。
- 証明書の下の、証明書をアップロードをクリックします。先ほど保存した証明書を選択し、追加をクリックします。
- アップロードに成功すると、証明書の署名と開始日、有効期日が表示されます。アップロードされた証明書が正しいものかどうかを確認するのに、ここで表示されている署名と日付がMailStoreの認証情報マネージャで表示されているものと同じかどうかを見比べて頂く事もできます。
Azure ADでのアプリケーション認証の設定
Azure AD がMailStore Serverからの認証リクエストに対して応答を返すために、レスポンス用のエンドポイントが必要です。このエンドポイントの事を、リダイレクトURIといい、この設定をAzure ADにて行う必要があります。
- 管理者権限で、Azure Portalへログインします。
- [Azure Active Directory]の[アプリケーション]以下へ、作成したアプリケーションが表示されています。これをクリックします。
- アプリケーションページのナビゲーション メニューの [管理] セクションにある [認証] を選択します。
- [認証] ページの [プラットフォーム] セクションで [プラットフォームを追加] ボタンをクリックします。
- 「プラットフォームを追加」より「Web」を選択します。
- [Webの構成]画面へ進みます。下記の通り必要な情報を入力します。
[Redirect URI]
https://[ホスト名+ドメイン名][:ポート番号]/oidc/signin
[ホスト名+ドメイン名]と、[:ポート番号]の箇所は括弧は入れず、実際の情報へ置き換えて下さい。
- https:// https:// プロトコルを指定することが義務付けられています。ユーザーログオン時に証明書の警告が出るのを防ぐため、クライアントマシンのウェブブラウザはMailStore Serverが使用する証明書を信頼しなければなりません。
- ホスト名+ドメイン名 MailStoreサーバの完全修飾ドメイン名(FQDN)を指定します。例:mailstore.example.com。この名前は、ユーザーがMailStore Serverにログオンすることができるすべてのクライアントで解決可能でなければなりません。
- ポート番号 MailStoreウェブアクセスのTCPポート(デフォルトは8462)。この値は、MailStoreサーバーサービス設定の[基本構成]→[ネットワーク設定]→[MailStore Web Access / Outlookアドイン(HTTPS)]の項で設定したポートと同じである必要があります。TCPポートは、HTTPSプロトコルのデフォルトポート(443)と異なる場合のみ指定する必要があります。
- /oidc/signin MailStore ServerがAzure ADの認証応答を期待するエンドポイントです。このパスは、Redirect URIの末尾に記載されているとおりに指定する必要があります。
ログアウトURL空白のままで大丈夫です。
トークンの選択IDトークン(暗黙的およびハイブリッドフローに必要)を選択します。
- 設定をクリックして、Azure AD でのアプリ認証の設定を完了します。
リダイレクトURIの指定例です。
Product | FQDN | Port | Resulting Redirect URI |
---|---|---|---|
MailStore Server | mailstore.example.com | 8462 | https://mailstore.example.com:8462/oidc/signin FQDNとMailStore Web Accessのデフォルトポートを使ったRedirect URI |
MailStore Server | mailstore.example.com | 443 | https://mailstore.example.com/oidc/signin MailStore Web AccessでHTTPSのデフォルトポートである443かファイアウォール又はルーターでポートフォワードしたソースポートを指定する事もできます。 |
MailStore SPE | archive.example.com | 443 | https://archive.example.com/<instanceid>/oidc/signin instanceid はRedirect URIの一部です。 |
注意点: redirect URIは大文字小文字を区別するのでご注意下さい。また、URIの要件を、前提条件、推奨設定、制限事項でご確認下さい。
MailStore ServerでRedirect URIの設定
MailStore ServerでもRedirect URIを要求元のクライアントに伝えるための設定が必要です。
- MailStore ClientのDirectory Servicesページを開きます。
- 認証セクションの対応するフィールドにリダイレクトURIを入力します。Azure ADで設定した値をWebブラウザからコピーしてください。
Azure ADでAPIパーミッションの設定
- Web ブラウザで Azure AD に再度切り替えます。
- 左側のナビゲーションメニューの [管理] セクションで、[API 権限] を選択します。
- [ 構成された権限] セクションの [権限の追加] ボタンをクリックします。
- Request API permissions メニューページで、Commonly used Microsoft APIs セクションの API Microsoft Graph を選択します。
- [アプリケーションの許可] オプションを選択します。
- [Select permissions] セクションで [Directory] > [Directory.Read.All] パーミッションを有効にします。
- [Add permissions]をクリックします。
- パーミッションが更新され、[Microsoft Graph] の [API permissions] リストに [Directory.Read.All] パーミッションが表示されます。
- 設定されたパーミッション]セクションの[パーミッションの追加]ボタンを再度クリックします。
- API 権限のリクエスト] メニュー ページで、[私の組織が使用する API] を選択します。
- Office 365 Exchange Online を検索し、該当するエントリをクリックします。
- アプリケーションの許可] オプションを選択します。
- [Select permissions] セクションで [full_access_as_app] パーミッションを有効にします。
- Add permissions をクリックします。
- 権限が更新され、full_access_as_app権限がExchangeの下のAPI権限リストに表示されます。
- ここで、[設定されたアクセス権]セクションの[<あなたのテナント名>に対する管理者同意の付与]ボタンをクリックします。
- 次の通知を[はい]で承認します。
- <あなたのテナント名>に対して付与されたすべての許可のステータスが更新されます。
これで、Azure AD 内の MailStore Server の Microsoft 365 への接続設定が完了しました。Azure ADのテナントからサインアウトして、ブラウザウィンドウを閉じます。MailStore ClientのDirectory Servicesページに再度切り替えて、残りのすべての設定ステップをそこで行う必要があります。
ユーザーデータベースの同期
上記の接続設定で、Office 365の同期用フィルタを指定する事ができます。
- Microsoft Exchangeオンラインでライセンス登録済のユーザーのみを同期
Microsoft Exchangeオンラインでライセンス登録されたMicrosoft 365ユーザーのみを同期対象とします。 - 有効化されたユーザーのみを同期
Microsoft 365ユーザーでMicrosoft 365へのログインをブロックされていないユーザーのみを同期対象とします。 - 次のグループのみを同期
選択したMicrosoft 365のグループに所属するメンバーだけがMailStore Serverユーザーとして生成されます。特定のユーザーをMailStore Serverとの同期対象外とする事もできます。 - ユーザー名のフォーマット
MailStoreのユーザー名の名称スキームを選択します。- User Principal Name (UPN)
Microsoft 365ログイン用のフルネーム e.g. jane.doe@office365.example.com - User Principal Name (UPN) Local Part
ドメインのないMicrosoft 365ログイン名 e.g. jane.doe
- User Principal Name (UPN)
オプション
MailStore Serverで自動的にユーザーを削除する
Microsoft 365テナントから削除したユーザーを自動削除するよう選択できます。ユーザーのアーカイブデータへ既にメールがアーカイブされていると、ユーザーは削除されますがアーカイブデータは削除されません。また、MailStoreユーザーで認証方式をディレクトリサービスとして設定しているユーザーだけが自動削除の対象となります。
既定の権限の設定
デフォルトで、MailStoreへMicrosoft 365から同期したユーザーは、MailStore Serverへログオンし、自分のアーカイブへのアクセスする権限を持っています。
既定の権限は同期前に、例えば、全ての新しいユーザーに「メールのアーカイブ」権限を与える、といった、カスタマイズができます。設定は、既定の権限をクリックします。
ユーザー権限の管理や影響に関する追加情報は『ユーザー、フォルダの設定』を参照して下さい。既存の権限をカスタマイズする場合もこちらをご覧ください。
ディレクトリサービスとの同期の実行
[設定のテスト]をクリックすると、実際の同期を行う前に、[今すぐ同期する]を実行した際どのように同期が行われるかを確認する事ができます。同期を開始するには、「今すぐ同期する」をクリックして下さい。
結果として、MailStore Serverユーザーデータベースの変更箇所が表示されます。
ユーザー認証のテストを、ユーザーを一覧から選択し、左下のボタンをクリックすると行う事ができます。ユーザーのパスワードを聞かれ、入力後にOKを押すと、認証が成功したかどうかを示すメッセージが表示されます。