3.15.1 アクセス制御機能の概要

ここでは,アクセス制御機能の概要について説明します。

<この項の構成>
(1) アクセス制御機能とは
(2) アクセス制御機能の仕組み
(3) アクセス制御情報の種類
(4) アクセス制御情報の構成

(1) アクセス制御機能とは

DocumentBrokerで作成,管理している文書やコンテナなどのオブジェクトは,そのままの状態では,DocumentBrokerにログインしたユーザであれば,だれでも参照したり更新したりできます。例えば,あるユーザが作成した文書をDocumentBrokerに登録した場合に,ほかのユーザが自由に参照したり,更新したり,削除したりできます。これでは,DocumentBroker上の文書やコンテナに対して,作成者以外のユーザが悪意を持って変更したり,誤って削除してしまったりすることが考えられます。

こうしたことを防ぐためには,DocumentBrokerによって,オブジェクトに対して「どのユーザはどの操作が可能」という情報を設定しておく必要があります。例えば,ユーザAが作成した「文書X」に対して,「文書Xは,ユーザA以外からは参照だけできて,更新,削除はできないようにしたい」としたり,「文書Xは特定のグループに所属する人だけに参照,更新ができて,それ以外の人には参照もできないようにしたい」としたりしておきます。これによって,文書やコンテナにアクセスするユーザを制限できます。これを実現する機能を,アクセス制御機能といいます。また,それぞれのユーザが持つ,オブジェクトにアクセスするための権限をアクセス権といいます。

アクセス制御機能の概要を次の図に示します。ここでは,文書Xに対して,ユーザAとグループGだけが参照できるように,DocumentBrokerによってアクセス制御されています。

図3-73 アクセス制御の概要(文書XはユーザAとグループGだけが参照できるようにする)

[図データ]

(2) アクセス制御機能の仕組み

ここでは,DocumentBrokerのアクセス制御機能の仕組みについて説明します。

DocumentBrokerでは,ユーザがログインしたときにログインユーザ情報を作成します。ログインユーザ情報には,ログインユーザのユーザ識別子やグループ識別子,そのユーザが持つ特権やそのユーザの権限が設定されます。

また,それぞれのオブジェクトには,そのオブジェクトがだれにどのような操作を許可するかについて表す情報が設定されています。

DocumentBrokerでは,ユーザ情報と,オブジェクトに設定されている情報を基に,ユーザのアクセス権を判定します。

これらのアクセス権判定に使用するための情報のことを,アクセス制御情報といいます。

DocumentBrokerによるアクセス制御の概要を次の図に示します。

図3-74 DocumentBrokerによるアクセス制御の概要

[図データ]

図3-74では,ユーザA(所属しているグループはグループG)が,文書を更新する場合について説明しています。説明の番号は,図3-74の番号と対応しています。なお,説明のうち,ゴシック体の操作はユーザが明示的に実行した操作を,それ以外はDocumentBrokerの内部で実行されている処理を示します。

  1. ユーザAが文書空間にログインします。
  2. 文書空間では,ユーザAのユーザ識別子とグループ識別子,ユーザの特権およびユーザ権限が取得され,ログインユーザ情報が作成されます。
  3. ユーザAが文書Xに接続します(SetOIIDメソッドまたはConnectObjectメソッドをコールします)。
  4. ユーザAが文書Xを更新するメソッド(UpdateContentメソッド)をコールします。
  5. 4.でユーザがコールしたメソッドによって,DocumentBrokerの内部で文書を更新する機能(文書更新機能)が動作します。文書更新機能は,アクセス制御機能に対して,ユーザAのアクセス権の判定を要求します。
    ただし,このときユーザが特権を持つユーザである場合は,アクセス権判定を要求しません。また,ユーザ権限として文書を更新する権限を持つユーザである場合は,文書Xのアクセス制御情報に関係なく,アクセス権が確認されます。
  6. アクセス制御機能によって,ユーザAのログインユーザ情報と,文書Xのアクセス制御情報が取得され,アクセス権が判定されます。
  7. ユーザAのアクセス権が確認できたら,アクセス制御機能は文書更新機能に対して文書の更新を許可します。
  8. 文書更新機能によって,文書Xの更新が実行されます。

(3) アクセス制御情報の種類

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

アクセス制御情報とは,メソッドを実行したときに,DocumentBrokerがアクセス権判定をするために必要な情報のことです。

アクセス制御情報には,次の情報があります。

(4) アクセス制御情報の構成

アクセス制御情報は,「だれに」「どの操作を」許可するかを示す情報です。この情報は,「アクセスを許可する対象(主体)」と「対象に対して許可する操作」の組み合わせで構成されます。

なお,アクセスを許可する対象を,サブジェクトといいます。許可する操作の種別を表す基本単位をパーミッションといいます。