マルチテナント環境におけるアドレス帳の簡易的なパーティショニング

こんにちは。
Lync サポートチームの中山です。

今回はマルチテナント環境において、テナント間のアドレス帳検索を行えない様にする方法をご紹介いたします。 この機能は TechNet に以下の技術資料として公開されており、 Lync Server 2013 でも利用することが可能です。

 Title  -  PartitionByOU から msRTCSIP-GroupingID への置き換え
 URL  -  https://technet.microsoft.com/ja-jp/library/gg429725.aspx

タイトルからは機能を想像することが困難ですが、これは Office Communications Server 2007 R2 時代にあった機能の置き換えを意味しているためです。 OCS 2007 R2 では PartitonByOU というパラメーターがあり、 True に設定されている場合は同じ組織単位 (OU) 内のユーザー間でしか検索できない様になります。

しかし、 OU の構成が複雑であり、テナントの構成と一致しないケースにおいて、柔軟な対応が取れないケースが多くなりました。 そのため、ユーザーが所属する OU に関わらず、テナントのグルーピングを構成する方式が必要となり、 Lync Server 2010 より新たに導入されました。

具体的にはユーザーオブジェクトに新しい属性 (msRTCSIP-GroupingID) が追加され、この属性に共通の値を持つユーザー間でのみ検索が可能となります。

 

それでは設定方法を見てゆきましょう。

 

< msRTCSIP-GroupingID 属性 >
ユーザーの属性を見たり修正する簡単な方法は、 [Active Directory ユーザーとコンピューター] を使うことです。
ただし、標準の状態で属性にアクセスすることはできないため、 [表示] より [拡張機能] を選択して有効にしておきましょう。

 

任意のユーザーをダブルクリックで開き、 [属性エディター] タブを選択します。
属性ウインドウをスクロールダウンして [msRTCSIP-GroupingID] の属性を探します。

 

見つからない場合、 [フィルター] で [値を持つ属性のみ表示] が有効になっていないか確認します。
[msRTCSIP-GroupingID] の属性をダブルクリックして値を入力します。

 

同じテナント (グループ) に所属させたいユーザーの [msRTCSIP-GroupingID] 属性に同じ値を入力します。
値が同じユーザー間でグループが形成されます。

 

< グループの構成例 >
次の様な OU 構成に、合計 8 ユーザーが存在する環境を例に、実際の検索動作がどの様に変化するか確認します。

 

組織

エイリアス 表示名 msRTCSIP-GroupingID
テナントA ユーザーグループ1 A1-user01 テストA1 ユーザー01 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
A1-user02 テストA1 ユーザー02 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
ユーザーグループ2 A2-user03 テストA2 ユーザー03 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
A2-user04 テストA2 ユーザー04 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
テナントB ユーザーグループ B-user01 テストB ユーザー01 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
B-user02 テストB ユーザー02 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
B-user03 テストB ユーザー03 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
B-user04 テストB ユーザー04 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22

この設定表による要件は以下となります。

・各ユーザーグループ内は検索できる
・テナント A 内のユーザーグループ 1 とユーザーグループ 2 は相互に検索できる
・テナント A のユーザーとテナント B のユーザーは相互に検索できてはいけない

 

< 例にもとづく検索結果 >
先ほどの表において、  [msRTCSIP-GroupingID] の属性が定義されていない場合の検索結果です。

検索グループは構成されていないため、共通する "テスト" にて検索を実施した際は全 8 ユーザーが表示されます。
一方、 [msRTCSIP-GroupingID] にて 2 グループに分けて構成した場合は、検索結果がテナント内に限られます。

 

 

< まとめ >
複数のテナントがひとつの Lync システムを共有する際には有効な機能であることが分かります。 また、同じ組織内であっても、特定のユーザーのみをアドレス帳の検索対象としたくない場合にも効果的です。

しかしながら、あくまでアドレス帳の検索に対するプライバシー保護しか有効ではなく、接続そのものを制御することはできません。 厳重なセキュリティ要件のもと、テナントのプライバシーを担保する必要がある場合には適さないことに注意してください。