5.12 電子メール通知の設定

iManagerのタスクを使用すると、電子メールサーバを指定したり、電子メール通知機能のテンプレートをカスタマイズしたりできます。

パスワード同期およびパスワードセルフサービスから自動化された電子メールをユーザに送信するために、電子メールのテンプレートが提供されています。

テンプレートは作成しません。テンプレートを使用するアプリケーションによって提供されます。電子メールテンプレートは、アイデンティティボールトのテンプレートオブジェクトで、通常は、ツリーのルートにあるセキュリティコンテナに配置されています。これはアイデンティティボールトブジェクトですが、iManagerを介してのみ編集する必要があります。

これは、モジュラフレームワークです。電子メールテンプレートを使用する新しいアプリケーションが追加された場合、テンプレートは、それを使用するアプリケーションとともにインストールできます。

iManagerでの選択に基づき、電子メールを送信するかどうかが制御されます。パスワードを忘れた場合、[ユーザにパスワードを電子メールで送信する]、または[ユーザにヒントを送信する]を選択した場合のみ、電子メール通知が送信されます。『Password Management Administration Guide』の「Providing Users with Forgotten Password Self-Service」を参照してください。

電子メール経由でユーザにパスワード同期障害を通知する]を選択した場合、失敗したパスワード同期の操作のみ、および指定したドライバに対してのみ電子メールを送信するようにパスワード同期が設定されます。

図 5-16 パスワード同期の設定

SMTP認証情報がドライバポリシーに含まれていることも確認する必要があります。

5.12.1 前提条件

  • アイデンティティボールトユーザがインターネット電子メールアドレス属性に入力済みであることを確認します。
  • パスワード同期の電子メール通知を使用する場合は、パスワード同期のドライバポリシーにSMTPサーバのパスワードが含まれていることを確認します。セクション 5.12.4, ドライバポリシーでのSMTP認証情報の提供を参照してください。
  • 電子メールアドレスを入力していないユーザがいる可能性がある場合や、すべての失敗操作の通知の電子メールレコードが必要な場合は、ユーザだけではなく、パスワード管理者アカウントにも電子メール通知を送信するよう選択することを検討します。

    この電子メールアドレスは、Identity ManagerのスクリプトポリシーのToフィールドに入力されている必要があります。詳細については、セクション 5.12.6, 電子メール通知の管理者への送信を参照してください。

  • eDirectoryおよびIdentity ManagerがUNIXサーバ上にある場合は、サーバは電子メールテンプレートオブジェクトのレプリカを保存する必要があります。

    これらのオブジェクトは、ルートのセキュリティコンテナにあります。つまり、サーバにはルートパーティションのレプリカが必要です。

5.12.2 電子メール通知を送信するためのSMTPサーバの設定

  1. iManagerで、[パスワード]>[電子メールサーバオプション]の順に選択します。

    SMTPサーバの設定のインタフェース
  2. 次の情報を入力します。

    • ホスト名
    • 電子メールメッセージの[送信者]フィールドに表示する名前(Administratorなど)
    • 必要に応じ、サーバに対して認証するためのユーザ名およびパスワード
  3. OK]をクリックします。

  4. Identity Managerドライバでパスワード同期を使用しており、電子メール通知機能を使用する場合は、次の作業も必要です。

    1. 電子メールを送信する前にSMTPサーバで認証が必要な場合、ドライバポリシーにパスワードが含まれていることを確認します。手順については、セクション 5.12.4, ドライバポリシーでのSMTP認証情報の提供を参照してください。

      ステップ 2にある[電子メールサーバオプション]ページで指定する認証情報は、パスワードを忘れた場合の通知には十分ですが、パスワード同期の通知には不十分です。

    2. 変更に伴い更新する必要のあるIdentity Managerドライバを再起動します。

      ドライバはテンプレートおよびSMTPサーバ情報を、起動時のみ読み込みます。

  5. 通知のための電子メールテンプレートの設定の説明に従い、電子メールテンプレートをカスタマイズします。

メッセージを送信する機能を使用する場合は、電子メールサーバの設定後、電子メールテンプレートを使用するアプリケーションから電子メールメッセージを送信できます。

5.12.3 通知のための電子メールテンプレートの設定

テンプレートを独自のテキストでカスタマイズできます。テンプレートの名前は、使用目的を示します。

  1. iManagerで、[パスワード]>[電子メールテンプレートの編集]の順に選択します。

    iManagerの電子メールテンプレートのリスト
  2. 必要に応じてテンプレートを編集します。

    置換タグを追加する場合は、追加の作業が必要となることがあります。セクション 5.12.5, 電子メール通知テンプレートへの独自の置換タグの追加の指示に従います。

  3. 変更に伴い更新する必要のあるIdentity Managerドライバを再起動します。

    ドライバはテンプレートおよびSMTPサーバ情報を、起動時のみ読み込みます。

5.12.4 ドライバポリシーでのSMTP認証情報の提供

セクション 5.12.2, 電子メール通知を送信するためのSMTPサーバの設定に従い、SMTPサーバのユーザ名およびパスワードを指定します。パスワードを忘れた場合の電子メール通知については、これで十分です。

ただし、パスワード同期の電子メール通知については、パスワードもドライバポリシーに含める必要があります。メタディレクトリエンジンはユーザ名にはアクセスできますがパスワードにはアクセスできないため、ドライバポリシーでパスワードを提供する必要があります。

次の条件に該当する場合は、この手順を実行する必要があります。

  • SMTPサーバがセキュリティ保護されており、電子メールを送信する前に認証が必要な場合。
  • Identity Managerのパスワード同期をIdentity Managerドライバで使用している場合。
  • ドライバのパスワード同期の設定で、[電子メール経由でユーザにパスワード同期障害を通知する]を選択した場合。

ドライバポリシーにSMTPサーバのパスワードを追加する

  1. パスワード同期を使用するために必要なポリシーがドライバに含まれていることを確認します。

    必要なポリシーは、サンプルのドライバ環境設定で提供されています。また、セクション 5.7, パスワード同期をサポートするための、既存のドライバ環境設定のアップグレードに従い、追加することもできます。

  2. iManagerで、[Identity Manager]>[Identity Managerの概要]の順に選択します。

  3. ドライバセットを検索するか、対象のドライバセットを含むコンテナを参照して選択します。

  4. [Identity Managerドライバの概要]で、ドライバのアイコンをクリックします。

  5. [入力変換]アイコンまたは[出力変換]アイコンを選択します。

  6. ポリシーを選択し、[編集]をクリックします。

  7. ルールをクリックします。

  8. [テンプレートから電子メールを送信]アクションを含むルールで、SMTPサーバのパスワードを指定します。

    たとえば、サンプルのドライバ環境設定を使用している場合、次のパスワード同期ポリシーを変更する必要があります。

    ポリシーセット

    ポリシー名

    ルール名

    入力変換

    Password(Pub)-Sub Email Notifications (パスワード(発行者)-購読者の電子メール通知)

    • パスワードを取得できなかった場合に電子メールを送信する
    • 接続されたシステムのパスワードをIdentity Managerデータストアのパスワードでリセットできなかった場合に電子メールを送信する

    出力変換

    Password(Sub)-Pub Email Notifications (パスワード(購読者)-発行者の電子メール通知)

    • パスワードの発行操作が失敗した場合に電子メールを送信する

    次の図は、パスワードを必要とする[テンプレートから電子メールを送信]アクションの例を示します。

    [テンプレートから電子メールを送信]アクションと、SMTPサーバ認証のためのパスワードのフィールド

    アイデンティティボールトに保存されている場合、パスワードは不明です。

  9. ルールを選択し(確認マークを付け)、[OK]をクリックします。

5.12.5 電子メール通知テンプレートへの独自の置換タグの追加

電子メール通知テンプレートには、デフォルトで定義されているタグがいくつかあり、これらを使用すると、ユーザへのメッセージを簡単にパーソナライズできます。また、独自のタグを追加することもできます。

タグを追加できるかどうかは、電子メールテンプレートを使用するアプリケーションによって異なります。

パスワード同期の電子メール通知テンプレートへの置換タグの追加

パスワード同期の電子メール通知テンプレートには置換タグを追加できます。ただし、追加されたタグは、電子メール通知テンプレートを参照するすべてのパスワード同期ポリシールールに定義しないと使用できません。[テンプレートから電子メールを送信]アクションを使用する場合、テンプレート内で宣言される置換タグはすべて、アクションの子arg-strings要素で定義する必要があります。

たとえば、Identity Managerでは、電子メール通知テンプレートに含まれるデフォルトの置換タグを提供しています。Identity Managerでは、デフォルトのパスワード同期ポリシーも、ドライバ環境設定で提供されています。電子メールテンプレートで提供されるデフォルトのタグもそれぞれ、電子メールテンプレートが使用するパスワード同期ポリシーの各ルールで定義されています。

たとえば、UserGivenNameタグは、Password Set Failという名前の電子メールテンプレートで定義されているデフォルトのタグの1つです。[パスワードを取得できなかった場合に電子メールを送信する]という名前のポリシールールは、[テンプレートから電子メールを送信]アクションの電子メールテンプレートを参照します。パスワードの同期に失敗したときにユーザに通知する場合に、このルールがポリシーで使用されます。同じUserGivenNameタグは、そのルールでarg-string要素として定義されます。

この例のように、追加する新しい各タグは、電子メールテンプレートと、その電子メールテンプレートを参照するポリシールールの両方で定義する必要があります。これは、ユーザに電子メールを送信する場合に、メタディレクトリエンジンが置換タグの代わりに正しいデータを挿入する方法を認識できるようにするためです。

例として、Identity Managerに付属のIdentity Managerドライバ環境設定にあるタグを参照してください。

次のガイドラインに注意してください。

  • 電子メールテンプレートで置換タグと呼ばれる項目は、ポリシービルダのコンテキストではトークンと呼ばれます。
  • この節の手順で説明するように、置換タグの引数文字列の定義を簡略化するには、ポリシービルダを使用します。
  • 追加するタグは、次のどれかに定義できます。
    • ユーザのソース属性またはターゲット属性

      パスワードを忘れた場合のために電子メールテンプレートにタグを追加する場合とは異なり、アイデンティティボールトのユーザオブジェクトにある属性と同じ名前を持つタグを追加しただけでは、そのタグを使用できません。パスワード同期の電子メール通知テンプレートで使用するすべてのタグと同様に、電子メールテンプレートを参照するポリシーでも、タグを定義する必要があります。

    • グローバル構成値(GCV)
    • XPATH式

    eDirectoryユーザ属性に限定されている、パスワードを忘れた場合のための電子メールテンプレートにあるタグとは対照的です。

  • パスワードを忘れた場合のために電子メールテンプレートにタグを追加する場合は、eDirectoryのユーザ属性の正確な名前を使用する必要がありますが、置換タグには任意の名前を付けることができます。ただし、電子メールテンプレートを参照するポリシーのタグの定義に使用される名前と一致することが必要です。

ポリシーにタグを定義するには、電子メール通知テンプレートを参照するポリシーすべてを検索し、ポリシービルダを使用してそれらにタグを追加します。各ポリシーで、テンプレートを参照する各ルールを編集します。

電子メール通知テンプレートを参照するポリシーをすべて確実に検索する1つの方法は、ドライバ環境設定をエクスポートし、XMLで電子メール通知テンプレートと同じ名前のテンプレートを持つdo-send-e-mailアクションを検索することです。

  1. iManagerで、[Identity Manager]>[Identity Managerの概要]の順に選択します。

  2. 編集するポリシーのあるドライバを含むドライバセットを選択します。

  3. 編集するポリシーが設定されているドライバのアイコンをクリックします。

  4. 発行者チャネルまたは購読者チャネルで、編集するポリシーが含まれている一連のポリシーをクリックします。

    たとえば、Identity Managerに付属しているeDirectoryドライバ用のドライバ環境設定には、パスワード同期の両方の電子メール通知テンプレートを参照する入力変換ポリシーセットのポリシーが含まれます。

  5. ポリシーをクリックした後、[編集]をクリックします。

    次の図は、eDirectoryドライバのPassword(Pub)-Sub Email Notifications (パスワード(発行者)-購読者の電子メール通知)ポリシーを編集する方法を示しています。

    ドライバ環境設定のグラフィック画面でポリシーセットをクリックすると、このポップアップが表示され、ポリシーを編集できます。
  6. 開かれたルールのリストから、電子メール通知テンプレートを参照するルールをクリックします。

    たとえば、Password(Pub)-Sub Email Notifications (パスワード(発行者)-購読者の電子メール通知)ポリシーでは、このようなルールのリストが表示されます。これらのルールは両方とも、パスワード同期の電子メールテンプレートの1つを参照します。両方のテンプレートにタグを追加する場合は、両方のルールを編集する必要があります。

    パスワード同期ポリシーの2つのルールが表示されたページ

    最初のルールをクリックすると、次のページが表示されます。

    ルールを編集するためのページ
  7. アクション]セクションまでスクロールします。

    アクションのリストを表示する、ルールの編集のためのページ
  8. テンプレートから電子メールを送信]ルールを使用する場合は、[文字列を入力]フィールドの[参照ボタン]スクリプト引数ビルダの[参照]ボタンをクリックします。

    [文字列ビルダ]が開きます。この例のルールでは、次の図のような文字列のリストが表示されます。電子メール通知テンプレートに使用されるデフォルトのタグは、このように、Identity Managerドライバ環境設定の一部であるパスワード同期ポリシーですでに定義されています。デフォルトのタグは、例として使用できます。

    [文字列ビルダ]ページ
  9. 電子メール通知テンプレートで使用するタグを定義するには、[Append New String (新規文字列の追加)]をクリックし、タグの名前を入力します。

    電子メール通知テンプレートで使用する名前と正確に一致する名前であることを確認してください。

  10. 文字列の値]フィールドの[参照]ボタンスクリプト引数ビルダの[参照]ボタンをクリックすると、タグを簡単に定義できます。

  11. [引数ビルダ]ページでは、電子メール通知テンプレートでこのタグを使用する場合にどの値を引用するかを指定します。

    以下のタグを定義できます。

    • ユーザのソース属性またはターゲット属性

      パスワードを忘れた場合のために電子メールテンプレートにタグを追加する場合とは異なり、アイデンティティボールトのユーザオブジェクトにある属性と同じ名前を持つタグを追加しただけでは、そのタグを使用できません。パスワード同期の電子メール通知テンプレートで使用するすべてのタグと同様に、電子メールテンプレートを参照するポリシーでも、タグを定義する必要があります。

    • グローバル構成値(GCV)
    • XPATH式

    次の図は、タグを定義する方法を示しています。

    [文字列ビルダ]ページ

    タグの定義が終了したら[OK]をクリックします。タグが[文字列ビルダ]ページに文字列の1つとして表示されます。

  12. OK]をクリックしてすべてのページを終了し、ポリシーの変更を保存します。

  13. 電子メール通知テンプレートを参照するすべてのポリシーのルールを編集するには、この手順を繰り返します。

  14. ポリシーで定義したタグを電子メール通知テンプレートに追加します。ポリシーで使用した名前と完全に同じ名前を使用します。

    これにより、電子メール通知テンプレートの本文で、タグの名前を使用できるようになります。

  15. 変更内容を保存して、ドライバを再起動します。

パスワードを忘れた場合の電子メール通知テンプレートに対する、置換タグの追加

次のガイドラインに従い、パスワードを忘れた場合の電子メール通知テンプレートにタグを追加できます。

  • 追加できるタグは、メッセージの送信先のユーザオブジェクトのLDAP属性に対応するタグのみです。
  • 追加するタグの名前は、ユーザオブジェクトのLDAP属性の名前と完全に同じであることが必要です。

    LDAP属性とeDirectory属性の名前の対応については、LDAPのIdentity Managerドライバのスキーママッピングポリシーを参照してください。

  • その他の設定は必要ありません。

5.12.6 電子メール通知の管理者への送信

デフォルトの設定では、電子メール通知はユーザに対してのみ送信されます。Identity Managerに付属のポリシーでは、影響するユーザのアイデンティティボールトブジェクトの電子メールアドレスを使用します。

ただし、パスワード同期のポリシーでは、電子メール通知を管理者に対しても送信できるよう設定できます。設定するには、1つのポリシーのIdentity Managerスクリプトを変更する必要があります。

管理者の電子メールアドレスとトークンを定義し、管理者にブラインドコピーを送信します。

管理者にコピーを送信するには、電子メールを作成するポリシー(通知を送信するためにポリシーが電子メールアドレスを検索するPublishPasswordEmails.xmlなど)を変更し、追加の<arg-string>要素と管理者の電子メールアドレスを追加します。

次の例では、追加のarg-string要素を示しています。

	<arg-string name="to">
     <token-text>Admin@company.com</token-text>
	</arg-string>

変更後、必ずドライバを再起動するようにしてください。

5.12.7 電子メール通知テンプレートのローカライズ

次のことに注意してください。

  • デフォルトのテンプレートは英語で表記されていますが、他の言語を使用するようテキストを編集できます。
  • ポリシーのarg-stringトークン定義と置換タグの名前が一致するよう、置換タグの名前と定義は英語のままでなければなりません。
  • パスワードを忘れた場合の電子メール通知についてのみ、電子メールのエンコード方法を指定するために、portalservlet.propertiesファイルに設定を追加する必要があります。次に例を示します。
    ForgottenPassword.MailEncoding=EUC-JP
    

    この設定が存在しない場合、電子メール変換にエンコードは使用されません。

  • パスワード同期の電子メールメッセージについては、<mail、<message、および<‘要素にcharsetという名前のXML属性を指定できます。

    これらの要素の使用の詳細については、電子メールテンプレートについて説明している『DirXML Driver for Manual Task Service Implementation Guide』を参照してください。