アドレス帳ポリシーが Exchange Online に追加されました
(この記事は 2013 年 2 月 14 日に The Exchange Team Blog に投稿された記事の翻訳です)
2013 年 5 月 22 日更新 : この記事は追加情報によって更新されました。
Exchange Server 2010 Service Pack 2 にアドレス帳ポリシー (ABP) 機能が追加されて以来、ABP についてよく聞かれるのが「ABP が Office 365 に搭載されるのはいつか」という質問でした。
ここで、その質問にお答えしましょう。マイクロソフトでは、Office 365、特に Exchange Online について次期機能更新を行いました。
ただし、注意すべき点がいくつかあります。それをご説明するためにこの記事をお届けしているわけですが、その前に、Office 365 を使用していないユーザーの皆様も、自分には関係ないなどと思わずに、ぜひこの記事におつき合いください。今回の更新によって恩恵を受けるのは Office 365 のお客様だけではありません。オンプレミス版の Exchange で ABP を使用しているお客様にもメリットがあります。なぜなら、メール送受信時のユーザー エクスペリエンスを高度に管理できる新機能が追加されるからです。この点については、後ほど詳しく触れることにします。
それでは、ABP と Office 365 についてご説明しましょう。言及すべき 1 つめのポイントは、今回の機能が Exchange Online 専用の機能であるということです。これは、わかりやすいですね。
2 つめのポイントは、ABP 機能は、Office 365 Enterprise (E プラン) と Education (A プラン) のお客様だけがご利用いただけるという点です。Small Business (P プラン) のお客様が ABP をご利用いただけるようになる予定はありません。
3 つめのポイントは、Office 365 でこの機能をサポートするにあたって、ABP のほかにも、カスタムのアドレス一覧 (AL)、グローバル アドレス一覧 (GAL)、およびオフライン アドレス帳 (OAB) をテナント内に追加で作成できるようになりました。そのため、ABP を使用していなくても、必要に応じて、カスタムのアドレス一覧をテナントに追加できます。
たとえば、メールボックスを持っているシカゴの全ユーザーが含まれたアドレス一覧を作成して、Outlook と Outlook Web App (OWA) でこのアドレス一覧を表示できます。ABP は必要なく、アドレス一覧を新規作成するだけです (すべてのメール対応オブジェクトで利用可能なことから、カスタム属性を引き続きフィルター用に使用することをお勧めします)。
4 つめのポイントは (ずいぶんありますね)、作成可能な ABP と OAB の数に既定で制限が設けられている点です。これは、こうしたものすべてがリソースを消費するので、マルチテナント共有型のプラットフォーム上にあるテナントの場合、使用可能な全リソースを 1 つのテナントだけで消費してしまわないようにする必要があるからです。そのための方法の 1 つが、1 つのテナントで使用するオブジェクトの数またはアクションの数を制限することなのです。
Office 365 Enterprise のお客様の場合、既定の制限数は GAL が 10、OAB が 10、ABP が 10、AL が 40 です。
そして、最後の重要なポイントは、RBAC の "アドレス一覧" 役割は最初の時点では誰にも割り当てられていないという点です。これは、アドレス一覧、GAL、および OAB を不必要に作成しないようにするためです (サービスを運用するうえでは、やはりオブジェクトの数が重要となります)。そのため、アドレス一覧、GAL、OAB、および ABP を作成するには、まず、RBAC の "アドレス一覧" 役割をユーザーに割り当てる必要があります。これを行うには、必要に応じて PowerShell または EAC のいずれかを使用できます。
Exchange Online で使用可能な ABP の説明は以上です。ちなみに、これらはすべてコマンド ラインで設定します。Exchange 管理センターの UI は用意されておらず、オンプレミスとクラウド間における AutoMagic のディレクトリ/構成同期機能もありません。ただし、AL や GAL をオンプレミスで作成した際に使用したコマンドを再利用して、同じコマンドをクラウドで再実行すれば同じ結果が得られるので、作業は簡単です。
メモ : Exchange Online では Update-AddressList と Update-GlobalAddressList のコマンドレットは使用できないため、ユーザーの作成後にアドレス一覧または GAL を作成すると、そのユーザーは表示されない場合があります。これを解消するには、現時点では 2 つの方法があります。まだユーザーを作成していない場合は、アドレス一覧や GAL を作成してからユーザーを作成します。また、すでにユーザー/メールボックスを作成済みの場合は、アドレス一覧や GAL を作成し、ユーザーに "きっかけ" を与えて、一覧内に表示させるようにする必要があります。そのためには、たとえば、メールボックスのプロパティを再設定するなどします。CustomAttribute1 を使用してセグメンテーションを行っている場合は、CustomAttribute1 をアドレス一覧/GAL 作成前の値にリセットしてください。Set-Mailbox を使用してこの操作を行うと、わずかなことですが "きっかけ" を与えることになり、アドレス一覧/GAL のメンバーシップが確実に更新されます。
トランスポートと ABP
ここまで、Exchange Online の ABP についての説明をしてきましたが、もう 1 点、オンプレミスのお客様、特にマルチテナント型の製品を企業や顧客に販売、提供しているお客様にも興味を持っていただけるトピックがあります。
マイクロソフトでは、ABP に "敬意を払って" 動作するトランスポート エージェントを Exchange に組み込みました。ここで言う敬意とは、「ABP 氏のすごさに感服です」という類のものでは決してありません。もちろん意味が通じませんし、そんなことを思いつく残念なユーモア感覚の持ち主は、OAB 内で素早く接続を切られるに違いありません。ここで言う敬意とは、 "個人情報に適切に配慮して" 動作するという意味です。それでは、メールがどのように動作するのか見てみましょう。
ここで、話をわかりやすくするために、別の角度からご説明します。
私とあなたには別々の ABP が割り当てられており、GAL の中でお互いを認識することができませんが、メールをやり取りしたいと考えたとします。私たちは同じメール システム上にいることすら認識していません。ある日、私たちは一緒にビールを飲みに行きます。ビールを飲まない方は、ジュースでもかまいません (余談ですが、娘が 5 歳の頃、お兄ちゃんはジャンバ ジュースを買いに連れて行ってもらえるのに自分は連れて行ってもらえずに、むくれてしまったことがありました。私が、ジャンバ ジュースはジャンバという小さな生き物をギュッと搾って作るので、ジュースを搾るのがなかなか大変で、32 オンスのアロハ パイナップル スムージーを作るためには、小さくてふわふわの可愛いジャンバうさぎがたくさん必要なのだと話しました。効果はてきめんで、その後、お兄ちゃんがジュースを買いに連れて行ってもらうときも、すねたりすることはなくなりました)。そして、私たちはメールをやり取りすることにしました。あなたが私宛にメールを送信し、それを着信すると、完全に解決された Exchange オブジェクトとあなたの名前が一緒に Outlook に表示されます。あなたの電話番号まで表示されています。役職名や部署名までもです。DL メンバーシップなどは表示されません。ABP がそうしたものを処理してくれるのです。しかし、必要以上の情報が表示されてしまいます。以下の図では、Chris Contoso の ABP には含まれていないものの、同じ Exchange システム上にいる人物から送信されてきたメールの例を示しています。
これは、なぜでしょう。Exchange にとって、私たちはいずれも同じ組織内のユーザーにすぎず、メールは (少なくとも Exchange にとっては) 内部的なものなので、送信者と受信者を完全に解決された Exchange オブジェクトへと移行/解決します。つまり、ユーザーをそのユーザーの GAL エントリと照合するのです。一方、OWA では同じ処理が行われます。というよりも、むしろ Exchange が同じ処理を行って、完全に解決された Exchange オブジェクトを OWA が表示するのですが、2010 の ABP コードによって、OWA ユーザーに必要以上の詳細情報が表示されることを防いでいました。Outlook の動作は、これとは若干異なっていました。
これがなぜ問題なのでしょう。もし、この 2 人のユーザーに GAL の情報が必要以上に表示されると、データ損失の問題が引き起こされるおそれがあるためです。
この問題を 2010 で解決するための推奨方法は、トランスポート エージェントを作成して、特定の条件が検知されたらメールを送信して、再度受信するというものでした。これにより、メッセージはインターネットから発信されたかのように見えるので、内部的なものとしてではなく、個人情報に適切に配慮して処理されます。この場合、適切な配慮がなされるようにするには、エージェントを開発または購入する必要がありました。ただし、これは最初のステップにすぎず、たとえば、組織内の人物をメールの CC に含めた場合など、エージェントでも解決できない問題も起きていました。その結果、外部で開発されたエージェントの限られたメッセージ送受信機能を使用して Exchange 内でメッセージの処理を行うという方法では、速やかに必要な機能を得ることができませんでした。しかし、Exchange で個人情報を適切に配慮して処理できるようにするのは必要なことです。
そこで、マイクロソフトではエージェントを作成しました。ごく大まかにご説明しますが、エージェントが有効に設定されている場合には、ユーザーから送信された個々のメッセージを検証し、検出した受信者の ABP を検索し、ABP に基づいてメッセージをグループ化し、ディレクトリ全体ではなく、ABP 内で指定された GAL を使用して受信者の解決を行った後、メッセージを配信します。
上記の図は、同じコンセプトをわかりやすく示したものです。受信者は同じメッセージの別々のコピーを受信しますが、このとき受信者は自身の ABP によって解決されます。この例は、こちらに掲載されている ABP のガイダンス (CEO を共有している例) に基づいています。このガイダンスでは、フィルターの定義に応じて GAL が互いのサブセットまたはスーパーセットになり得ることがおわかりいただけるでしょう。ただし、新しいエージェントでは、その点について心配することはありません。ABP に基づいて単純にグループ化を行い、その ABP に関連付けられた GAL に基づいて各コピーを解決するので、各コピーは常に正しく解決されます。
これがあらゆる面でメリットがあることは、皆さんにも同意いただけると思います。特に、クラウド環境における教育機関の多くのお客様にとって最適です。生徒たちがお互いメールのやり取りを始めるようになったら (今日、子供たちはインスタント メッセージやテキスト メッセージをやり取りしたり、顔を見てあいさつを交わしたり、ゲームをしたりとさまざまですが、それ以外にメールも行っているのです)、たとえ同じテナント内にいたとしても、GAL の範囲が適切に設定されていれば、ディレクトリ オブジェクトに沿って解決されることはありません。数多くの学校/GAL を有する教育機関のお客様を対象とした、教育向け Office 365 のプランニングにはいくつかの方法がありますが、詳細は別の記事に譲ることにします。
機能の有効化
ご想像の通り、この記事の締めくくりでご説明するのは、個人情報への必要かつ適切な配慮がなされるためにはどうすればよいかということです。
Office 365 でこの新たな個人情報への配慮を有効にするには、以下のようにします。
Set-TransportConfig –AddressBookPolicyRoutingEnabled $True
これが機能し始めるには最大 30 分かかります。パフォーマンス上の理由によって、この設定がキャッシュに格納されるためです。
オンプレミスのお客様には、Exchange Server 2013 の累積的な更新プログラム 1 でエージェントが提供されるので、これをインストールして有効化する必要があります。
- まず、簡単に覚えられそうな以下の PowerShell コマンドを使用してインストールを行います。この例をコピー アンド ペーストしてください (語の間のスペースに注意が必要です)。ここでは、Exchange を c:\rossisagod にインストールしているものとします。
Install-TransportAgent -Name "ABP Routing Agent" -TransportAgentFactory "Microsoft.Exchange.Transport.Agent.AddressBook
PolicyRoutingAgent.AddressBookPolicyRoutingAgentFactory" -AssemblyPath "C:\rossisagod\Exchange Server\V15\TransportRoles\agents\AddressBookPolicyRoutingAgent\
Microsoft.Exchange.Transport.Agent.AddressBookPolicyRoutingAgent.dll"
- ABP ルーティング エージェントを有効にします。
Enable-TransportAgent "ABP Routing Agent"
- トランスポート サービスを再起動します。
- 以下のコマンドレットを実行して、ABP ルーティングを有効にします。
Set-TransportConfig –AddressBookPolicyRoutingEnabled $True
- これで完了です。すぐに使い始めることができます。
さらに、一部の読者しか興味を持たないようなこの製品の細かい機能について説明する個性的なブログ記事もあります。興味をお持ちの方はお読みいただけると幸いです。
Greg Taylor
Exchange カスタマー エクスペリエンス担当
主任プログラム マネージャー リード