(57)【要約】【課題】変更・拡張が容易なアクセス制御を実現する。【解決手段】データへのアクセスを制御するシステムであって、互いに素である複数の整数の中からそれぞれ選択され、利用者の複数の属性を識別する複数の属性値を、それぞれの利用者に対応付けて記憶している第１記憶部と、アクセス対象のそれぞれのデータに対応付けて、当該データに対するアクセスを制御する対象となる利用者の集合を示すために、当該集合に属する利用者に共通する少なくとも２つの属性値の積を記憶している第２記憶部と、アクセスを要求する利用者に対応する複数の属性値を第１記憶部から読み出して、読み出した複数の属性値のうち少なくとも２つの属性値の積を算出する算出部と、算出した属性値の積が、アクセス対象のデータに対応付けて第２記憶部に記憶されている属性値の積と一致することを条件に、当該利用者を当該データに対するアクセス制御の対象とする制御部とを備えるシステム。【選択図】図２
2008165300.tif 000002
【特許請求の範囲】
【請求項１】
データへのアクセスを制御するシステムであって、
互いに素である複数の整数の中からそれぞれ選択され、利用者の複数の属性を識別する複数の属性値を、それぞれの利用者に対応付けて記憶している第１記憶部と、
アクセス対象のそれぞれのデータに対応付けて、当該データに対するアクセスを制御する対象となる利用者の集合を示すために、当該集合に属する利用者に共通する少なくとも２つの属性値の積を記憶している第２記憶部と、
アクセスを要求する利用者に対応する複数の属性値を前記第１記憶部から読み出して、読み出した前記複数の属性値のうち少なくとも２つの属性値の積を算出する算出部と、
算出した前記属性値の積が、アクセス対象のデータに対応付けて前記第２記憶部に記憶されている前記属性値の積と一致することを条件に、当該利用者を当該データに対するアクセス制御の対象とする処理を行う制御部と
を備えるシステム。
【請求項２】
前記第１記憶部は、互いに異なる複数の素数の中からそれぞれ選択され、利用者の複数の属性を識別する複数の属性値を、それぞれの利用者に対応付けて記憶する
請求項１に記載のシステム。
【請求項３】
前記算出部は、読み出した前記複数の属性値のうち少なくとも２つによって構成される属性値の組合せ毎に、当該属性値の組合せに属する属性値の積を算出し、
前記制御部は、算出された前記属性値の積のうち何れかが、アクセス対象のデータに対応付けて前記第２記憶部に記憶されている前記属性値の積と一致することを条件に、当該利用者をアクセス制御の対象とする処理を行う
請求項２に記載のシステム。
【請求項４】
前記第２記憶部は、アクセスの対象となるそれぞれのデータに対応付けて、さらに、当該データの参照を許可するか、または、当該データの更新を許可するかを示す種別情報を記憶しており、
前記制御部は、算出した前記属性値の積が、アクセス対象のデータに対応付けて前記第２記憶部に記憶されている前記属性値の積と一致する場合において、一致した当該属性値の積に対応する種別情報がデータの参照の許可を示すことを条件に、当該データの参照を許可し、一致した当該属性値の積に対応する種別情報がデータの更新の許可を示すことを条件に、当該データの更新を許可し、算出した前記属性値の積が、何れの前記属性値の積にも一致しないことを条件に、当該データへのアクセスを禁止する
請求項２に記載のシステム。
【請求項５】
アクセスを許可する対象となるそれぞれのデータに対応付けて、アクセスを許可するために利用者が満たすべき属性の条件を記憶している第３記憶部を更に備え、
前記制御部は、アクセスを要求する利用者に対応する属性値を前記第１記憶部から読み出して、アクセスを要求する利用者に対応する条件を前記第３記憶部から読み出して、読み出した属性値が読み出した条件を満たさないことを条件に、前記算出部により算出した前記属性値が、前記第２記憶部に記憶されている前記属性値の積と一致するかを判断する
請求項１に記載のシステム。
【請求項６】
前記第１記憶部は、それぞれの利用者に対応付けて、更に、当該利用者に対応する複数の属性値のうち少なくとも２つの積を予め算出して記憶しており、
前記算出部は、予め算出して記憶された当該属性値の積を前記第１記憶部から読み出して、当該属性値の積が、アクセス対象のデータに対応付けて前記第２記憶部に記憶されていないことを条件に、当該属性値の積と、当該利用者に対応する他の属性値との積を算出する
請求項１に記載のシステム。
【請求項７】
当該システムは、複数のウェブページに対するアクセスを制御するシステムであって、
前記第２記憶部は、アクセス対象となるそれぞれのウェブページに対応付けて、当該ウェブページに対するアクセスを制御する対象となる利用者に対応する少なくとも２つの属性値の積を記憶しており、
前記算出部は、表示されているウェブページから次のウェブページへの画面遷移の要求に応じて、要求する利用者に対応する複数の属性値を前記第１記憶部から読み出して、読み出した前記複数の属性値のうち少なくとも２つの属性値の積を算出し、
前記制御部は、算出した前記属性値の積が、当該次のウェブページに対応付けて前記第２記憶部に記憶されている前記属性値の積と一致することを条件に、当該利用者を当該次のウェブページに対するアクセス制御の対象とする処理を行う
請求項１に記載のシステム。
【請求項８】
データへのアクセスを制御するシステムを用いてアクセスを制御する方法であって、
前記システムは、
互いに素である複数の整数の中からそれぞれ選択され、利用者の複数の属性を識別する複数の属性値を、それぞれの利用者に対応付けて記憶している第１記憶部と、
アクセス対象のそれぞれのデータに対応付けて、当該データに対するアクセスを制御する対象となる利用者の集合を示すために、当該集合に属する利用者に共通する少なくとも２つの属性値の積を記憶している第２記憶部と
を有し、
アクセスを要求する利用者に対応する複数の属性値を前記第１記憶部から読み出して、読み出した前記複数の属性値のうち少なくとも２つの属性値の積を情報処理装置により算出することと、
算出した前記属性値の積が、アクセス対象のデータに対応付けて前記第２記憶部に記憶されている前記属性値の積と一致することを条件に、当該利用者を当該データに対するアクセス制御の対象とする処理を情報処理装置により行うことと
を備える方法。
【請求項９】
データへのアクセスを制御するシステムとして、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
互いに素である複数の整数の中からそれぞれ選択され、利用者の複数の属性を識別する複数の属性値を、それぞれの利用者に対応付けて記憶している第１記憶部と、
アクセス対象のそれぞれのデータに対応付けて、当該データに対するアクセスを制御する対象となる利用者の集合を示すために、当該集合に属する利用者に共通する少なくとも２つの属性値の積を記憶している第２記憶部と、
アクセスを要求する利用者に対応する複数の属性値を前記第１記憶部から読み出して、読み出した前記複数の属性値のうち少なくとも２つの属性値の積を算出する算出部と、
算出した前記属性値の積が、アクセス対象のデータに対応付けて前記第２記憶部に記憶されている前記属性値の積と一致することを条件に、当該利用者を当該データに対するアクセス制御の対象とする処理を行う制御部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データへのアクセスを制御する技術に関する。特に、本発明は、データへのアクセス許否を利用者の属性に基づき判断する技術に関する。
【背景技術】
【０００２】
近年、ハイパーリンクなどのワールド・ワイド・ウェブの技術を利用して、階層構造のページが数多く作られており、インターネットのみならずイントラネットにも広く活用されている。ページの数が多い大規模なウェブサイトは、多様な属性を有する多数の利用者からアクセスされることを想定して構築される。たとえば、企業内の適切な情報管理のため、所属部署、役職および職位などによって、閲覧可能なページを制限している場合がある。また、ページ上で行う操作によってデータベースが更新される場合には、やはり利用者の属性に応じてその更新の許否を判断する場合がある。
【０００３】
アクセス制御に関する参考文献として以下の特許文献１〜２を挙げる。
【特許文献１】特開２００５−９２８９１号公報
【特許文献２】特開２００６−４８２２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来、このようなアクセス制御は、アクセス制御用のソフトウェアの設計に反映され、そのソフトウェアがウェブサーバなどで動作することにより実現される。たとえば、「利用者の属性がある特定の属性であればあるページの参照を許可する」という設計上の仕様は、利用者毎に属性を記憶したデータベースと、ページ毎にアクセスを許可する利用者の属性を記憶したデータベースと、これらデータベースに基づきアクセスの許否を判断するプログラムとによって実現される。したがって、アクセス制御の変更や、属性又はページの追加には、データベース又はプログラムの変更が必要となる。
【０００５】
たとえば、データベースが、ページ毎に設けられた複数の行と、属性毎に設けられた複数の列とから構成される表形式の場合、属性を追加するとすればこの表に新たな列を追加する必要がある。表に対する列の追加処理は、データベースの種類やデータサイズによっては非常に時間がかかる。また、アクセス制御の変更が不要となるように、予め充分な種類の属性を設定可能とすることも考えられるが、将来の改変を完全に予想して予め準備することは不可能に近い。
【０００６】
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の形態においては、データへのアクセスを制御するシステムであって、互いに素である複数の整数の中からそれぞれ選択され、利用者の複数の属性を識別する複数の属性値を、それぞれの利用者に対応付けて記憶している第１記憶部と、アクセス対象のそれぞれのデータに対応付けて、当該データに対するアクセスを制御する対象となる利用者の集合を示すために、当該集合に属する利用者に共通する少なくとも２つの属性値の積を記憶している第２記憶部と、アクセスを要求する利用者に対応する複数の属性値を前記第１記憶部から読み出して、読み出した前記複数の属性値のうち少なくとも２つの属性値の積を算出する算出部と、算出した前記属性値の積が、アクセス対象のデータに対応付けて前記第２記憶部に記憶されている前記属性値の積と一致することを条件に、当該利用者を当該データに対するアクセス制御の対象とする処理を行う制御部とを備えるシステムを提供する。また、当該システムとして情報処理装置を機能させるプログラム、当該システムを用いてアクセスを制御する方法を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、本実施形態に係る情報システム１０の全体構成を示す。情報システム１０は、ウェブサーバ２０と、ＤＢサーバ２５と、データベース２８とを備える。ウェブサーバ２０は、外部の端末装置１５と通信して、利用者からウェブページの表示要求を受信すると、要求されたウェブページを生成して端末装置１５に返信する。表示するべきウェブページを生成する過程で、データベース２８へのアクセスが必要な場合がある。そのような場合は、ウェブサーバ２０は、ＤＢサーバ２５に指示して必要なデータをデータベース２８から読み出させ、または、データベース２８に含まれるデータを更新する。
【００１０】
このようなワールド・ワイド・ウェブの技術は、技術の標準化が進んでおり、複数のウェブページからなるウェブサイトを安価かつ高品質に作成できることから広く普及している。このため、情報システム１０のようなシステムは、例えば、企業のイントラネットなどにおいて、数多くの利用者から同時並行的にアクセスされる場合も多い。本実施形態に係る情報システム１０は、このような用途に応え、利用者毎にウェブページのアクセスを制限する場合において、一旦設定したアクセス制限の拡張・変更を容易にすることを目的とする。
【００１１】
図２は、ウェブサーバ２０の機能構成を示す。ウェブサーバ２０は、第１記憶部２００と、第２記憶部２１０と、算出部２２０と、制御部２３０とを有する。第１記憶部２００は、それぞれの利用者に対応付けて、その利用者の複数の属性を識別する複数の属性値を記憶している。これらの属性値は、予め、互いに素である複数の整数の中からそれぞれ選択されて割り当てられたものである。たとえば、これらの属性値は、２、３、５および７などの素数のみの組合せから選択されたものであってもよいし、１３、１５、１７、３２および７７などのように素数のみではないが互いに素の整数の組合せから選択されたものであってもよい。
【００１２】
第２記憶部２１０は、アクセス対象のそれぞれのデータに対応付けて、そのデータに対するアクセスを制御する対象となる利用者の集合を示すために、その集合に属する利用者に共通する少なくとも２つの属性値の積を記憶している。データとは、例えばウェブページや、そのウェブページに対する入力に応じて更新されるデータベース２８中のデータエントリをいう。一例として、あるウェブページには、ある属性の属性値が１１であり、他の属性の属性値が１３の利用者であれば、その他の属性は問わずアクセスを許可する場合、第２記憶部２１０は、そのウェブページに対応付けて１４３（＝１１×１３）を記憶している。
【００１３】
算出部２２０は、アクセスを要求する利用者の識別情報（ユーザＩＤと呼ぶ）を、たとえばウェブページの表示要求などに含めて受信する。そして、算出部２２０は、そのユーザＩＤに対応する複数の属性値を第１記憶部２００から読み出して、読み出したこれら複数の属性値のうち少なくとも２つの属性値の積を算出する。一例として、１１、１３および１７が読み出された場合、そのうち少なくとも２つの積、すなわち１４３（１１×１３）が算出される。好ましくは、算出部２２０は、読み出した複数の属性値のうち少なくとも２つによって構成される属性値の組合せ毎に、その属性値の組合せに属する属性値の積を算出する。１１、１３および１７が読み出された例では、１４３に加えて、２２１（＝１３×１７）、１８７（＝１１×１７）および２４３１（１１×１３×１７）が算出される。積の算出処理は、後述するキャッシュを用いて効率的に行われてもよい。
【００１４】
制御部２３０は、アクセス対象のデータを識別する識別情報（ページＩＤと呼ぶ）を、例えば、ウェブページの表示要求などに含めて受信する。そして、制御部２３０は、そのページＩＤに対応する属性値の積を第２記憶部２１０から読み出す。そして、制御部２３０は、算出部２２０により算出された属性値の積を、読み出した属性値の積と比較する。算出された属性値の積が複数の場合には、制御部２３０は、算出された属性値の積のそれぞれを、読み出した属性値の積と比較する。同一のウェブページに対応付けて複数の属性値の積が記憶されている場合には、制御部２３０は、算出したそれぞれの属性値の積を、読み出されたそれぞれの属性値の積と比較する。
【００１５】
一致することを条件に、制御部２３０は、その利用者をそのデータに対するアクセス制御の対象とする処理を行う。一致するとは、算出した何れかの属性値の積が、読み出された何れかの属性値の積に一致することを言う。アクセス制御の対象とする処理とは、たとえば、属性値の積が一致した場合にのみアクセスを許可することが予め定められていれば、その利用者によるそのデータに対するアクセスを許可する処理をいう。反対に、属性値の積が一致した場合にのみアクセスを禁止することが予め定められていれば、制御部２３０は、積の一致を条件に、その利用者によるそのデータに対するアクセスを禁止する。
【００１６】
図３は、第１記憶部２００のデータ構造の一例を示す。第１記憶部２００は、それぞれの利用者に対応付けて、その利用者の複数の属性を識別する複数の属性値を記憶している。これらの属性値を図中の属性フィールド中に例示する。さらに、第１記憶部２００は、それぞれの利用者に対応付けて、その利用者に対応する複数の属性値のうち少なくとも２つの積を予め算出して記憶して記憶している。これらの属性値の積を図中のキャッシュフィールド中に例示する。ただし、キャッシュＣは、属性値の積ではなく属性値そのものである。このように、第１記憶部２００は、良く使われる属性値についてはそれ自体をキャッシュフィールドに更に記憶してもよい。
【００１７】
上述のように、複数の属性値は、予め、互いに素の整数の組合せの中から選択されて割り当てられている。図３の例で、利用者の部署の属性は、物流部署および営業部署の何れかである。そして、この属性の属性値には、物流部署を示す素数１０３および営業部署を示す素数１０１が割り当てられている。同様に、利用者の職位の属性に関し、属性値には、課長を示す素数３および係長を示す素数２が割り当てられている。この例では、部長を示す属性値にも素数３が割り当てられている。このように、属性値とは、属性を完全に識別可能とするものではなく、アクセス制御の都合に応じて、実際は異なる複数の属性情報を１つにまとめて識別するものであってよい。
【００１８】
以降同様に、利用者の勤務地域の属性に関し、東日本を示す素数１１および西日本を示す素数１３が属性値として選択され、利用者の所属グループの属性に関し、グループＢを示す素数６７およびグループＡを示す素数６１が属性値として選択されている。
キャッシュの例として、第１記憶部２００は、キャッシュＡフィールドに、部署の属性値と職位の属性値の積を予め算出して記憶している。例えばユーザ１に関し、第１記憶部２００は、物流部署を示す素数１０３および課長を示す素数３の積である３０９を記憶する。また、第１記憶部２００は、キャッシュＢフィールドに、部署の属性値と勤務地域の属性値の積を予め算出して記憶している。
【００１９】
図４ａは、アクセス制御の対象となるウェブページの画面構成例を示す。初期画面であるメニューページにて、あるアイテムが選択されると、画面１−１が表示される。但し、この画面１−１およびそれ以降の画面１−２、１−３は、所属部署の属性が物流部である利用者によってのみ参照可能である。したがって、ウェブサーバ２０は、それ以外の利用者からのアクセスを禁止する。画面１−１は、物流部の利用者のうち全員からの参照が許可される。一方で、画面１−１に対する操作に応じて表示される画面１−２については、物流部かつ東日本の利用者からは参照のみが許可され、物流部かつ西日本の利用者からは参照のみならず更新も許可される。このように、アクセス制御とは、アクセスの許可・禁止のみならず、許可するアクセスの種類を制御するものであってもよい。また、画面１−２に対する操作に応じて表示される画面１−３については、物流部でも西日本の利用者によってのみ参照が許可され、東日本の利用者によるアクセスは禁止される。
【００２０】
また、メニューページにて、他のアイテムが選択されると、画面２−１が表示される。但し、この画面２−２およびそれ以降の画面２−１は、職位が部長又は課長である利用者によってのみ参照可能である。さらには、画面２−１に対しては、グループＡの部長又は課長からの更新が許可され、グループＢの部長又は課長からは参照のみが許可される。画面２−１に対する操作に応じて表示される画面２−２については、グループＡの部長又は課長からの参照が許可され、それ以外のグループの利用者は部長又は課長であってもアクセスが許可されない。
【００２１】
図４ｂは、第２記憶部２１０のデータ構造の一例を示す。図４ｂは図４ａに示す画面構成に対応している。第２記憶部２１０は、アクセス対象のそれぞれのデータ（たとえばページ）に対応付けて、そのデータに対するアクセスを制御する対象となる利用者の集合を示すために、その集合に属する利用者に共通する少なくとも２つの属性値の積を記憶している。さらに、第２記憶部２１０は、アクセスの対象となるそれぞれのデータに対応付けて、当該データの参照を許可するか、又は、当該データの更新までをも許可するかを示す種別情報を記憶している。
【００２２】
一例としてページ１−２に対応付けて、第２記憶部２１０は、所属部署の物流部を示す属性値１０３、および、勤務地域の東日本を示す属性値１１の積である１１３３を記憶している。また、第２記憶部２１０は、このページに対応付けて、アクセス種別である「参照」を記憶している。このエントリを参照することで、制御部２３０は、物流部かつ東日本の利用者の集合に対し、このページ１−２に対する参照を許可することができる。
【００２３】
具体的には、算出部２２０は、ある利用者（ユーザ１）の複数の属性として１０３、３、１１および６７を読み出す。そして、算出部２２０は、これらのうちの少なくとも２つを含むそれぞれの組合せについて、当該組合せに属する属性値の積を算出する。たとえば、３０９（＝１０３×３）、３３（＝３×１１）および１１３３（＝１１×１０３）などである。制御部２３０は、算出された何れかの積が、このページ１−２に対応する積１１３３に一致するので、この利用者に対応付けられた種別情報に従ってアクセス制御を行う。即ち、制御部２３０は、一致した属性値の積に対応する種別情報がデータの参照の許可を示すので、そのデータの参照を許可する。
【００２４】
他の例として、ページ２−１に対応付けて、第２記憶部２１０は、所属部署の職位を示す属性値３、および、所属グループのグループＡを示す属性値６１の積である１８３を記憶している。また、第２記憶部２１０は、このページに対応付けて、アクセス種別である「更新」を記憶している。このエントリを参照することで、制御部２３０は、部課長かつグループＡの利用者の集合に対し、このページ２−１に対する参照を許可することができる。
【００２５】
具体的には、算出部２２０は、ある利用者（ユーザ３）の複数の属性として１０３、３、１３および６１を読み出す。そして、算出部２２０は、これらのうちの少なくとも２つを含むそれぞれの組合せについて、当該組合せに属する属性値の積を算出する。たとえば、３０９（＝１０３×３）、３９（＝３×１３）および１８３（＝３×６１）などである。制御部２３０は、算出された何れかの積が、このページ２−１に対応する積１８３に一致するので、この利用者に対応付けられた種別情報に従ってアクセス制御を行う。即ち、制御部２３０は、一致した属性値の積に対応する種別情報がデータの更新の許可を示すので、そのデータの更新を許可する。なお、属性値の積が一致しない場合は、制御部２３０は、そのデータへのアクセスを禁止する。
【００２６】
なお、第２記憶部２１０は、ページ１−１に対応付けて、属性値の積ではなく属性値そのものを記憶する。これは、その属性値の利用者であれば他の属性を問わずアクセスが許可されることを示すものである。即ち、制御部２３０は、第１記憶部２００から読み出した属性値の積のみならず、属性値自体をも第２記憶部２１０中の属性値の積のエントリと比較して、一致すればアクセス制御の対象とする。このように、属性値の積のみならず属性値そのものも設定可能とすることで、利用者集合の柔軟な指定を可能とすることができる。
【００２７】
以上、図１から図４を参照して説明した情報システム１０によれば、それぞれのウェブページについて素数値の積を記憶することによって、アクセス制御の対象となる利用者の集合を管理できる。これにより、第２記憶部２１０の列方向のデータエントリ数（即ち列数）が小さくて済むので、第２記憶部２１０の必要容量を削減できる。さらに、新たに属性を追加する場合や、アクセス制御の対象となる利用者を追加する場合でも、第２記憶部２１０に新たに列を追加する必要がない。このため、列の追加が困難なデータベース技術を採用した場合であっても、アクセス制御の変更・拡張を容易にすることができる。
【００２８】
図５は、情報システム１０にアクセス制御をさせるために属性を設定する処理のフローチャートを示す。エンジニアやシステム管理者などの利用者は、複数の属性値として、互いに素の複数の整数の中から選択した属性値、例えば素数を割り当てる（Ｓ５００）。属性値としては、その属性値が属する属性の他の属性値との間のみならず、他の属性の属性値との間でも異なる値が割り当てられる。そして、利用者は、割り当てた属性値を用いて、各利用者に対応付けて複数の属性値を第１記憶部２００に記憶する（Ｓ５１０）。そして、利用者は、ウェブページ毎に、そのウェブページに対するアクセス制御の対象となる利用者の集合を示すために、当該集合の利用者に共通する属性値の積を算出して、第２記憶部２１０に記憶する（Ｓ５２０）。
【００２９】
図６は、情報システム１０によりページへのアクセスを制御する処理のフローチャートを示す。情報システム１０は、たとえば、端末装置１５の画面に表示しているウェブページから次のウェブページへの画面遷移の要求に応じて、以下の処理を行う。算出部２２０は、アクセスを要求する利用者のユーザＩＤを、当該次のウェブページのＵＲＬなどを指定したＨＴＴＰのアクセスリクエストのメッセージ等から取得する（Ｓ６００）。そして、算出部２２０は、そのユーザＩＤに対応する属性値の積を第１記憶部２００のキャッシュフィールドから読み出す（Ｓ６０５）。そして、制御部２３０は、第２記憶部２１０を検索して、読み出された何れかの属性値の積が、第２記憶部２１０においてアクセス対象のページに対応する属性値の積に一致するかどうか判断する（Ｓ６１０）。アクセス対象のページとは、即ち、ＵＲＬなどによって指定された当該次のウェブページのことをいう。
【００３０】
一致する属性値の積が検索されたことを条件に（Ｓ６２０：ＹＥＳ）、制御部２３０は、その利用者をそのウェブページに対するアクセス制御の対象とする（Ｓ６３０）。たとえば、制御部２３０はその利用者によるアクセスを許可する。アクセスが許可された結果、制御部２３０は、当該次のウェブページの情報を端末装置１５に送信して、端末装置１５の画面に当該次のウェブページを表示する。一方、一致する属性値の積が検索されないことを条件に（Ｓ６２０：ＮＯ）、算出部２２０は、その利用者に対応してまだキャッシュフィールドから読み出されていない属性値の積が無いかどうか判断する（Ｓ６４０）。まだ読み出されていない属性値の積があれば（Ｓ６４０：ＮＯ）、ウェブサーバ２０は、Ｓ６０５に戻って処理を継続する。
【００３１】
読み出されていない属性値の積がなければ（Ｓ６４０：ＹＥＳ）、算出部２２０は、ユーザＩＤに対応する複数の属性値を第１記憶部２００の属性フィールドから読み出して、読み出したこれら複数の属性値のうち少なくとも２つの属性値を含むそれぞれの組合せについて、当該組合せに属する属性値の積を算出する（Ｓ６５０）。処理を効率化するため、算出部２２０は、ある組合せの属性値の積については、キャッシュフィールドから読み出した属性値の積と、読み出した他の属性値との積を算出することにより算出してもよい。
【００３２】
そして、制御部２３０は、第２記憶部２１０を検索して、ページＩＤに対応する属性値の積を第２記憶部２１０から読み出し、算出部２２０により算出された属性値の積を、読み出したこの属性値の積と比較する（Ｓ６６０）。一致する属性値の積が検索されたことを条件に（Ｓ６７０：ＹＥＳ）、制御部２３０は、この利用者をこのウェブページに対するアクセス制御の対象とする処理を行う（Ｓ６３０）。一方、一致する属性値の積が検索されないことを条件に（Ｓ６７０：ＮＯ）、制御部２３０は、この利用者をこのウェブページに対するアクセス制御の対象とする処理を行わない（Ｓ６８０）。たとえば、制御部２３０は、この利用者によるこのウェブページへのアクセスを禁止する。アクセスを禁止した結果、制御部２３０はアクセスを禁止する旨を端末装置１５に通知して、端末装置１５の画面にその旨の画面を表示させてもよい。
【００３３】
図７は、本実施形態の変形例に係るウェブサーバ２０の全体構成を示す。この変形例は、アクセス対象のデータ毎に、そのデータに対するアクセスを制御するための条件を記憶したデータベースと、図４に示す素数値の積による制御を実現するデータベースとを組合せた例を示す。この変形例は、変更・拡張が稀な普遍的な条件と、変更・拡張の可能性のある流動的な条件とを区別して管理させて、利用者の管理を容易としたり、既存の技術との親和性を高めたりすることを目的とする。
ウェブサーバ２０は、図２に示すウェブサーバ２０に加えて、さらに、第３記憶部２４０を有する。この具体例を図８に示す。
【００３４】
図８は、本実施形態の変形例における第３記憶部２４０のデータ構造の一例を示す。第３記憶部２４０は、アクセスを許可する対象となるそれぞれのデータに対応付けて、アクセスを許可するために利用者が満たすべき属性の条件を記憶している。たとえば、第３記憶部２４０は、ページＩＤフィールドと、条件フィールドと、種別情報フィールドとを有する。一例として、第３記憶部２４０は、ページ１−１に対応付けて、そのページの参照およびそのページに関連するデータベースの更新を許可するための条件として、職位の属性が役員であるか、または、所属部署の属性がシステム部門であることを記憶している。
【００３５】
そして、この変形例では、制御部２３０は、第３記憶部２４０に記憶されたこれらの情報に更に基づいてアクセス制御を行う。具体的には、まず制御部２３０は、アクセスを要求する利用者に対応する属性値を第１記憶部２００から読み出して、アクセスを要求する利用者に対応する条件を制御部２３０から読み出す。そして、制御部２３０は、読み出した属性値が読み出した条件を満たすかどうかを判断する。この条件判断は、条件分岐命令による属性値の比較により実現される。条件を満たせば、制御部２３０は、利用者をアクセス制御の対象とする処理を行う。図８の例では参照も更新も許可される。
【００３６】
一方、読み出した属性値が読み出した条件を満たさないことを条件に、制御部２３０は、属性値の積を用いた上述の処理を行う。すなわち、制御部２３０は、算出部２２０により算出した属性値の積が、第２記憶部２１０に記憶されている属性値の積と一致するかを判断する。
以上、この変形例によれば、条件に基づくアクセス制御と、属性値の積によるアクセス制御とを組み合わせることができる。これにより、普遍的で変化しにくい条件と、変化の可能性のある条件とを区別して管理するとともに、変化の可能性のある条件については変更・拡張を容易とすることができる。
【００３７】
図９は、本実施形態又はその変形例に係るウェブサーバ２０として機能する情報処理装置５００のハードウェア構成の一例を示す。情報処理装置５００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００３８】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００３９】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、情報処理装置５００が使用するプログラム及びデータを格納する。たとえば、上述の第１記憶部２００、第２記憶部２１０および第３記憶部２４０は、例えばハードディスクドライブ１０４０などの記憶装置によって実現される。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００４０】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、情報処理装置５００の起動時にＣＰＵ１０００が実行するブートプログラムや、情報処理装置５００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００４１】
情報処理装置５００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出され情報処理装置５００にインストールされて実行される。プログラムが情報処理装置５００等に働きかけて行わせる動作は、図１から図８において説明したウェブサーバ２０における動作と同一であるから、説明を省略する。
【００４２】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置５００に提供してもよい。
【００４３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００４４】
【図１】図１は、本実施形態に係る情報システム１０の全体構成を示す。
【図２】図２は、ウェブサーバ２０の機能構成を示す。
【図３】図３は、第１記憶部２００のデータ構造の一例を示す。
【図４ａ】図４ａは、アクセス制御の対象となるウェブページの画面構成例を示す。
【図４ｂ】図４ｂは、第２記憶部２１０のデータ構造の一例を示す。
【図５】図５は、情報システム１０にアクセス制御をさせるために属性を設定する処理のフローチャートを示す。
【図６】図６は、情報システム１０によりページへのアクセスを制御する処理のフローチャートを示す。
【図７】図７は、本実施形態の変形例に係るウェブサーバ２０の全体構成を示す。
【図８】図８は、本実施形態の変形例における第３記憶部２４０のデータ構造の一例を示す。
【図９】図９は、本実施形態又はその変形例に係るウェブサーバ２０として機能する情報処理装置５００のハードウェア構成の一例を示す。
【符号の説明】
【００４５】
１０  情報システム
１５  端末装置
２０  ウェブサーバ
２５  ＤＢサーバ
２８  データベース
２００  第１記憶部
２１０  第２記憶部
２２０  算出部
２３０  制御部
２４０  第３記憶部
５００  情報処理装置
【図１】
2008165300.tif 000003
【図２】
2008165300.tif 000004
【図３】
2008165300.tif 000005
【図４ａ】
2008165300.tif 000006
【図４ｂ】
2008165300.tif 000007
【図５】
2008165300.tif 000008
【図６】
2008165300.tif 000009
【図７】
2008165300.tif 000010
【図８】
2008165300.tif 000011
【図９】
2008165300.tif 000012