図1は、本開示のセキュリティ管理システム10を示す概略構成図である。セキュリティ管理システム10は、企業等において複数のシステムサーバ1A,1B,1C…により提供される複数のサービスへのユーザアクセスを管理するのに用いられるものであり、認証サーバ20と、リバースプロキシサーバ30と、セキュリティ管理サーバ40と、タグ管理サーバ50とを含む。図示するように、セキュリティ管理システム10(タグ管理サーバ50)は社内ネットワーク等を介して人事管理サーバ60およびアクセスログ管理サーバ70と接続される。また、当該企業等の役員や従業員、登録された関連会社の従業員や社外業者といったユーザにより使用される多数の端末(クライアントコンピュータ)100は、社内ネットワークや専用回線等を介して、セキュリティ管理システム10の認証サーバ20およびリバースプロキシサーバ30に接続される。
システムサーバ1A,1B,1C…は、CPU,ROM,RAM,入出力装置等を有するコンピュータと、従業員等により作成されたオブジェクトとしての成果物(作成中のものも含む)を格納した成果物データベースを記憶する成果物記憶装置2とを含む。成果物記憶装置2に記憶される成果物には、例えば、識別子としてのオブジェクトIDや、成果物の属性(内容)を示すオブジェクトタグ等がタグ付けされている。また、システムサーバ1A,1B,1C…には、CPUやROM,RAMといったハードウエアと、予めインストールされた各種プログラムとの協働により、成果物管理モジュール3が構築される。図1に示すシステムサーバ1Aの成果物管理モジュール3は、例えば、成果物記憶装置2に記憶されている複数の成果物(オブジェクト)の中から所望の成果物を探し出すための検索ツールの提供や、指定された単一の成果物の提供といったサービスの提供を実行する。なお、本実施形態において、システムサーバ1A,1B,1C…により提供される複数のサービスは、互いに独立したものとされる。
認証サーバ20は、CPU,ROM,RAM,入出力装置等を有するコンピュータと、各ユーザに付与されたユーザIDのデータベースを記憶するID情報記憶装置21とを含む。更に、認証サーバ20には、CPUやROM,RAMといったハードウエアと、予めインストールされた各種プログラムとの協働により、認証情報管理モジュール25が構築される。認証情報管理モジュール25は、端末100上でユーザにより入力されたユーザIDや、当該ユーザにより端末100上で要求されたサービスのアドレス(例えば上述のような検索ツールのアドレス(URL)やオブジェクト名等)を取得する。更に、認証情報管理モジュール25は、入力したユーザIDがID情報記憶装置21に記憶されているか否かを判定し、当該ユーザIDがID情報記憶装置21に記憶されている場合、サービスを要求したユーザのユーザIDと共に、要求されたサービスのアドレス等をリバースプロキシサーバ30に送信する。また、ユーザIDがID情報記憶装置21に記憶されていない場合、認証情報管理モジュール25は、要求されたサービスの提供が許可されない旨を端末100に送信する。なお、ユーザが端末100上で選択可能なサービスのアドレスは、当該端末100と認証情報管理モジュール25との間においてのみ用いられるものである。
リバースプロキシサーバ30は、CPU,ROM,RAM,入出力装置等を有するコンピュータと、システムアドレス情報記憶装置31とを含み、認証サーバ20を介して受け取った端末100から要求をシステムサーバ1A,1B,1C…へと中継すると共に、システムサーバ1A,1B,1C…からの情報を端末100へと中継するものである。更に、リバースプロキシサーバ30には、CPUやROM,RAMといったハードウエアと、予めインストールされた各種プログラムとの協働により、管理モジュール35が構築される。
システムアドレス情報記憶装置31は、システムサーバ1A,1B,1C…により提供される複数のサービス(ツールおよび成果物)ごとに、端末100側でユーザが入力可能なアドレスや、提供主体であるシステムサーバ1A等のID(システムID),システムサーバ1A等におけるサービスのシステムアドレス(ツール等)やオブジェクトID(単一成果物)を記憶するものである。また、管理モジュール35は、システムサーバ1A,1B,1C…と端末100との間の情報のやり取りを管理する。更に、管理モジュール35は、ユーザからのサービスの要求に応じて、認証サーバ20の認証情報管理モジュール25からユーザIDやサービスのアドレスを受け取ると、ユーザにより入力されたサービスを提供するシステムサーバのシステムIDや、当該サービスのアドレスに対応したシステムアドレスまたはオブジェクトIDをシステムアドレス情報記憶装置31から読み出し、読みだしたシステムID、システムアドレスまたはオブジェクトIDをユーザIDと共にセキュリティ管理サーバ40に送信する。
セキュリティ管理サーバ40は、CPU,ROM,RAM,入出力装置等を有するコンピュータと、セキュリティ定義記憶装置41と、セキュリティキャッシュ記憶装置42とを含む。更に、セキュリティ管理サーバ40には、CPUやROM,RAMといったハードウエアと、予めインストールされた各種プログラムとの協働により、システムサーバ1A,1B,1C…により提供される複数のサービスへのユーザアクセスを許可するか否かを判定するセキュリティ管理モジュール45が構築される。
セキュリティ定義記憶装置41は、システムサーバ1A,1B,1C…により提供される複数のサービス(単一成果物を含む)ごとに、当該サービスへのアクセスが許可されるユーザの属性を示す許可ユーザタグを定義したセキュリティ定義を記憶するものである。本実施形態において、セキュリティ定義は、図2に示すように、システムサーバ1A,1B,1C…により提供される複数のサービスのシステムアドレス(ツール等)やオブジェクトタグ(単一成果物)ごとに、セキュリティID(大分類)、詳細セキュリティID(小分類を含むもの)、当該サービスを提供するシステムサーバのID(システムID)、サービスの種別(単一成果物を“オブジェクト”とし、それ以外を“サービス”とする。)を示すリソースタイプ、サービスへのアクセス(閲覧)が許可されるユーザの属性(所属、役職等)を示す許可ユーザタグ(READ)、サービスへのアクセス(編集)が許可されるユーザの属性を示す許可ユーザタグ(EDIT)、当該サービスについてセキュリティ管理モジュール45による判定処理の実行が許可される期間を示す判定許可条件、当該サービスについてセキュリティ管理モジュール45による判定処理が実行されるべきか否かを示すステータス(OK=実行、NG=非実行)を規定するテーブルとして作成される。セキュリティ定義は、サービスの提供や成果物を管理する予め定められた管理者により作成・更新される。
セキュリティキャッシュ記憶装置42は、セキュリティ管理モジュール45によりサービスへのアクセスが許可されたユーザのユーザID、アクセスが許可されたサービス、および当該サービスを提供するシステムサーバのシステムID等をキャッシュ情報として記憶するものである。キャッシュ情報は、図3に示すように、サービスのシステムアドレスやオブジェクトIDごとに、ユーザID、リソースタイプ、システムID、セキュリティID(大分類)、アクション(閲覧および編集の少なくとも何れか一方)を規定するテーブルとして作成される。本実施形態において、キャッシュ情報は、セキュリティ管理モジュール45により判定処理が実行された後、当該セキュリティ管理モジュール45により適宜設定・更新される。
タグ管理サーバ50は、CPU,ROM,RAM,入出力装置等を有するコンピュータと、タグ定義記憶装置51と、タグ情報記憶装置52とを含む。更に、タグ管理サーバ50には、CPUやROM,RAMといったハードウエアと、予めインストールされた各種プログラムとの協働により、タグ定義記憶装置51やタグ情報記憶装置52に記憶される情報を管理するタグ管理モジュール55が構築される。
タグ定義記憶装置51は、図4に示すようなユーザタグ定義および図5に示すようなオブジェクトタグ定義を記憶する。ユーザタグ定義は、図4に示すように、それぞれユーザの属性(所属、役職等)を示す複数のユーザタグごとに、リソースタイプ(この場合、“人”)、人事情報およびログ解析情報の何れに関連するかを示す対象、ユーザタグが示す属性の範囲や内容を示す対象フィールド、当該ユーザタグについてセキュリティ管理モジュール45による判定処理の実行が許可される期間を示す判定許可条件、当該ユーザタグについてセキュリティ管理モジュール45による判定処理が実行されるべきか否かを示すステータス(OK=実行、NG=非実行)を規定するテーブルとして作成される。本実施形態において、ユーザタグ定義は、セキュリティ管理システム10の管理者および/または予め定められた人事責任者等により作成・更新される。
オブジェクトタグ定義は、図5に示すように、複数のオブジェクトタグごとに、リソースタイプ(この場合、“オブジェクト”)、当該オブジェクトを提供するシステムサーバのシステムID、オブジェクトタグが示す属性の内容、成果物の作成者、重要度等を示す対象フィールド、当該オブジェクトタグについてセキュリティ管理モジュール45による判定処理の実行が許可される期間を示す判定許可条件、当該オブジェクトタグについてセキュリティ管理モジュール45による判定処理が実行されるべきか否かを示すステータス(OK=実行、NG=非実行)を規定するテーブルとして作成される。本実施形態において、オブジェクトタグ定義は、成果物(オブジェクト)を管理する予め定められた管理者により作成・更新される。
タグ情報記憶装置52は、図6に示すようなユーザタグテーブルおよび図7に示すようなオブジェクトタグテーブルを記憶する。ユーザタグテーブルは、図6に示すように、複数のユーザIDごとに、当該ユーザIDを持つユーザの属性を示すユーザタグと、当該ユーザIDについてセキュリティ管理モジュール45による判定処理が実行されるべきか否かを示すステータス(OK=実行〔有効〕、NG=非実行〔無効〕)とを規定する。ユーザタグテーブルは、セキュリティ管理システム10の管理者および/または予め定められた人事責任者等により作成され、セキュリティ定義に基づいてセキュリティ管理モジュール45により更新されると共に、ユーザタグ定義等に基づいてタグ管理モジュール55により更新される。
オブジェクトタグテーブルは、図7に示すように、複数のオブジェクトIDごとに、当該オブジェクトIDを持つ成果物(オブジェクト)の属性を示すオブジェクトタグと、当該オブジェクトタグについてセキュリティ管理モジュール45による判定処理が実行されるべきか否かを示すステータス(OK=実行〔有効〕、NG=非実行〔無効〕)とを規定する。オブジェクトタグテーブルは、セキュリティ管理システム10の管理者および/またはオブジェクトを管理する管理者等により作成され、セキュリティ定義に基づいてセキュリティ管理モジュール45により更新されると共に、オブジェクトタグ定義等に基づいてタグ管理モジュール55により更新される。
セキュリティ管理システム10に接続される人事管理サーバ60は、CPU,ROM,RAM,入出力装置等を有するコンピュータと、人員情報記憶装置61と、組織情報記憶装置62とを含む。更に、人事管理サーバ60には、CPUやROM,RAMといったハードウエアと、予めインストールされた各種プログラムとの協働により、人員情報記憶装置61や組織情報記憶装置62に記憶される情報を管理する人事情報管理モジュール65が構築される。人員情報記憶装置61は、当該企業等の役員や従業員、登録された関連会社の従業員や社外業者といったユーザの詳細な人員情報(ユーザIDや対象フィールドを含む)を記憶し、組織情報記憶装置62は、当該企業や関連会社等の詳細な組織情報を記憶する。人員情報記憶装置61や組織情報記憶装置62に記憶される情報は、人事異動や組織改編等に併せて随時更新される。
セキュリティ管理システム10に接続されるアクセスログ管理サーバ70は、CPU,ROM,RAM,入出力装置等を有するコンピュータと、ログ解析情報記憶装置71と、を含む。更に、アクセスログ管理サーバ70には、CPUやROM,RAMといったハードウエアと、予めインストールされた各種プログラムとの協働により、システムサーバ1A,1B,1Cへのユーザアクセスを解析して解析結果をログ解析情報(ユーザIDや対象フィールドを含む)としてログ解析情報記憶装置71に記憶させるログ解析管理モジュール75が構築される。
次に、上述のセキュリティ管理システム10においてシステムサーバ1A,1B,1C…により提供されるサービスへのユーザアクセスの可否を判定する手順について説明する。図8は、ユーザが端末100を操作してシステムサーバ1A等にサービスの提供を要求した際にセキュリティ管理サーバ40のセキュリティ管理モジュール45により実行されるセキュリティ判定ルーチンの一例を示すフローチャートである。
図8に示すセキュリティ判定ルーチンの開始に際して、セキュリティ管理モジュール45(CPU)は、リバースプロキシサーバ30から送信されたユーザID、システムID、システムアドレスまたはオブジェクトIDといった判定処理に必要なデータを入力する(ステップS100)。次いで、セキュリティ管理モジュール45は、ステップS100にて入力したデータとセキュリティキャッシュ記憶装置42に記憶されているキャッシュ情報とを比較し(ステップS110)、当該ユーザIDを持つユーザに対して要求されたサービスへのアクセスが許可されるか否かを判定する(ステップS120)。
すなわち、ステップS110およびS120において、セキュリティ管理モジュール45は、セキュリティキャッシュ記憶装置42に記憶されているキャッシュ情報に、ステップS100にて入力したユーザIDおよびシステムアドレスまたはオブジェクトIDに合致(一致)するものがあるか否かを判定する。そして、セキュリティ管理モジュール45は、ステップS100にて入力したユーザIDおよびシステムアドレスまたはオブジェクトIDに合致するキャッシュ情報が存在していると判定した場合(ステップS120)、当該キャッシュ情報に示されているアクションの実行を当該ユーザに許可すべく、該当するシステムサーバの呼び出しを許可する旨の指令をリバースプロキシサーバ30に送信し(ステップS220)、本ルーチンを終了させる。
このように、上述のようなキャッシュ情報をセキュリティキャッシュ記憶装置42に記憶させておき、当該キャッシュ情報に基づいて判定処理を実行することで、サービスの提供可否の判定をより速やかに実行することが可能となる。なお、リバースプロキシサーバ30は、セキュリティ管理モジュール45からの指令に応じて、該当するシステムサーバを呼び出す。これにより、当該システムサーバから、上記システムアドレスまたはオブジェクトIDに対応したサービスがリバースプロキシサーバ30を中継して端末100すなわち当該端末100を操作したユーザに提供されることになる。
一方、ステップS100にて入力したユーザIDおよびシステムアドレスまたはオブジェクトIDに合致(一致)するキャッシュ情報が存在していないと判定した場合(ステップS120)、セキュリティ管理モジュール45は、セキュリティ定義記憶装置41からセキュリティ定義を読み出し(ステップS130)、更にステップS100にて入力したシステムアドレスまたはオブジェクトIDに基づいて、ユーザに要求された対象が単一成果物(オブジェクト)であるか否かを判定する(ステップS140)。ユーザに要求されたサービスが単一成果物である場合、セキュリティ管理モジュール45は、セキュリティ定義からステータスがOKであるオブジェクトタグのすべてを取得する(ステップS150)。以下、ステップS150にて取得されるオブジェクトタグを適宜「定義済みオブジェクトタグ」という。
続いて、セキュリティ管理モジュール45は、ステップS100にて入力したオブジェクトIDに対応したオブジェクトタグをタグ管理サーバ50から取得する(ステップS160)。すなわち、ステップS160において、セキュリティ管理モジュール45は、ステップS100にて入力したオブジェクトIDをタグ管理サーバ50のタグ管理モジュール55に送信する。セキュリティ管理モジュール45からオブジェクトIDを受信したタグ管理モジュール55は、受信したオブジェクトIDに対応したステータスがOKであるオブジェクトタグをタグ情報記憶装置52に記憶されているオブジェクトタグテーブルから取得し、取得したオブジェクトタグをセキュリティ管理モジュール45に送信する。
ステップS160にてタグ管理サーバ50からオブジェクトタグを取得すると、セキュリティ管理モジュール45は、ステップS150にてセキュリティ定義から取得したオブジェクトタグ(定義済みオブジェクトタグ)の中にステップS160にてタグ管理サーバ50から取得したオブジェクトタグが含まれているか(オブジェクトタグの一致があるか)否かを判定する(ステップS170)。タグ管理サーバ50から取得したオブジェクトタグが定義済みオブジェクトタグに含まれていない場合、セキュリティ管理モジュール45は、端末100を操作したユーザの成果物(オブジェクト)へのアクセスを禁止する旨の指令をリバースプロキシサーバ30に送信し(ステップS230)、本ルーチンを終了させる。なお、ステップS140にてユーザに要求された対象が単一成果物ではないと判定された場合、上述のステップS150からS170の処理はスキップされる。
これに対して、ステップS140にてユーザに要求された対象が検索ツール等のサービスであると判定した場合、およびタグ管理サーバ50から取得したオブジェクトタグが定義済みオブジェクトタグに含まれていると判定した場合、セキュリティ管理モジュール45は、ステップ100にて入力したシステムアドレスまたはステップS160にて取得したオブジェクトタグに対応した許可ユーザタグをセキュリティ定義から取得する(ステップS180)。更に、セキュリティ管理モジュール45は、ステップS100にて入力したユーザIDに対応したユーザタグをタグ管理サーバ50から取得する(ステップS190)。すなわち、ステップS190において、セキュリティ管理モジュール45は、ステップS100にて入力したユーザIDをタグ管理サーバ50のタグ管理モジュール55に送信する。セキュリティ管理モジュール45からユーザIDを受信したタグ管理モジュール55は、受信したユーザIDに対応したステータスがOKであるユーザタグをタグ情報記憶装置52に記憶されているユーザタグテーブルから取得し、取得したユーザタグをセキュリティ管理モジュール45に送信する。
ステップS190にてタグ管理モジュール55からユーザタグを取得すると、セキュリティ管理モジュール45は、ステップS180にてセキュリティ定義から取得した許可ユーザタグの中にステップS190にてタグ管理サーバ50から取得したユーザタグが含まれているか(ユーザタグの一致があるか)否かを判定する(ステップS200)。タグ管理サーバ50から取得したユーザタグがセキュリティ定義から取得した許可ユーザタグに含まれていない場合、セキュリティ管理モジュール45は、端末100を操作したユーザのサービスへのアクセスを禁止する旨の指令をリバースプロキシサーバ30に送信し(ステップS230)、本ルーチンを終了させる。
これに対して、タグ管理サーバ50から取得したユーザタグがセキュリティ定義から取得した許可ユーザタグに含まれていると判定した場合、セキュリティ管理モジュール45は、ステップS100にて入力したユーザID、当該ユーザIDにより要求されたサービスのシステムアドレスまたはオブジェクトID、リソースタイプ、システムID、セキュリティ定義上で許可されているアクションをキャッシュ情報としてセキュリティキャッシュ記憶装置42に記憶させる(ステップS210)。そして、セキュリティ管理モジュール45は、セキュリティ定義上で許可されているアクションの実行をユーザに許可すべく、該当するシステムサーバの呼び出しを許可する旨の指令をリバースプロキシサーバ30に送信し(ステップS220)、本ルーチンを終了させる。
上述のように、セキュリティ管理システム10では、システムサーバ1A,1B,1C…により提供される複数のサービスごとに、当該サービスへのアクセスが許可されるユーザを示す許可ユーザタグを定義したセキュリティ定義がセキュリティ管理サーバ40のセキュリティ定義記憶装置41に記憶される。また、タグ管理サーバ50のタグ情報記憶装置52には、ユーザの属性を示すユーザタグをユーザIDごとに規定するユーザタグテーブルが記憶される。そして、端末100を介してユーザによりサービスの提供が要求されると、セキュリティ管理モジュール45は、当該サービスの許可ユーザタグをセキュリティ定義から取得すると共に(ステップS180)、端末を操作したユーザのユーザIDに対応したユーザタグをタグ管理サーバ50(タグ情報記憶装置52)から取得する(ステップS190)。更に、セキュリティ管理モジュール45は、ステップS180にて取得した許可ユーザタグに、ステップS190にて取得したユーザタグが含まれているか否かを判定し(ステップS200)、許可ユーザタグにユーザタグが含まれている場合、端末100を操作したユーザへのサービスの提供を許可する。これに対して、許可ユーザタグにユーザタグが含まれていない場合、端末100を操作したユーザへのサービスの提供が禁止される。
これにより、セキュリティ定義を定めると共に、ユーザ(ユーザID)に対して当該ユーザの属性を示すユーザタグを付与しておくことで、要求されたサービスへのユーザアクセスを許可するか否かを適正かつ速やかに判定することが可能となる。また、新規サービス(新規成果物)が追加されたり、サービスの提供態様が変更されたりしても、セキュリティ定義を更新することで、追加・変更されたサービスへのユーザアクセスを許可するか否かを適正に判定することができる。更に、ユーザの所属や役職等が変更されたり、新規ユーザが追加されたりしても、ユーザ(ユーザID)にユーザタグを付与することで、当該ユーザへのサービスの提供の可否を適正に判定することが可能となる。従って、上記セキュリティ管理システム10によれば、システムサーバ1A,1B,1C…により提供される複数のサービスへのユーザアクセスを容易かつ適正に管理することができる。
また、セキュリティ管理システム10では、図8のステップS180からS200の処理が実行される前に、セキュリティキャッシュ記憶装置42に記憶されたキャッシュ情報に基づいて、ユーザにより要求されたサービスの当該ユーザへの提供を許可するか否かが判定される(ステップS110,S120)、これにより、サービスの提供可否の判定をより速やかに実行することが可能となる。更に、セキュリティ管理システム10では、ユーザにより成果物(オブジェクト)の提供が要求された場合、許可ユーザタグとユーザIDに対応したユーザタグとの比較(ステップS180からS200)の前に、セキュリティ定義から取得されたオブジェクトタグに、タグ管理サーバ50から取得されたオブジェクトタグ(オブジェクトIDに対応したもの)が含まれるか否かが判定される(ステップS150からS170)。これにより、より機密性が高い成果物へのユーザアクセスをより厳格に管理することが可能となる。
なお、上述のセキュリティ定義は、システムサーバ1A,1B,1C…により提供されるサービスのシステムアドレスやオブジェクトタグごとに、サービスや成果物へのアクセスが許可される許可ユーザタグを定義するものであるが、これに限られるものではない。すなわち、セキュリティ定義は、複数のサービスごとに、当該サービスへのアクセスが禁止される禁止ユーザタグを定義するように作成されてもよい。そして、セキュリティ定義から取得された禁止ユーザタグにタグ管理サーバ50から取得されたユーザタグ(ユーザIDに対応したもの)が含まれている場合、端末100を操作したユーザのサービスへのアクセスを禁止してもよい。また、この場合、サービスへのアクセスが禁止されたユーザのユーザIDと当該サービスとに合致するキャッシュ情報が存在していれば、当該キャッシュ情報をセキュリティキャッシュ記憶装置42から削除するとよい。更に、セキュリティ定義は、複数のサービスごとに、当該サービスについてセキュリティ管理モジュール45による判定処理の実行を禁止する条件である判定禁止条件を定義するように作成されてもよく、判定許可条件や判定禁止条件に有効期間が設定されてもよい。
図9は、セキュリティ管理サーバ40のセキュリティ管理モジュール45により実行されるキャッシュ情報更新ルーチンの一例を示すフローチャートである。同図に示すキャッシュ情報更新ルーチンは、セキュリティ定義が更新された際、および/または予め定められた期間が経過するたびにセキュリティ管理モジュール45により実行される。
図9のキャッシュ情報更新ルーチンの開始に際して、セキュリティ管理モジュール45(CPU)は、予め定められた順番に従い、セキュリティ定義記憶装置41に記憶されているセキュリティ定義から、更新されている判定許可条件を取得し(ステップS300)、取得した判定許可条件に示される期間に本ルーチンの実行タイミングが含まれるか否かを判定する(ステップS310)。ステップS300にて取得した判定許可条件に示される期間に当該実行タイミングが含まれていない場合、セキュリティ管理モジュール45は、ステップS300にて取得した判定許可条件に対応したサービスのステータスをNGに設定する(ステップS320)。更に、セキュリティ管理モジュール45は、当該判定許可条件に対応したサービスまたはオブジェクトについてのキャッシュ情報をセキュリティキャッシュ記憶装置42から削除する(ステップS330)。
また、ステップS300にて取得した判定許可条件に示される期間に本ルーチンの実行タイミングが含まれている場合、セキュリティ管理モジュール45は、ステップS300にて取得した判定許可条件に対応したサービスのステータスをOKに設定する(ステップS340)。ステップS330またはS340の処理の後、セキュリティ管理モジュール45は、更新された判定許可条件のすべてについて処理が完了したか否かを判定し(ステップS350)、全対象について処理が完了するまで、ステップS300からS340の処理を繰り返し実行する。
このように、更新されていくセキュリティ定義に応じて、セキュリティ管理モジュール45による判定処理の実行が許可されていないサービスのキャッシュ情報を削除することで、キャッシュ情報を適正化し、当該キャッシュ情報に基づくサービスの提供可否の判定(特に、許可判定)をより速やかに実行することが可能となる。
図10は、タグ管理サーバ50のタグ管理モジュール55により実行されるユーザタグ情報更新ルーチンの一例を示すフローチャートである。同図に示すユーザタグ情報更新ルーチンは、ユーザタグ定義が更新された際、並びに人事管理サーバ60において人員情報や組織情報が更新された際にタグ管理モジュール55により実行される。
図10のユーザタグ情報更新ルーチンの開始に際して、タグ管理モジュール55(CPU)は、予め定められた順番に従い、タグ定義記憶装置51に記憶されているユーザタグ定義から、更新されている判定許可条件およびそれに対応したユーザタグを取得し(ステップS400)、取得した判定許可条件に示される期間に本ルーチンの実行タイミングが含まれるか否かを判定する(ステップS410)。ステップS400にて取得した判定許可条件に示される期間に当該実行タイミングが含まれていない場合、タグ管理モジュール55は、ステップS400にて取得した判定許可条件に対応したユーザタグのステータスをNGに設定する(ステップS420)。
一方、ステップS400にて取得した判定許可条件に示される期間に本ルーチンの実行タイミングが含まれている場合、タグ管理モジュール55は、ステップS400にて取得した判定許可条件に対応したユーザタグのステータスをOKに設定する(ステップS430)。ステップS420またはS430の処理の後、タグ管理モジュール55は、更新された判定許可条件のすべてについて処理が完了したか否かを判定し(ステップS440)、全対象について処理が完了するまで、ステップS400からS430の処理を繰り返し実行する。
ステップS440にて判定許可条件についての処理が完了したと判定すると、タグ管理モジュール55は、予め定められた順番に従い、タグ定義記憶装置51に記憶されているユーザタグ定義から、ステータスがOKである人事情報を対象としたユーザタグのうち、少なくとも更新されたユーザタグを取得すると共に、当該ユーザタグに対応した対象フィールドを取得する(ステップS450)。次いで、タグ管理モジュール55は、ステップS450にて取得した対象フィールドに対応したユーザIDを人事管理サーバ60から取得する(ステップS460)。すなわち、ステップS460において、タグ管理モジュール55は、ステップS450にて取得した対象フィールドを人事管理サーバ60の人事情報管理モジュール65に送信する。タグ管理モジュール55から対象フィールドを受信した人事情報管理モジュール65は、受信した対象フィールドに該当するユーザIDを人員情報記憶装置61から取得し、取得したすべてのユーザIDをタグ管理モジュール55に送信する。
タグ管理モジュール55は、ステップS460にて人事管理サーバ60からユーザIDを取得すると、取得したユーザIDに基づいて、タグ情報記憶装置52に記憶されているユーザタグテーブルを更新する(ステップS470)。すなわち、ステップS470において、タグ管理モジュール55は、人事管理サーバ60から取得したすべてのユーザIDにステップS450にて取得したユーザタグを割り当てる(タグ付けする)と共に当該ユーザIDのステータスをOKに設定する。これにより、ユーザタグ定義上で人事情報を対象とするユーザタグが更新されている場合、すなわちユーザタグ定義に人事情報を対象とする新規ユーザタグが追加されている場合、当該ユーザタグにより示される属性を持ったユーザのユーザIDに新規ユーザタグが割り当てられる(タグ付けされる)。また、人事管理サーバ60の人員情報に新規ユーザ(例えば、新入社員等)の新規ユーザIDが追加されている場合、当該ユーザIDとそれに対応したユーザタグがユーザタグテーブルに追加される。更に、人事異動等によりユーザの属性(所属や役職)が変更された場合には、当該ユーザのユーザIDに新たなユーザタグが割り当てられる(タグ付けされる)ことになる。ステップS470の処理の後、タグ管理モジュール55は、人事情報を対象とするユーザタグのすべてについて処理が完了したか否かを判定し(ステップS480)、全対象について処理が完了するまで、ステップS450からS470の処理を繰り返し実行する。
ステップS480にて人事情報を対象とするユーザタグのすべてについての処理が完了したと判定すると、タグ管理モジュール55は、予め定められた順番に従い、タグ定義記憶装置51に記憶されているユーザタグ定義から、ステータスがOKであるログ解析情報を対象としたユーザタグおよびそれに対応した対象フィールドを取得する(ステップS490)。次いで、タグ管理モジュール55は、ステップS490にて取得した対象フィールドに対応したユーザIDをアクセスログ管理サーバ70から取得する(ステップS500)。すなわち、ステップS500において、タグ管理モジュール55は、ステップS490にて取得した対象フィールドをアクセスログ管理サーバ70のログ解析管理モジュール75に送信する。タグ管理モジュール55から対象フィールドを受信したログ解析管理モジュール75は、受信した対象フィールドに対応したユーザIDをログ解析情報記憶装置71から取得し、取得したすべてのユーザIDをタグ管理モジュール55に送信する。
タグ管理モジュール55は、ステップS500にてアクセスログ管理サーバ70からユーザIDを取得すると、取得したユーザIDに基づいて、タグ情報記憶装置52に記憶されているユーザタグテーブルを更新する(ステップS510)。すなわち、ステップS510において、タグ管理モジュール55は、ステップS510にて取得したすべてのユーザIDにステップS500にて取得したユーザタグを割り当てる(タグ付けする)と共に当該ユーザIDのステータスをOKに設定する。これにより、ユーザタグ定義上でログ解析情報を対象とするユーザタグが更新されている場合、すなわちユーザタグ定義にログ解析情報を対象とする新規ユーザタグが追加されている場合、当該ユーザタグにより示される属性を持ったユーザのユーザIDに新規ユーザタグが割り当てられる(タグ付けされる)。また、アクセスログ管理サーバ70のログ解析情報に新規ユーザ(例えば、新規不正使用者等)の新規ユーザIDが追加されている場合、当該ユーザIDとそれに対応したユーザタグがユーザタグテーブルに追加される。ステップS510の処理の後、タグ管理モジュール55は、ログ解析情報を対象とするユーザタグのすべてについて処理が完了したか否かを判定し(ステップS520)、全対象について処理が完了するまで、ステップS490からS510の処理を繰り返し実行する。そして、ステップS520にてログ解析情報を対象とするユーザタグのすべてについての処理が完了したと判定すると、タグ管理モジュール55は、本ルーチンを終了させる。
上述のように、セキュリティ管理システム10では、ユーザタグ定義のユーザタグおよび判定許可条件に基づいて、ユーザIDごとにタグ情報記憶装置52に記憶されているユーザタグテーブルのユーザタグが有効化(OKに設定)または無効化(NGに設定)される(図9のステップS400からS440)。これにより、サービスの提供可否の判定に用いる必要のないユーザタグを無効化し、要求されたサービスへのユーザアクセスを許可するか否かをより速やかに判定することが可能となる。
また、タグ管理サーバ50のタグ管理モジュール55は、ユーザタグ定義のユーザタグごとに、当該ユーザタグが示す属性に該当するユーザIDを人事管理サーバ60(人員情報記憶装置61)やアクセスログ管理サーバ70(ログ解析情報記憶装置71)から取得し、取得したユーザIDにユーザタグを割り当ててタグ情報記憶装置52に記憶されているユーザタグテーブルを更新する(ステップS450からS520)。これにより、ユーザタグ定義に新規ユーザタグが追加された際に、該当するユーザのユーザIDに当該新規ユーザタグを割り当てることが可能となる。また、ユーザの所属や役職等が変更されたり、新規ユーザが追加されたりしても、該当するユーザのユーザIDに、対応したユーザタグを割り当てることができる。この結果、サービスの提供の可否をより柔軟かつ適正に判定することが可能となる。
なお、上記セキュリティ管理システム10のタグ管理サーバ50に構築されるタグ管理モジュール55は、オブジェクトタグ定義が更新された際、例えばシステムサーバから新規成果物の追加が通知された際、並びに予め定められた期間が経過するたびに、該当するシステムサーバからオブジェクトタグ定義から取得した対象フィールドに対応したオブジェクトIDを取得し、取得したオブジェクトIDに基づいてオブジェクトタグテーブルを更新する。このような場合、成果物がXMLデータ等の構造化データにより作成されていれば、システムサーバにおいて、成果物の対象フィールドを容易に判別することが可能となる。
また、ユーザタグ定義の更新に伴って図9のステップS450からS480の処理が実行される場合、当該ステップS450からS480の処理は、人事情報を対象とする更新されたユーザタグのみについて実行されてもよい。同様に、ユーザタグ定義の更新に伴ってステップS490からS520の処理が実行される場合も、当該ステップS490からS520の処理は、ログ解析情報を対象とする更新されたユーザタグのみについて実行されてもよい。更に、図9のステップS400からS440の処理と、ステップS450からS480の処理と、ステップS490からS520の処理とは、必ずしも連続して実行される必要はなく、互いに異なるタイミングで実行されてもよい。また、図9のS420では、ステータスがNGとなるユーザタグおよびそれに対応したユーザIDをユーザタグテーブルから削除してもよい。
以上説明したように、本開示のセキュリティ管理システム(10)は、少なくとも1つのサーバ(1A,1B,1C…)により提供される複数のサービスへのユーザアクセスを管理するセキュリティ管理システムであって、前記複数のサービスごとに、該サービスへのアクセスが許可されるユーザの属性を示す許可ユーザタグを定義したセキュリティ定義を記憶するセキュリティ定義記憶装置(41)と、ユーザIDごとに、当該ユーザIDを持つユーザの属性を示すユーザタグを記憶するタグ情報記憶装置(52)と、前記セキュリティ定義から、端末(100)を介してユーザにより要求されたサービスの前記許可ユーザタグを取得する第1取得モジュール(45,S180)と、前記タグ情報記憶装置(52)から、前記端末(100)を操作したユーザのユーザIDに対応した前記ユーザタグを取得する第2取得モジュール(45,S190)と、前記第1取得モジュールにより取得された前記許可ユーザタグに、前記第2取得モジュールにより取得された前記ユーザタグが含まれているか否かを判定し、前記許可ユーザタグに前記ユーザタグが含まれている場合、前記端末を操作した前記ユーザへの前記サービスの提供を許可し、前記許可ユーザタグに前記ユーザタグが含まれていない場合、前記端末を操作した前記ユーザへの前記サービスの提供を禁止する判定モジュール(45,S200−S230)とを備えるものである。
すなわち、本開示のセキュリティ管理システムでは、少なくとも1つのサーバにより提供される複数のサービスごとに、当該サービスへのアクセスが許可されるユーザを示す許可ユーザタグを定義したセキュリティ定義がセキュリティ定義記憶装置に記憶され、ユーザの属性を示すユーザタグがユーザIDごとにタグ情報記憶装置に記憶される。端末を介してユーザによりサービスの提供が要求されると、第1取得モジュールは、当該サービスの許可ユーザタグをセキュリティ定義から取得し、第2取得モジュールは、端末を操作したユーザのユーザIDに対応したユーザタグをタグ情報記憶手段から取得する。更に、判定モジュールは、第1取得モジュールにより取得された許可ユーザタグに、第2取得モジュールにより取得されたユーザタグが含まれているか否かを判定する。そして、許可ユーザタグにユーザタグが含まれている場合、端末を操作したユーザへのサービスの提供が許可され、許可ユーザタグにユーザタグが含まれていない場合、端末を操作したユーザへのサービスの提供が禁止される。
これにより、セキュリティ定義を定めると共に、ユーザ(ユーザID)に対して当該ユーザの属性を示すユーザタグを付与しておくことで、要求されたサービスへのユーザアクセスを許可するか否かを適正かつ速やかに判定することが可能となる。また、新規サービスが追加されたり、サービスの提供態様が変更されたりしても、セキュリティ定義を更新することで、追加・変更されたサービスへのユーザアクセスを許可するか否かを適正に判定することができる。更に、ユーザの所属や役職等が変更されたり、新規ユーザが追加されたりしても、ユーザ(ユーザID)にユーザタグを付与することで、当該ユーザへのサービスの提供の可否を適正に判定することが可能となる。従って、本開示のセキュリティ管理システムによれば、少なくとも1つのサーバにより提供される複数のサービスへのユーザアクセスを容易かつ適正に管理することができる。なお、サービスの提供には、上述のように、複数のオブジェクトから所望のオブジェクトを探し出すための検索ツールの提供や、単一のオブジェクトの提供が含まれてもよい。
また、前記セキュリティ管理システム(10)は、前記ユーザタグごとに、前記判定モジュールによる判定処理の実行を許可する条件である判定許可条件を定義したユーザタグ定義を記憶するタグ定義記憶装置(51)と、前記ユーザタグ定義の前記ユーザタグおよび前記判定許可条件に基づいて、前記ユーザIDごとに前記タグ情報記憶装置(51)に記憶されている前記ユーザタグを有効化または無効化するタグ情報更新モジュール(55,S400−S440)とを更に備えてもよい。これにより、サービスの提供可否の判定に用いる必要のないユーザタグを無効化し、要求されたサービスへのユーザアクセスを許可するか否かをより速やかに判定することが可能となる。
更に、前記セキュリティ管理システム(10)は、前記ユーザIDごとに、ユーザの属性を記憶するユーザ情報記憶装置(61,71)を備えてもよく、前記タグ情報更新モジュール(55,S450−S490)は、前記ユーザタグ定義の前記ユーザタグごとに、該ユーザタグが示す属性に該当するユーザIDを前記ユーザ情報記憶装置(61,71)から取得し、取得したユーザIDに前記ユーザタグを割り当てて前記タグ情報記憶装置(52)に記憶させてもよい。これにより、ユーザタグ定義に新規ユーザタグが追加された際に、該当するユーザのユーザIDに当該新規ユーザタグを割り当てることが可能となる。また、ユーザの所属や役職等が変更されたり、新規ユーザが追加されたりしても、該当するユーザのユーザIDに、対応したユーザタグを割り当てることができる。この結果、サービスの提供の可否をより柔軟かつ適正に判定することが可能となる。なお、ユーザ情報記憶装置に記憶される情報(ユーザの属性を示す情報)には、アクセスログの解析情報が含まれてもよい。
また、前記セキュリティ管理システム(10)は、前記判定モジュール(45,S200−S230)により前記サービスへのアクセスが許可された前記ユーザの前記ユーザID、該ユーザにアクセスが許可された前記サービス、および該サービスを提供する前記サーバのIDをキャッシュ情報として記憶するキャッシュ情報記憶装置(42)を更に備えてもよく、前記判定モジュール(45,S110,S120)は、前記第1取得モジュール(45,S180)により取得された前記許可ユーザタグと、前記第2取得モジュール(45,S190)により取得された前記ユーザタグとを比較する前に、前記キャッシュ情報に基づいて、ユーザにより要求されたサービスの該ユーザへの提供を許可するか否かを判定してもよい。これにより、サービスの提供可否の判定をより速やかに実行することが可能となる。
更に、前記セキュリティ定義は、前記サービスごとに、前記判定モジュールによる判定処理の実行を許可する条件である判定許可条件を定義してもよく、前記セキュリティ管理システム(10)は、前記セキュリティ定義の前記判定許可条件に基づいて、前記判定処理の実行が許可されていないサービスの前記キャッシュ情報を削除するキャッシュ情報更新モジュール(45,S300−S350)を更に備えてもよい。これにより、セキュリティ定義に応じてキャッシュ情報を適正化し、キャッシュ情報に基づくサービスの提供可否の判定をより速やかに実行することが可能となる。
また、本開示のセキュリティ管理方法は、サーバにより提供されるサービスへのユーザアクセスを管理するセキュリティ管理方法であって、
(a)複数のサービスごとに、該サービスへのアクセスが許可されるユーザの属性を示す許可ユーザタグを定義したセキュリティ定義をセキュリティ定義記憶装置(41)に記憶させると共に、ユーザIDごとに、当該ユーザIDを持つユーザの属性を示すユーザタグをタグ情報記憶装置(52)に記憶させるステップと、
(b)前記セキュリティ定義から、端末(100)を介してユーザにより要求されたサービスの前記許可ユーザタグを取得すると共に(S180)、前記タグ情報記憶装置(52)から、前記端末(100)を操作したユーザのユーザIDに対応した前記ユーザタグを取得するステップ(S190)と、
(c)ステップ(b)にて取得された前記許可ユーザタグに、ステップ(b)にて取得された前記ユーザタグが含まれているか否かを判定し、前記許可ユーザタグに前記ユーザタグが含まれている場合、前記端末を操作した前記ユーザへの前記サービスの提供を許可し、前記許可ユーザタグに前記ユーザタグが含まれていない場合、前記端末を操作した前記ユーザへの前記サービスの提供を禁止するステップ(S200−S230)と、
を含むものである。
本開示のセキュリティ管理方法のように、セキュリティ定義を定めると共に、ユーザ(ユーザID)に対して当該ユーザの属性を示すユーザタグを付与しておくことで、要求されたサービスへのユーザアクセスを許可するか否かを適正に判定することが可能となる。また、新規サービスが追加されたり、サービスの提供態様が変更されたりしても、セキュリティ定義を更新することで、追加・変更されたサービスへのユーザアクセスを許可するか否かを適正に判定することができる。更に、ユーザの所属や役職等が変更されたり、新規ユーザが追加されたりしても、ユーザ(ユーザID)にユーザタグを付与することで、当該ユーザへのサービスの提供の可否を適正に判定することが可能となる。従って、本開示のセキュリティ管理方法によれは、少なくとも1つのサーバにより提供される複数のサービスへのユーザアクセスを容易かつ適正に管理することができる。
ただし、本開示の発明は上記実施形態に何ら限定されるものではなく、本開示の外延の範囲内において様々な変更をなし得ることはいうまでもない。更に、上記実施形態は、あくまで発明の概要の欄に記載された発明の具体的な一形態に過ぎず、発明の概要の欄に記載された発明の要素を限定するものではない。