3.10.4 アクセス制御情報の管理

ここでは,アクセス制御情報の管理について説明します。

DocumentBrokerでは,ACFlagやACLを使用して,文書空間オブジェクトに対するユーザのアクセスを制御します。文書空間オブジェクトに対してアクセス権を保持しないユーザでも,ACFlagやACLを変更すればアクセス権を取得できます。このため,ACFlagやACLは,適切な権利を持つユーザだけが変更でき,それ以外のユーザからは変更されないように制御する必要があります。アクセス制御情報を変更するための権利をアクセス制御情報変更権といいます。DocumentBrokerでは,デフォルトの状態では,文書空間オブジェクトの所有者およびセキュリティ管理者だけがアクセス制御情報変更権を持っていますが,所有者およびセキュリティ管理者が必要に応じて,アクセス制御情報変更権を任意のユーザやグループに対して与えることもできます。

<この項の構成>
(1) アクセス制御情報へのアクセス権の設定

(1) アクセス制御情報へのアクセス権の設定

文書空間オブジェクトごとに「ユーザAおよびグループBに」,「アクセス制御情報を変更する権利を与える」のように設定して,その文書空間オブジェクトのアクセス制御情報を変更する権利を任意のユーザまたはグループに対して与えられます。アクセス制御情報変更権を設定・更新できるのは,その文書空間オブジェクトの所有者およびセキュリティ管理者だけです。ただし,所有者が,設定されている値を参照する場合は,基本プロパティ参照権が必要です。

(a) アクセス制御情報変更権(DbjDef.PERM_CHANGE_PERM)

アクセス制御情報変更権は,アクセス制御情報に対する操作を許可するパーミッションです。アクセス制御情報変更権は,セキュリティACLに設定します。

アクセス制御情報変更権を与えられたユーザまたはグループは,基本プロパティ更新権を与えられていなくても,文書空間オブジェクトのACFlagの値の更新,ローカルACLの値の更新および文書空間オブジェクトのパブリックACLへのバインド・アンバインドの権利を持ちます。ただし,値を参照する場合は,基本プロパティ参照権が必要です。なお,バインドされているパブリックACLの内容を更新する権利は,パブリックACLの所有者,パブリックACLのセキュリティACLでアクセス制御情報変更権を設定されているユーザおよびセキュリティ管理者にあります。

(b) セキュリティACL

文書空間オブジェクトに設定されているACFlagの更新,ローカルACLの各ACEの値の更新およびパブリックACLへのバインド・アンバインドを実行するためのパーミッション(アクセス制御情報変更権)を設定するACLです。セキュリティACLは,ACEを表すオブジェクトを構成要素とした,VARRAY型のプロパティです。個々の文書空間オブジェクトのdbrProp_SACLプロパティとして設定します。dbrProp_SACLプロパティについては,「3.10.5(2) アクセス制御情報を設定するためのプロパティ」を参照してください。

セキュリティACLのACEのパーミッションとして指定できるのはアクセス制御情報変更権だけです。また,セキュリティACLを設定できるのは,その文書空間オブジェクトの所有者およびセキュリティ管理者だけです。セキュリティACLを使用するとオブジェクトの所有者以外にもアクセス制御情報変更権を与えることができます。セキュリティACLの概要を次の図に示します。

図3-51 セキュリティACLの概要

[図データ]

この例では,文書Aの所有者であるユーザAがセキュリティACLを使用して,ユーザXとユーザYにもアクセス制御情報変更権を与えています。このため,文書Aの所有者であるユーザA,セキュリティ管理者,ユーザXおよびユーザYの4人が,文書Aのアクセス制御情報を変更できます。ただし,セキュリティACLの値を変更できるのは,文書Aの所有者であるユーザAおよびセキュリティ管理者の2人だけです。

なお,パブリックACLのセキュリティACLでアクセス制御情報変更権が設定されているユーザまたはグループは,パブリックACL内のローカルACLの設定・更新,およびユーザ定義プロパティの値の設定・更新ができます。ただし,値を参照する場合は,基本プロパティ参照権が必要です。

(c) セキュリティ管理者およびセキュリティ運用者の設定

DocumentBrokerでは,アクセス権の判定を受けないで文書空間のすべてのオブジェクトに対して自由にアクセスする特権を持ち,文書空間のすべてのオブジェクトや,個々の文書空間オブジェクトに設定されたアクセス制御情報の保守を担当するユーザを設定できます。このユーザをセキュリティ管理者といいます。セキュリティ管理者は,DocumentBrokerサーバのセキュリティ定義ファイルに定義しておきます。

また,DocumentBrokerでは,セキュリティ定義ファイルを保守するユーザを設定できます。このユーザをセキュリティ運用者といいます。セキュリティ運用者は,セキュリティ定義ファイルに,「セキュリティ管理者」,「文書空間オブジェクト作成時にACFlagにデフォルトで設定されるパーミッションの値」および「ユーザ権限定義ファイル名」を定義します。セキュリティ定義ファイルの定義方法については,マニュアル「DocumentBroker Version 3 システム導入・運用ガイド」を参照してください。