ここでは,アクセス制御情報のうち,文書空間オブジェクトごとに設定するアクセス制御情報について説明します。文書空間オブジェクトごとに設定するアクセス制御情報の種類を次に示します。
文書空間オブジェクトごとのアクセス制御情報は,ACFlagまたはACLとして設定します。文書空間オブジェクトごとに設定されたアクセス制御情報を管理するための情報も,ACLとして設定します。また,文書空間オブジェクトごとに設定する所有者およびプライマリグループのアクセス権は,ACFlagとして設定します。
ACFlagとして設定する情報,ACLとして設定する情報について説明します。
ACFlagは,文書空間オブジェクトの所有者,プライマリグループおよびすべてのユーザという区切りで,それぞれにパーミッションを設定できるアクセス制御情報です。
ACFlagは,文書空間オブジェクトのプロパティとして直接設定します。したがって,ACLを使用したアクセス権の判定に比べて,高速なアクセス権の判定ができるのが特長です。ACFlagは,次の三つのプロパティで表されます。
プロパティの詳細については,「3.10.5(2) アクセス制御情報を設定するためのプロパティ」を参照してください。
ACFlagによってアクセス権を設定できる所有者,プライマリグループおよびすべてのユーザについて説明します。
ACFlagの概要を次の図に示します。
図3-48 ACFlagの概要
この例では,「ユーザA」が作成した「文書A」をACFlagによってアクセス制御する場合のパーミッションの設定方法を示しています。このようにACFlagを設定すると,所有者である「ユーザA」にすべてのアクセス権,プライマリグループに設定されている「営業第2グループ」に所属するユーザに基本プロパティ更新権(基本プロパティ参照権を含む),そのほかのすべてのユーザに基本プロパティ参照権だけを設定するというアクセス制御が可能になります。
ACLは,任意のユーザまたは任意のグループごとにパーミッションを設定してアクセス権を与えるためのリストです。
ACLの概要を次の図に示します。
図3-49 ACLの概要
この例のように,ACLには,複数のACE(アクセス制御エレメント)を設定できます。ACEは64個まで設定できます。個々のACEには「アクセス権を与えるユーザまたはグループ」と「アクセスの範囲を決定するパーミッション」を対にして設定します。アクセス権を与えるユーザまたはグループのことを特にサブジェクトといいます。この例では,サブジェクトとしてユーザA,ユーザB,営業2課および経理1課を指定して,それぞれにパーミッションを設定しています。
ACLを使用すると,複数のユーザやグループに対して個別にパーミッションを設定してアクセス権を与えられますが,アクセス権の判定には,ACFlagの場合よりも時間がかかります。
DocumentBrokerでは,目的に応じて次の2種類のACLを使用して,アクセス制御情報を設定できます。
また,次のACLを使用して,アクセス制御情報に対する操作を許可するアクセス制御情報変更権を管理できます。
ここでは,ローカルACLおよびパブリックACLについて説明します。アクセス制御情報変更権およびセキュリティACLについては,「3.10.4 アクセス制御情報の管理」を参照してください。
文書空間オブジェクトごとのアクセス権を設定するためのACLです。個々の文書空間オブジェクトのdbrProp_ACLプロパティとして設定します。図3-49で示したように,ローカルACLは,ACEを表すオブジェクトを構成要素とした,VARRAY型のプロパティです。dbrProp_ACLプロパティについては,「3.10.5(2) アクセス制御情報を設定するためのプロパティ」を参照してください。
アクセス制御情報の一括管理に使用できるACLです。パブリックACLを使用すると,複数の文書空間オブジェクト間でアクセス制御情報を共有できます。
パブリックACLは,ACLを共有するために使用する独立した文書空間オブジェクトです。共有したいACLをパブリックACLに設定して,文書やフォルダなどのほかの文書空間オブジェクトから参照させます。これによって,パブリックACLに設定したACLの値を,複数の文書空間オブジェクトに一括して適用させることができます。パブリックACLは一つの文書空間オブジェクトに対して10個まで設定できます。
なお,文書やフォルダを表す文書空間オブジェクトからパブリックACLを参照することをバインドといいます。また,パブリックACLのバインドを解除することをアンバインドといいます。
パブリックACLの概要を次の図に示します。
図3-50 パブリックACLの概要
この例では,作成中の段階には文書Aと文書Bから「原稿作成用パブリックACL」をバインドさせて,原稿を公開する段階になった時点で,「公開用パブリックACL」をバインドさせるように切り替えてアクセス制御しています。
パブリックACLは,複数の文書空間オブジェクトに同じACLを設定して,一括してアクセス制御する場合に便利です。また,パブリックACLのローカルACLの設定を更新すると,そのパブリックACLをバインドしているすべての文書空間オブジェクトに更新が反映されるため,グループ名やグループを構成するメンバの変更が頻繁にある場合の保守が容易になります。
パブリックACLは文書空間オブジェクトとして作成します。パブリックACLの文書空間オブジェクトクラスは,パブリックACLクラスです。パブリックACLとして,複数の文書空間オブジェクト間で共有するために設定するアクセス制御情報は,パブリックACLのdbrProp_ACLプロパティとして設定します。
パブリックACLにユーザ定義プロパティを設定して,検索で使用できます。パブリックACLのプロパティについては,「3.10.5(4) パブリックACLのプロパティ」を参照してください。
なお,パブリックACLには,自身をアクセス制御するためのACFlagやローカルACLはありません。パブリックACLに対するアクセス権を次の表に示します。
表3-14 パブリックACLに対するアクセス権
実行できる操作 | 対 象 |
---|---|
作成 | 文書空間にオブジェクト作成権限を持つユーザ |
参照 | すべてのユーザ |
ローカルACLとユーザ定義プロパティの変更 | セキュリティACLでアクセス制御情報変更権が与えられているユーザ,パブリックACLの所有者およびセキュリティ管理者 |
セキュリティACLの変更 | パブリックACLの所有者およびセキュリティ管理者 |
削除 | パブリックACLの所有者およびセキュリティ管理者 |