3.10.6 アクセス制御モデルの運用例

ここでは,アクセス制御情報の使い分けとアクセス制御モデルの運用例を示します。

<この項の構成>
(1) アクセス制御情報の使い分け
(2) ACFlagを使用したアクセス制御の運用例
(3) ACFlagおよびローカルACLを使用した運用例
(4) パブリックACLを使用した運用例
(5) セキュリティACLを使用した運用例

(1) アクセス制御情報の使い分け

ここでは,これまでに説明してきたアクセス制御情報の使い分けの考え方について説明します。アクセス権の判定に使用されるアクセス制御情報の処理順序や特長を考慮して,組織に合わせたアクセス制御モデルを構築してください。アクセス制御情報の処理順序と特長を次の表に示します。

表3-20 アクセス制御情報の処理順序と特長

種類処理順序特長
ユーザ権限1
  • アクセス権の判定で最初に参照される情報なので,判定が高速です。
  • あるユーザに対して,文書空間内で同一の操作を許可する場合に使用すると便利です。
ACFlag2
  • 所有者,プライマリグループの情報と組み合わせて判定されます。
  • ユーザ権限の次に参照される情報なので,ローカルACLやパブリックACLに比べて早い時点で判定されます。
  • 所有者,プライマリグループまたはすべてのユーザに対して許可する操作だけ設定できます。
パブリックACL3

複数の文書空間オブジェクトに対して共通のアクセス制御情報(ローカルACLと同様にユーザまたはグループ単位で個別に設定できる)が設定できます。したがって,アクセス権を一括して管理でき,アクセス権の保守が容易になります。
例えば,「企画部」というグループに対して参照を許可するパブリックACLを作成して,複数の文書空間オブジェクトからこのパブリックACLをバインドしていたとします。この場合,途中で「企画部」に対して更新も許可するような運用に変更するときは,パブリックACLで「企画部」に対して更新を許可するパーミッションを追加すれば,このパブリックACLをバインドしているすべての文書空間オブジェクトに変更を反映できます。
ローカルACL4文書空間オブジェクト固有のアクセス制御情報をユーザまたはグループ単位で個別に設定できます。個々の文書空間オブジェクトに,状況に応じて柔軟にアクセス制御情報を設定できます。

(2) ACFlagを使用したアクセス制御の運用例

ACFlagを使用したアクセス制御の運用例について説明します。

なお,この例では,次のことを前提としています。

ACFlagを使用したアクセス制御の運用例を次の図に示します。

図3-52 ACFlagを使用したアクセス制御の運用例

[図データ]

この例では,文書のライフサイクルの段階に応じて次のようにアクセスを制御することが考えられます。

文書が完成するまでの段階
文書Aのように所有者がACFlagのすべてのユーザパーミッションを「なし」に設定しておき,所属グループ内だけに公開して作業します。
文書が完成した段階
文書Bのように所有者がACFlagのすべてのユーザパーミッションに「基本コンテンツ参照権」を設定して,ほかのグループにも完成した文書の内容の参照を許可します。

(3) ACFlagおよびローカルACLを使用した運用例

ACFlagを使用したアクセス制御モデルで,常にグループのグループリーダーを所有者に設定して運用する運用例と,ローカルACLもあわせて設定する運用例について説明します。

グループリーダーに管理を任せるACFlagを使用した運用例
なお,この例では,次のことを前提としています。
  • すべてのユーザは文書を作成,参照および更新できます。
  • 文書の作成者は,作成後に文書の所有者をグループリーダーに変更します。
  • グループリーダーはすべてのパーミッションを組み合わせたアクセス権を保持し,作成された文書を管理します。
  • グループリーダー以外のユーザは作成者であっても文書を削除したり,フォルダにリンク付けたり,バージョンを管理したりすることはできません。

グループリーダーに管理を任せるACFlagを使用した運用例を次の図に示します。

図3-53 グループリーダーに管理を任せるACFlagを使用した運用例

[図データ]

この例では,グループリーダーの判断で,ライフサイクルに応じた適切なパーミッションを設定して文書を管理しています。

ローカルACLを併用した運用例
例えば,この例の運用上,文書Aについて,「一定期間だけ他部署の部長(ユーザX)にもコンテンツを参照させる必要ができた」という場合があったとします。ACFlagでは特定ユーザに対するアクセス情報は設定できません。したがって,この場合は,ローカルACLに「ユーザXにコンテンツの参照権を与える」と設定する運用が考えられます。

(4) パブリックACLを使用した運用例

パブリックACLを使用した運用例について説明します。パブリックACLは,複数の文書やフォルダに対してアクセス制御情報を共通して設定したい場合に使用します。パブリックACLを使用した運用例を次の図に示します。

図3-54 パブリックACLを使用した運用例

[図データ]

例えば,組織Aで,「『開発部』のユーザが作成した文書は,『開発部』内のすべてのユーザがすべてのパーミッションを組み合わせたアクセス権を与えられて更新や削除ができるようにして,『企画部』内のすべてのユーザがコンテンツの参照だけできるようにしたい」という場合があったとします。このとき,パブリックACLを一つ作成して,「グループ『開発部』に対してすべてのパーミッションを組み合わせたアクセス権を与える」というACEと「グループ『企画部』に対してコンテンツの参照権を与える」というACEを設定します。『開発部』が作成したすべての文書に対してこのパブリックACLを設定すれば,すべての文書に同じアクセス制御情報が設定できます。

なお,パブリックACLは複数の文書空間オブジェクトで共有されますので,作成時に明確な運用方法を決めてからアクセス制御情報を設定してください。複数の文書空間オブジェクトからパブリックACLをバインドしている場合に,特定の文書空間オブジェクトのアクセス制御情報を変更する必要が生じたときは,そのパブリックACLの内容を変更するのではなく,アクセス制御情報を変更する必要がある文書空間オブジェクトだけ別のパブリックACLにバインドし直すという運用をお勧めします。

例えば,「文書が完成するまでの文書の編集段階では『開発部』にすべてのパーミッションを組み合わせたアクセス権を与え,『企画部』にコンテンツの参照だけを許可したいが,一度公開したあとでは『管理部』内の特定のユーザ(ユーザC)以外には更新させないようにしたい」というような場合は,公開時にパブリックACLの内容を変更するのではなく,編集時用のパブリックACLと,公開時用のパブリックACLをそれぞれ作成しておく運用が考えられます。ある文書を公開したら,その文書にバインドするパブリックACLを,編集時用から公開時用にバインドし直すことで,アクセス制御情報を変更できます。

(5) セキュリティACLを使用した運用例

アクセス制御情報は,デフォルトでは,その文書空間オブジェクトの所有者およびセキュリティ管理者だけが設定・更新できます。セキュリティACLを使用すると,文書やフォルダに設定されたACFlagの更新,ローカルACLの更新およびパブリックACLのバインド・アンバインドの権利を所有者およびセキュリティ管理者以外のユーザにも与えることができます。

例えば,パブリックACLを使用した運用で,文書のライフサイクルの段階に応じてパブリックACLをバインドし直すという運用をしている場合,文書空間オブジェクトの所有者以外のユーザにパブリックACLのバインド・アンバインドの管理を任せるために,セキュリティACLを使用することが考えられます。例えば,「『開発部』が作成した文書を,『管理課』の特定ユーザ(ユーザY)が,公開時に『公開時用パブリックACL』をバインドして公開する」という場合,開発部が作成する文書のセキュリティACLに「ユーザYにアクセス制御情報変更権を与える」と設定しておきます。