Google Workspaceとのユーザーアカウント連携
ユーザーは、手動での登録はもちろん、MailStoreのユーザーデータベースをGoogle Workspaceと同期させて一括登録も行えます。
同期中、ユーザーデータとメールアドレスがGoogle Workspaceから、MailStoreのユーザーデータベースへ格納されます。その後ユーザーはGoogle Workspaceのログイン情報を使ってMailStoreへもログインできるようになり、対象ユーザーのアーカイブデータが自動で紐づけされます。MailStoreはGoogle Workspaceに対する変更は行いません。同期の対象はフィルタを使って制限する事もできます。
注意点
前提条件、推奨設定、制限事項
- 利便性のため、MailStore Serverの証明書は認証局が発行する公式なものを使う事をお勧めします。第3者機関の認証局や、Let’s Encryptの証明書を推奨します。
- MailStore Serverへ、外部ネットワークからログインする場合は、このページで設定するURIがインターネット側のDNSで名前解決されていて、MailStore Serverがインストールされた端末へ、ファイアウォールやルーター側でポートフォワードしておく必要があります。
- ログイン時にGoogle Workspaceで認証するよう設定している場合、メーラー内でMailStore IMAPサーバーでのアーカイブアクセスは技術的に行う事ができません。
Googleでプロジェクトの登録
自社のアプリケーションでも、MailStore Serverのようなサードパーティー製品でも、Google APIを使用してGoogle Workspaceアカウントへアクセスする場合は、まずはGoogleへプロジェクトとして登録する必要があります。これは外部アプリケーションからのアクセスを制限し、Googleでの認証するための証明書を生成するのに必要です。
プロジェクトの登録
プロジェクトの登録は次の手順で行います。
- Googleクラウドプラットフォームコンソールへアクセスします。
- 必要に応じてGoogleへログインします。
- コンソールの左上にある「プロジェクトの選択」をクリックし、その後、画面右上の「新規プロジェクト」をクリックします。
- 任意のプロジェクト名 (例: MailStore Server)を入力します。
- 場所で登録済の場所を選択します。
- 「作成」ボタンを押します。
APIサービスの登録
- 元のページに戻ったら、APIとサービス – ライブラリを選択します。
- ライブラリの一覧が表示されます。Google Workspaceの中にある「Admin SDK API」と「Gmail API」を選択し、「有効にする」をクリックします。
同意画面のカスタマイズ
- ナビゲーションメニュー (☰) から、APIとサービス > OAuth同意画面を選択します。
- User Type で「内部」を選択します。
- 作成をクリックします。
- アプリ名として、MailStore Serverといった任意の名前を入力します。
- 他の項目も必要に応じて入力します。
- 保存して次へ、をクリックします。
- 次のステップでは、MailStore Serverは認証するユーザーの対象を指定する必要はないため、そのまま「保存して次へ」をクリックします。
サービスアカウントの作成
MailStore ServerがGoogleで認証を行いGoogle APIでユーザー同期とメールボックスへのアクセスを行うためには、サービスアカウントが必要です。サービスアカウントは次のように作成します。
- ナビゲーションメニュー (☰) から、APIとサービス > 認証情報を選択します。
- + 認証情報を作成 をクリックし、ドロップダウンからサービスアカウントを選択します。
- サービス アカウントの作成ページで、サービスアカウント名 (例. MailStore Serverサービス) を任意の名前で作成します。
- サービスアカウントIDはデフォルトのままでも、変更しても構いません。
- サービスアカウントの説明を入力します。
- 作成して続行をクリックします。
- サービスアカウントはプロジェクトレベルでの権限は必要ないため、アクセスを選択する必要はありません。2のステップで値の変更は必要ありません。
- 完了をクリックします。
- 一覧からサービスアカウントを選択し、プロパティを表示します。
- キーをクリックし、鍵を追加 > 新しい鍵の作成 へ進みます。
- キーのタイプはJSONを選択し、作成をクリックします。
- JSONファイルが自動でダウンロードされます。JSONファイルはクラウドリソースへのアクセスを許可するものなので、安全な場所へ保存してください。
- 閉じる、をクリックします。
- 詳細へ戻り、詳細設定、をクリックします。
- ドメイン全体の委任 で、クライアントIDをクリップボードへコピーします。
- Google Workspace Admin Console へGoogle Workspaceドメイン管理者権限でログインします。
- ナビゲーションメニュー (☰) から、セキュリティ > アクセスとデータ制御 > API コントロールを選択します。
- ドメイン全体の委任 の、ドメイン全体の委任の管理 をクリックします。
- ドメイン全体の委任ページで、新規作成をクリックします。
- クリップボードのサービスアカウントと紐づいている OAuth 2.0 クライアントのクライアントIDをコピーします。
- OAuth Scope へ、次のスコープを入力します。: https://mail.google.com/, https://www.googleapis.com/auth/admin.directory.group.readonly, https://www.googleapis.com/auth/admin.directory.user.readonly
- 認証をクリックします。
ユーザー認証用のOAuth 2.0クライアントを作成
OpenID Connectを使ってGoogleで認証されたユーザーがMailStore Serverへログインできるようにするには、次の通り、OAuth 2.0クライアントを別途作成する必要があります。
- Googleクラウドプラットフォームコンソールへアクセスします。
- ナビゲーションメニュー (☰) から、APIとサービス > 認証情報を選択します。
- + 認証情報を作成 をクリックし、ドロップダウンからOAuth client IDを選択します。
- アプリケーションのタイプで、Webアプリケーションを選択します。
- 任意の名前を入力します。
- 認証済リダイレクトURIの中の + URIを追加をクリックします。
- URIフィールドへ次の形式でクライアントから接続できる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の末尾に記載されているとおりに指定する必要があります。
- 作成をクリックして、終了します。
- クライアントIDとクライアントシークレットをコピーし、安全な場所へ保管しておきます。
リダイレクト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の設定
Googleでのプロジェクト作成が完了したら、MailStoreでGoogle Workspaceとユーザー同期・認証を行うための設定を行います。
- MailStore Server管理者でMailStore Client へログインします。
- 管理ツール > ユーザーとアーカイブ > ディレクトリサービスをクリックします。
- 統合セクションで、ディレクトリサービスの種類を「Google Workspace」へ変更します。
接続
同期を行うため、MailStore ServerへGoogle Workspaceとの接続方法を指定する必要があります。
- Key ID
秘密鍵のインポートを行うため、Googleでサービスアカウント用に作成したJSONファイルを選択します。 - サービスアカウント
サービスアカウントはJSONファイルから自動で読み取られます。 - ユーザー名
Google Workspace管理者のメールアドレスです。 (例. admin@example.com).
ユーザーデータベースの同期
上記の接続設定で、Google Workspaceの同期用フィルタを指定する事ができます。
- 次のグループのみを同期
選択したGoogle Workspaceのグループに所属するメンバーだけがMailStore Serverユーザーとして生成されます。特定のユーザーをMailStore Serverとの同期対象外とする事もできます。
認証
Google Workspaceから同期した各ユーザーが、どのようにMailStore Serverへログインするのかをここで指定します。
- 方法
OpenID Connect が選択されている事を確認します。IMAPオプションは下位互換性のためだけに利用できます。 - Client ID
クライアントIDを入力します。 - Client Secret
クライアントシークレットを入力します。 - Redirect URI
先ほど指定したものと同じリダイレクトURIを入力します。
オプション
MailStore Serverで自動的にユーザーを削除する
Google Workspaceから削除したユーザーを自動削除するよう選択できます。ユーザーのアーカイブデータへ既にメールがアーカイブされていると、ユーザーは削除されますがアーカイブデータは削除されません。また、MailStoreユーザーで認証方式をディレクトリサービスとして設定しているユーザーだけが自動削除の対象となります。
既定の権限の設定
デフォルトで、MailStoreへGoogle Workspaceから同期したユーザーは、MailStore Serverへログオンし、自分のアーカイブへのアクセスする権限を持っています。
既定の権限は同期前に、例えば、全ての新しいユーザーに「メールのアーカイブ」権限を与える、といった、カスタマイズができます。設定は、既定の権限をクリックします。
ユーザー権限の管理や影響に関する追加情報は『ユーザー、フォルダの設定』を参照して下さい。既存の権限をカスタマイズする場合もこちらをご覧ください。
ディレクトリサービスとの同期の実行
[設定のテスト]をクリックすると、実際の同期を行う前に、[今すぐ同期する]を実行した際どのように同期が行われるかを確認する事ができます。同期を開始するには、「今すぐ同期する」をクリックして下さい。
結果として、MailStore Serverユーザーデータベースの変更箇所が表示されます。
ユーザー認証のテストもここから行えます。1つのユーザーを一覧から選択し、左下のボタンをクリックすると、ユーザーのパスワードを聞かれ、入力後にOKを押すと、認証が成功したかどうかを示すメッセージが表示されます。