アクセス制御情報は,サブジェクトとパーミッションの組み合わせで構成されます。ここでは,アクセス制御情報に設定できるパーミッションの種類について説明します。
パーミッションは,実行可能な操作の範囲を表す値です。アクセス制御情報として設定するパーミッションは,用途によって,次の3種類に分けられます。
ユーザ権限はユーザ権限定義ファイルで定義します。このファイルで定義するパーミッションについては,マニュアル「DocumentBroker Version 3 システム導入・運用ガイド」を参照してください。
ここでは,ACFlagおよびACLで指定できるパーミッションの種類について説明します。
パーミッションの種別には,次のものがあります。
個々のオブジェクトに対する操作を許可するパーミッション(ACFlagやACLに指定するパーミッション)には,基本パーミッションおよび組み合わせパーミッションを使用します。パーミッションは複数指定できます。例えば,複数の基本パーミッションを指定したり,複数の組み合わせパーミッションを指定したり,基本パーミッションと組み合わせパーミッションを混在させて指定したりできます。この場合,パーミッションとして設定される内容は,指定したパーミッションの論理和になります。
アクセス制御情報変更権は,アクセス制御情報に対する操作を許可するパーミッションであり,セキュリティACLにだけ指定できます。
オブジェクトを操作する範囲を限定するために,DocumentBrokerが提供する基本的なパーミッションは次のとおりです。これを基本パーミッションといいます。基本パーミッションの種類を次の表に示します。
表3-15 基本パーミッションの種類
パーミッションの名称 | パーミッション文字列 | 定数 | 説明 |
---|---|---|---|
基本プロパティ参照権 | PRIM_READ_PROPS | DBR_PERM_PRIM_READ_PROPS | プロパティの参照を許可する |
基本プロパティ更新権 | PRIM_WRITE_PROPS | DBR_PERM_PRIM_WRITE_PROPS | プロパティの更新を許可する |
基本コンテント参照権 | PRIM_READ_CONTENTS | DBR_PERM_PRIM_READ_CONTENTS | 文書のコンテントの参照を許可する |
基本コンテント更新権 | PRIM_WRITE_CONTENTS | DBR_PERM_PRIM_WRITE_CONTENTS | 文書のコンテントの更新を許可する |
基本リンク権 | PRIM_LINK | DBR_PERM_PRIM_LINK | リンクに関する操作を許可する |
基本バージョン管理権 | PRIM_VERSION | DBR_PERM_PRIM_VERSION | バージョンに関する操作を許可する |
基本オブジェクト削除権 | PRIM_DELETE | DBR_PERM_PRIM_DELETE | オブジェクトの削除を許可する |
基本パーミッションでは,それぞれのパーミッションは独立であり,包含関係はありません。複数の基本パーミッションを設定した場合は,それらの論理和がサブジェクトに対して許可される操作になります。ただし,基本プロパティ参照権は,すべての基本パーミッションに含まれます。例えば,基本コンテント参照権を設定すれば,同時に,基本プロパティ参照権も設定したことになります。基本プロパティ参照権と基本コンテント参照権を個別に設定する必要はありません。
次に,それぞれの基本パーミッションの内容について説明します。
組み合わせパーミッションとは,基本パーミッションを組み合わせて定義されたパーミッションです。あるオブジェクトに対するパーミッションを指定する場合に,一般的に同時に設定すると考えられる複数の基本パーミッションが,まとめて一つのパーミッションとして指定できるようにされています。
組み合わせパーミッションと基本パーミッションとの対応を次の表に示します。
表3-16 組み合わせパーミッションと基本パーミッションの対応
組み合わせパーミッションの名称 | パーミッション文字列 | 基本パーミッション (パーミッション文字列) | ||||||
---|---|---|---|---|---|---|---|---|
PRIM_ READ _PROPS | PRIM _WRITE _PROPS | PRIM_ READ _CONTENTS | PRIM _WRITE _CONTENTS | PRIM _LINK | PRIM _VERSION | PRIM _DELETE | ||
プロパティ参照権 | READ _PROPS | ○ | - | - | - | - | - | - |
参照権 | READ | ○ | - | ○ | - | - | - | - |
プロパティ更新権 | WRITE _PROPS | ○ | ○ | - | - | - | - | - |
参照更新権 | READ _WRITE | ○ | ○ | ○ | ○ | - | - | - |
削除権 | DELETE | ○ | - | - | - | - | - | ○ |
リンク権 | LINK | ○ | - | - | - | ○ | - | - |
バージョン権 | VERSION | ○ | ○ | ○ | ○ | - | ○ | - |
フルコントロール | FULL _CONTROL | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
組み合わせパーミッションを表すパーミッション文字列を表す定数について,次の表に示します。
表3-17 組み合わせパーミッションのパーミッション文字列を表す定数の対応
パーミッションの名称 | パーミッション文字列 | 定数 |
---|---|---|
プロパティ参照権 | READ_PROPS | DBR_PERM_READ_PROPS |
参照権 | READ | DBR_PERM_READ |
プロパティ更新権 | WRITE_PROPS | DBR_PERM_WRITE_PROPS |
参照更新権 | READ_WRITE | DBR_PERM_READ_WRITE |
削除権 | DELETE | DBR_PERM_DELETE |
リンク権 | LINK | DBR_PERM_LINK |
バージョン権 | VERSION | DBR_PERM_VERSION |
フルコントロール | FULL_CONTROL | DBR_PERM_FULL_CONTROL |
組み合わせパーミッションを使用すると,一つ指定することで複数の基本パーミッションを指定した場合と同じパーミッションが設定できます。
例えば,あるユーザに対して文書のコンテントの更新を許可したい場合,運用によっては,「検索によって文書を取得し,既存のコンテントの内容を参照した上で,修正,更新する」という操作の流れが考えられます。また,「コンテントを更新する場合には,更新した日時を表すプロパティを更新する」という操作があるとします。この場合,基本パーミッションでは,「基本プロパティ更新権」,「基本コンテント参照権」および「基本コンテント更新権」の3種類のパーミッションをそのユーザに設定する必要があります。これに対して,組み合わせパーミッションの「参照更新権」だけ指定すれば,3種類の基本パーミッションを指定した場合と同じパーミッションとして定義できます。
次に,それぞれの運用での,組み合わせパーミッションの設定例について示します。
また,組み合わせパーミッションを指定する場合に,そのパーミッションに含まれない操作をする権利も含ませたいときは,組み合わせパーミッションと基本パーミッションを組み合わせて指定できます。例えば,「参照更新権」を与えたユーザに対して,「オブジェクトを削除する権利も与えたい」という場合は,組み合わせパーミッションの「参照更新権」と,基本パーミッションの「基本オブジェクト削除権」をあわせて指定できます。
アクセス制御情報変更権は,セキュリティACLに設定できるパーミッションです。
セキュリティACLには,オブジェクトのアクセス制御情報を操作するユーザに対するパーミッションを指定します。
アクセス制御情報変更権について次の表に示します。
表3-18 アクセス制御情報を操作するためのパーミッション
パーミッションの名称 | パーミッション文字列 | 定数 |
---|---|---|
アクセス制御情報変更権 | CHANGE_PERM | DBR_PERM_CHANGE_PERM |
文書やコンテナなどを示すオブジェクトのセキュリティACLでアクセス制御情報変更権を与えられたユーザは,そのオブジェクトのACFlagおよびローカルACLの変更,パブリックACLのバインドおよびアンバインドができます。
パブリックACLのセキュリティACLのパーミッションとしてアクセス制御情報変更権を設定されたユーザは,そのパブリックACLに設定されているACLやユーザ定義プロパティを変更できます。