ログイン通知メールが送付されるためには、以下の条件が満たされている必要があります。
(1) ユーザが、ユーザのプロファイルにメールアドレスを登録している必要があります。「必ず送る」を指定しても、メールアドレスが正しく登録されていないユーザにはログイン通知メールは配送されません。
(2) システムの「メールサーバー」が設定されていて、WebRelease からメールが発送できる状態になっている必要があります。
11章 システムの運用管理
WebRelease には、ユーザが WebRelease にログインすると、そのユーザに向けてログインがあった旨を通知するメールを発送する機能があります。システム管理者はこのログイン通知メール機能を使用するかどうかを設定することができます。設定は「システム管理」画面の「設定」タブで行います。
「送らない」を選択しておくと、ログイン通知メールが発送されなくなります。
「必ず送る」を選択しておくと、ユーザがログインするごとに、そのユーザに対して、ログイン通知メールが発送されます。
「希望ユーザにのみ送る」を選択しておくと、ログイン通知メールを受け取る設定にしているユーザにのみログイン通知メールが発送されます。各ユーザは、それぞれのユーザプロファイルの設定画面で、ログイン通知メールを受け取るかどうかを設定することができます。
システムのデフォルト値は「送らない」になっていますが、不正ログインを素早く検知するためには「必ず送る」の設定が望ましいのではないかと思います。メールサーバの設定などを行なったお上で「必ず送る」または「希望ユーザにのみ送る」の設定で運用されることをお勧めします。
WebRelease から送付されるログイン通知メールにはデフォルトの文面が用意されていますので、多くの場合はそれで事足りると思いますが必要があればこの文面をカスタマイズすることができます。システム管理者への連絡方法や、アカウント閉鎖ページへ誘導する URL の記載などを調整したい場合には文面をカスタマイズすると良いでしょう。
設定画面にある「ログイン通知メールの文面をカスタマイズ」の部分をクリックすると、文面をカスタマイズできるパネルが表示されます。
① 文面は、日本語のものと英語のものを定義することができます。独立に定義できるので、異なる文面にしても構いません。
② ログイン通知メールのメールのサブジェクトをここで指定します。
③ ログイン通知メールの本文をここで指定します。サブジェクトとメール本文の中には、いずれに変数を書くことができます。変数は送り先のユーザの ID やログイン時刻などに置き換えられてメールが組み立てられます。
④ 文面の指定が済んだら画面右上の「保存」ボタン、または、「完了」ボタンをクリックしてください。
サブジェクトとメール本文では下記のとおりの変数が使えます。変数はいずれも ${....} という形をしています。いずれもサブジェクト中での利用できますが、あまり長いサブジェクトはよくありません。${user} ぐらいまでにしておく方が良いでしょう。
メール本文の中で、その箇所に改行が置かれます。この変数が置かれている箇所以外では改行されません。入力画面で入力された改行はメールの文面を組み立てる段階で一旦すべて捨てられます。その代わりに、この ${nl} が置かれている場所に改行が置かれます。サブジェクト中では使用しないほうが良いでしょう。サブジェクト中では改行ではなくひとつのスペースとして扱われます。
このログイン通知メールが発送される原因となったログインに使われたユーザIDに置き換えられます。例えば yamashita という ID でログインしてきた場合に送られるログイン通知メールの中では ${user} は yamashita に置き換えられます。
ログインが発生した時刻に置き換えられます。日本語の文面の中では yyyy/MM/dd HH:mm:ss z 形式の時刻表現になります。英語の文面の中では MM/dd/yyyy HH:mm:ss z という形式の時刻表現になります。
ログインしてきたユーザの IP アドレスに置き換えられます。なお、この IP アドレスは、偽装などによって不正確な IP アドレスとなってしまっている場合があります。参考程度の情報として扱う必要があります。
ログイン通知メール中には不正アクセスを感じた場合にログインに使われたアカウントを閉鎖するための URL を含めることができます。この変数はそのための URL に置き換えられます。メール中のこの URL をメールを受け取ったアカウントオーナがクリックすることで、そのアカウントを即座に閉鎖することができます。このアカウント閉鎖機能は不正アクセスへの即時対応として一定の効果があるのではないでしょうか。
例えば、文面中で
${close_account_url}
という使い方をすると、
https://your-webrelease-server.example.com/WebRelease2/closeaccount.7f0b9eb2-d39d-4d57-9e53-1e582c099f8f
といったアカウント閉鎖ページの URL に変換されます。この URL の形状については、下記リンクの「アカウント閉鎖ページへのアクセス制限」の節を参照してください。
この URL の http(s)://<hostname> 部分は、このメールを発送するきっかけとなったログインを行ったユーザがどのように WebRelease にアクセスしたかで決まります。ユーザが https://a.example.com/WebRelease2 という URL を使ってログインしていた場合には、この URL の該当部分も https://a.example.com/WebRelease2 になります。サーバは複数のホスト名を持つ場合があります。そのような場合には、ユーザがログインに使ったホスト名やプロトコルによってこの URL は変化します。
この変数は上記のメール本文例(デフォルトの文面)では利用されていませんが、メール本文中で利用することができます。この変数も ${close_account_url} と同じでメール本文中にアカウント閉鎖用の URL を埋め込みたい場合に使用します。この変数は ${close_account_url} から http(s)://<hostname> の部分を除去した /WebRelease2.closeaccount.zzzz の部分に変換されます。メール本文に埋め込むアカウント閉鎖用の URL のプロトコルやホスト名部分を固定で指定したい場合などに利用できます。例えば
https://a.example.com${close_account_path}
というふうに利用することでホスト名などを文面中にハードコードすることができます。文面中に
https://a.example.com/WebRelease2/closeaccount.7f0b9eb2-d39d-4d57-9e53-1e582c099f8f
といった URL を組みたてることができます。
ホスト名をハードコートしてしまうと、何らかの事情で、例えば、待機系への切り替えなどで WebRelease のホスト名が変更になった場合に、このテキストを書き換える必要が生じます。忘れがちだと思いますのでハードコードが適切かどうか、注意深く判断する必要があるでしょう。 WebRelease のシステム設定には WebRelease が稼働しているホストのホスト名を設定する箇所はありません。
この変数は上記のメール本文例(デフォルトの文面)では利用されていませんが、メール本文中で利用することができます。この変数も ${close_account_url} と同じでメール本文中にアカウント閉鎖用の URL を埋め込みたい場合に使用します。この変数は ${close_account_url} から http(s)://<hostname>/WebRelease2/closeaccount. の部分を除去した部分に変換されます。メール文面に埋め込むアカウント閉鎖用の URL のプロトコル、ホスト、パスを固定で指定したい場合に利用できます。例えば
https://close-account-endpoint-host.example.com/${close_account_key}
といった使い方をすると
https://close-account-endpoint-host.example.com/7f0b9eb2-d39d-4d57-9e53-1e582c099f8f
に変換されます。
独立した endpoint で閉鎖リクエストを受け付け、そこから WebRelease にリクエストを proxy する構成を採用すれば WebRelease が関与していることが判る URL をメール中に書く必要がなくなります。メールの文面が流出しても WebRelease の稼働を知られずに済むかもしれません。
アカウント閉鎖用 URL の有効期限に変換されます。日本語の文面では YYYY/MM/DD HH:MM:SS 形式の日時表現に変換されます。英語の文面では MM/DD/YYYY HH:MM:SS z 形式になります。
カスタマイズしたサブジェクト文面を、デフォルトの文面に戻したい場合は、サブジェクトを空欄にして保存ボタンを押してください。デフォルトの文面に戻せます。
本文についても同様の方法でデフォルトの文面に戻すことができます。
ログイン通知メール内にアカウント閉鎖 URL を埋め込みたくない場合には該当部分を文面から削除してください。