FC2ブログ

ユーザーとグループの選択画面で検索範囲を制限する - 本日のお題

2010年11月21日 22:45

こんばんは。中の人その2です。
唐突ですが、本日のお題です。

『組織ごとにサイトコレクションが提供されています。
サイトコレクション内にある「回覧板リスト」において、回覧先として指定する「ユーザーとグループの選択」画面で、その組織に所属するユーザーおよびグループのみが検索結果に表示されるようにしたいという要件がありました。
どのような実装方法が考えられますか』

回覧板新しいアイテム画面  ユーザーとグループの選択画面


今日はこの要件を実装する方法について検討してみたいと思います。
まず、SharePoint 標準で提供されるユーザーとグループ選択機能の概要とその問題点を明らかにします。
次に、具体的な要件の実装方式を検討します。
最後にこの実装方式を採用する上での注意点と考慮すべき事項についてまとめます。

1.SharePoint 標準機能の概要と問題点

SharePoint 標準の「ユーザーとグループの選択」画面では、 Active Directory 全体からユーザーまたはグループを検索し、選択画面に表示します。 
このため、 Active Directory に存在する全てのユーザーまたはグループが、検索結果画面に表示されてしまう可能性があります。
これは、 管理用アカウントやサービス稼働用アカウントなどのシステムテムアカウントの存在を、 一般ユーザーに公開したくないという、管理者側の要望としては、あまり望ましい仕様ではないかもしれません。
また、 今回のお題のように、 組織ごとにサイトコレクションを構築した環境で、サイト内にある「回覧板」を利用する際、その組織に所属するユーザーやグループのみを選択可能にしたい、というのは当然の要件であると思います。 



2.実装案の検討

この要件に対する実装案として、以下のKB が参考になりそうです。

「SharePoint Server 2007 Service Pack 1 を実行しているコンピュータで、サイト コレクションに制限を設定して特定の組織単位のユーザーのみを許可する方法」
http://support.microsoft.com/kb/943100/ja

要約すると、 サイトコレクションごとに、以下の STSADM コマンドを実行することで、指定したActiveDirectoryの OU 単位で、 ユーザーまたはグループの検索範囲を限定することが可能となる、ということのようです。 (KB の内容は MOSS2007 環境を対象としていますが、同様の手順でSharePoint2010 環境でも実装できることを確認しました)

構文:
stsadm -o setsiteuseraccountdirectorypath -url <サイトコレクションURL> -path <OU パス>

例:
stsadm -o setsiteuseraccountdirectorypath -url http://sp2010/Section/SectionA -path "OU=SectionA,DC=example,DC=local"

ここまでで、既に皆様の頭の中にも、いくつか懸念される点が浮かばれていることとは思いますが、 ひとまず、この方法で、 今回のお題である「組織に所属するユーザーおよびグループのみが検索結果に表示されるようにする」 という要件を満たすことはできそうです。



3.実装における考慮点

最後にこの実装方式を採用する上で、検討すべき事項についてまとめてみましょう。

ActiveDirectoryの OU が実際の会社組織単位で構成されている必要がある

言うまでもありません。
今回の要件は「ユーザーおよびグループの検索範囲を限定する」ことにあります。
”範囲を限定する”ということは、範囲を明確にするなんらかの区切りが必要になります。
上記の実装案では、「OU」がその区切りになるわけです。
従って、  組織単位で OU を構成し、OU 内にその組織に所属するユーザーおよびグループアカウントを格納しておく必要があります。
OU とは、そもそも Organization Unit の略であり、 実際の会社組織単位で OU を構成しておられる環境も多いのではないでしょうか。
そうでない場合は、 OU ひいては ActiveDirectory 全体の構成を再検討する必要があり、 上記実装案の導入には、設計、移行作業などのコストも併せて考慮する必要があるでしょう。
また、多くの環境では、 独自に開発した ActiveDirectory アカウント運用ツールなどを利用している場合もあります。 こうした運用ツールの改修なども考慮しなければなりません。


・検索範囲の制限は、サイトコレクションにおけるすべてのユーザーとグループの検索画面に適用される

上記実装案によるユーザーおよびグループ検索範囲の制限は、 そのサイトコレクションにおける、あらゆるユーザーとグループを検索する状況に適用されます。
これはつまり、 「回覧板リスト」以外にも、 列の種類として「ユーザーとグループ」を利用している適当なカスタムリストなどでも同様に、 ユーザーとグループの検索範囲が限定されることになります。
特に注意すべきは、 サイトやサイト内のコンテンツ(リスト、ライブラリなど)に対する アクセス権限設定(ユーザーの追加)画面においても、この制限が適用される点です。
例えば、 ある組織サイトコレクション内に存在するコンテンツを、 その組織に所属するユーザー以外にも公開したい、というような場合、 コンテンツの閲覧ユーザーを追加しようとしても、 ユーザーまたはグループの検索結果画面に、組織外ユーザーは表示されないため、権限を付与することができません。
このようなコンテンツは、 別途すべてのユーザーがアクセス可能なポータルのようなサイトに公開するようにするなど、運用ルールを検討しておく必要があります。


・新規に組織サイトコレクションを追加する場合の運用について

上記実装案では、サイトコレクション単位で STSADM コマンドを実行する必要があります。
会社の機構改革などで新たに組織が追加される = 組織サイトコレクションが追加される場合、サイトコレクション作成時に、STSADM コマンドも併せて実行することになります。
サイトコレクションの新規作成は、サーバーの全体管理サイトから実行可能ですが、 STSADM コマンドは、SharePoint サーバーにログオンして実行しなければなりません。
このような手順が実際の運用に堪えられるかどうか、十分に検討しておく必要があるでしょう。

環境によっては他にも考慮すべき点は存在するかもしれませんが、だいたい以上のようなところではないでしょうか。


今回は、お題にある「回覧板リスト」に対するユーザーの利便性向上を目的に、実装方式とその課題について、やや詳細に検討してみました。
ActiveDirectoryの OU 構成まで変更することになる場合、その影響度の大きさや移行コストを考慮すると、現実的な実装案とは言えないかもしれません。
このあたりは、どのような機能の実装においてもそうですが、ユーザーの利便性向上を優先するのか、コストや運用管理などのメンテナンス性を優先するのか、常にトレードオフの関係にあるといえるでしょう。

環境:SharePoint2010 (14.0.5123.5000)

スポンサーサイト





コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://sharepointblog.blog71.fc2.com/tb.php/8-d191d159
    この記事へのトラックバック