以下、図面を参照してこの発明に係わる実施形態を説明する。
図1は、この発明の実施形態に係るアクセス制御システムの構成例を概略的に示す図である。
図1に示すように、アクセス制御システムは、システムアクセスサーバ(アクセス制御サーバ)1、認可サーバ2、アクセス先サーバ3、アクセス元サーバ4、利用者端末5、およびネットワーク6を有する。図1に示す例では、システムアクセスサーバ(アクセス制御サーバ)1、認可サーバ2、アクセス先サーバ3、アクセス元サーバ4、および利用者端末5がネットワーク6を介して接続されることにより、アクセス制御システムが構成されている。
システムアクセスサーバ1は、当該アクセス制御システムにおける情報へのアクセスを制御するアクセス制御サーバである。認可サーバ2は、情報へのアクセスの可否を判定する認可システムのサーバコンピュータである。アクセス先サーバ3およびアクセス元サーバ4は、異なる情報管理システムにおけるサーバコンピュータである。本実施形態においては、アクセス元サーバ4を有する情報管理システム(アクセス元システム)内の利用者端末5から、アクセスしたい情報を管理している情報管理システム(アクセス先システム)のサーバがアクセス先サーバ3であるものとする。
また、認可サーバ2は、アクセス先システムなどの情報へのアクセスの可否を判定するための認可情報(外部の認可情報)を記憶する認可情報データベース2aを有する。また、アクセス先サーバ3は、当該アクセス先システム内における情報へのアクセスの可否を判定するための認可情報(内部の認可情報)を記憶する認可情報データベース2aを有する。なお、認可サーバ2が管理する認可情報(外部の認可情報)とアクセス先サーバ3が管理する認可情報(内部の認可情報)とは、必ずしも一致していなくても運用が可能である。
各サーバ1、2、3、4は、プロセッサ、メモリ、通信インターフェースおよび記憶装置などを有する。各サーバ1、2、3,4は、プロセッサがメモリに記憶したプログラムを実行することにより各種の処理機能を実現し、通信インターフェースによりネットワークを介して通信可能である。また、各サーバ1、2、3、4は、各種の処理のログを記憶する記憶装置を有する。
図1に示す構成例において、システムアクセスサーバ1は、プロセッサ11、メモリ12、通信インターフェース(I/F)13、および、記憶装置14などを有する。
プロセッサ11は、CPUなどの演算処理部である。メモリ12は、作業用のデータを一時的に記憶するワークメモリ(例えば、RAMなど)、プログラムを記憶する不揮発性のメモリ(例えば、ROM、EEPROM、フラッシュROMなど)などを有するものとする。プロセッサ11は、メモリ12内のワークメモリを使用して、メモリ12あるいは記憶装置14に記憶したプログラムを実行することにより、種々の処理機能を実現している。
通信インターフェース13は、ネットワーク6を介して各装置と通信するためのインターフェースである。通信インターフェース13は、ネットワーク6を介して通信できるものであれば良く、特定の通信方式のインターフェースに限定されるものではない。また、通信インターフェース13としては、複数種類の通信方式に対応する複数のインターフェースを有していても良い。
記憶装置14は、書き換え可能な不揮発性の記憶装置である。記憶装置14は、各種のデータデータを有する。図1に示す例では、記憶装置14は、認可情報活用ポリシデータベース14a、認可情報同期ポリシデータベース14b、および、ログデータベース14cを有する。認可情報活用ポリシデータベース14aは、認可サーバ2における認可情報とアクセス先サーバの認可情報とのどちらを優先するかを示す情報を記憶する。認可情報同期ポリシデータベース14bは、認可情報が異なる場合にどの認可情報に同期させるかを示す情報を記憶する。ログデータベース14cは、各種の処理におけるログ情報を記憶する。
次に、本実施形態に係るシステムアクセスサーバ1が有する機能について説明する。
図2は、システムアクセスサーバ1が有する機能の構成例を示すブロック図である。
図2に示す例において、システムアクセスサーバ1は、第1通信部21、第2通信部22、第3通信部23、認可判定部24、認可情報同期部25、認可情報探索部26、および、ログ生成部28などの処理機能を有する。これらの処理機能は、例えば、システムアクセスサーバ1において、プロセッサ11がメモリ12あるいは記憶装置14に記憶したプログラムを実行することにより実現する。
第1通信部21は、アクセス元サーバ4と通信するための通信処理部である。第2通信部22は、認可サーバ2と通信するための通信処理部である。第3通信部23は、アクセス先サーバ3と通信するための通信処理部である。第1、第2、第3通信部21、22、23は、通信インターフェース13によるアクセス元サーバ4、認可サーバ2、アクセス先サーバ3とのデータの送受信をプロセッサ11が制御することにより実現する。
第1通信部21は、アクセス元サーバ4からアクセス先サーバ3へのアクセス依頼を受信する受信部およびアクセス先サーバ3からのアクセス結果などをアクセス元サーバ4へ送信する送信部として機能する。
第2通信部22は、アクセス元サーバ4から受信したアクセス依頼に対するアクセス対象に対する認可情報の問い合わせなどを送信する送信部、および、認可サーバ2から問い合わせに対する応答としての認可情報などを受信する受信部として機能する。
第3通信部23は、アクセス元サーバ4から受信したアクセス依頼に対するアクセス対象に対する認可情報の問い合わせなどを送信する送信部、および、アクセス先サーバ3からの問い合わせに対する応答などを受信する受信部として機能する。また、第3通信部23は、アクセス依頼をアクセス先サーバ3へ送信する機能、アクセス先サーバ3からのアクセス依頼に対するアクセス結果を受信する機能なども有する。
認可判定部24は、認可サーバ2が管理する認可情報あるいはアクセス先サーバ3が管理する認可情報の何れかに基づいてアカウント依頼に対するアクセスの可否を判定する。認可判定部24は、認可情報活用ポリシデータベース14aに記憶した認可情報の活用ポリシに基づいて認可サーバ2が管理する認可情報あるいはアクセス先サーバ3が管理する認可情報のどちらをアクセス依頼に対するアクセス判定に用いるかを決定する。認可サーバ2が管理する認可情報を適用(優先)すると決定した場合、認可判定部24は、認可サーバ2が管理する認可情報に基づいてアクセス依頼に対するアクセス制御を行う。また、アクセス先サーバ3が管理する認可情報を適用(優先)すると決定した場合、認可判定部24は、アクセス先サーバ3が管理する認可情報に基づいてアクセス依頼に対するアクセス制御を行う。
認可情報同期部25は、認可サーバ2の認可情報あるいはアクセス先サーバ3の認可情報の何れかに基づいてアカウント依頼に対するアクセスの可否を決定するかを判定する。認可情報同期部25は、認可サーバ2の認可情報とアクセス先サーバ3の認可情報とが異なる場合、認可情報同期ポリシデータベース14bに記憶した認可情報の同期ポリシに基づいて、認可サーバ2の認可情報あるいはアクセス先サーバ3の認可情報のうち、どちらの認可情報を優先するかを決定する。認可サーバ2の認可情報を優先すると決定した場合、認可判定部24は、認可サーバ2の認可情報に基づいてアクセス先サーバの認可情報を同期(更新)する。また、アクセス先サーバ3の認可情報を優先すると決定した場合、認可判定部24は、アクセス先サーバ3の認可情報に基づいて認可サーバ2の認可情報を同期(更新)する。
認可情報探索部26は、アクセス対象となる情報全てにアクセス可能な認可情報を和集合を収集し、認可サーバ2から収集した認可情報の和集合でアクセス対象全てとなるアカウントの組み合わせ候補を選出する。アクセス対象全てにアクセス可能となるアカウントに組合せに基づいて認可情報の和集合で認可情報を認可サーバ2に登録する。
ログ生成部28は、各部の処理においてイベントごとにログ情報を生成し、生成したログをログデータベース14cに保存する。たとえば、アクセス依頼の受信処理、認可判定処理、認可情報の同期処理、認可情報の探索処理、およびアクセス結果の転送処理などのインベントが発生するごとにログ情報を生成し、ログデータベース14cに保存する。
例えば、認可情報同期部25による認可情報の同期処理においては、同期処理による認可情報の正当性を検証したり、更新した認可情報を更新前の状態に戻したりすることを行えるように詳細なログを保存するようにする。すなわち、認可情報同期部25により認可情報の同期処理を実行する場合、ログ生成部28は、どのように認可情報が異なり、どの情報を更新したかを示すログ情報を保存するようにする。これにより、システムアクセスサーバ1は、同期処理によって更新した認可情報の記録をログデータベース14cに保存する。
次に、システムアクセスサーバ1におけるアクセス制御の概要について説明する。
図3は、システムアクセスサーバ1における処理の概要を説明するための図である。
システムアクセスサーバ1は、認可判定部24、認可情報同期部25、認可情報探索部26により、認可サーバ2の認可情報とアクセス先システムの認可情報とに応じた処理を行う。
すなわち、認可判定部24は、認可情報活用ポリシデータベース14aに記憶した認可情報の活用ポリシに従って、認可サーバ2の認可情報とアクセス先システムの認可情報とのうち優先される認可情報によってアクセス制御を行うかを判定する認可判定処理を行う。
認可情報同期部25は、認可サーバ2の認可情報とアクセス先サーバ3の認可情報とが異なる場合、認可情報同期ポリシデータベース14bに記憶した認可情報の同期ポリシに従って認可サーバ2の認可情報とアクセス先サーバ3の認可情報とを同期させる処理(認可情報の同期処理)を行う。認可情報同期部25は、認可サーバ2の認可情報とアクセス先サーバ3の認可情報とが異なる場合、認可情報同期ポリシデータベース14bに記憶した認可情報の同期ポリシに従ってどちらの認可情報を優先するかを決定し、優先する認可情報になるように他方の認可情報を更新する。
また、認可情報同期部25による認可情報の同期処理は、認可判定部24による認可判定処理とは独立して実施しても良いし、認可判定部24による判定を行った後に実施するようにしても良い。
認可情報探索部26は、アクセス対象となる情報全てにアクセス可能な認可情報の和集合を収集し、認可サーバ2から収集した認可情報の和集合でアクセス対象全てとなるアカウントの組み合わせ候補を選出する。アクセス対象全てにアクセス可能となるアカウントに組合せに基づいて認可情報の和集合で認可情報を認可サーバ2に登録する。
次に、システムアクセスサーバ1における第1の認可判定処理について説明する。
図4は、システムアクセスサーバ1における第1の認可判定処理の流れを説明するためのフローチャートである。第1の認可判定処理は、アクセス先システム内の認可情報(内部の認可情報)がアクセス先サーバ3から取得できることを前提とする処理である。
システムアクセスサーバ1では、第1通信部21によりアクセス元サーバ4からのアクセス先サーバ3へのアクセス依頼を受け付ける(S101)。アクセス依頼を受信すると、プロセッサ11は、アクセス依頼に対するアクセス判定を行うため、認可判定部24により認可サーバ2が管理する認可情報(外部の認可情報)を優先するか、アクセス先サーバ3が管理する認可情報(内部の認可情報)を優先するかを判定する(S102)。
認可サーバ2が管理する認可情報(外部の認可情報)を優先すると判定した場合(S102、外部)、プロセッサ11は、認可サーバ2から認可情報(外部の認可情報)を取得する処理を行う(S103)。外部の認可情報を取得すると、プロセッサ11は、認可サーバ2から取得した外部の認可情報に基づいて、アクセス依頼が示すアクセス対象に対してアクセスの可否を判定する(S104)。
外部の認可情報によるアクセス依頼がアクセス対象とする情報に対してアクセス可と判定した場合(S104、YES)、プロセッサ11は、当該アクセス依頼をアクセス先サーバ3へ送信し、アクセス先サーバ3からアクセス対象の情報を含むアクセス結果を受信することによりアクセス対象の情報へのアクセスを実施する(S105)。アクセス依頼に基づくアクセス対象の情報へのアクセスが実施できた場合(S106、YES)、プロセッサ11は、アクセス結果をアクセス元サーバ4へ送信し(S107)、当該アクセス依頼に対するアクセス処理を終了する。
また、外部の認可情報でのアクセスが不可と判定された場合(S104、NO)、あるいは、当該アクセス依頼に基づくアクセス対象の情報へのアクセスが実施できなかった場合(S106、NO)、プロセッサ11は、アクセスできない旨をエラー理由とともにアクセス元サーバ4へ送信し(S108)、一連の処理を終了する。
また、アクセス先サーバ3が管理する認可情報(内部の認可情報)を優先すると判断した場合(S102、内部)、プロセッサ11は、アクセス先サーバ3から認可情報(内部の認可情報)を取得する処理を行う(S109)。アクセス先サーバ3から内部の認可情報を取得すると、プロセッサ11は、取得した内部の認可情報に基づいて、アクセス依頼が示すアクセス対象に対してアクセスの可否を判定する(S110)。内部の認可情報によるアクセス依頼がアクセス対象とする情報に対してアクセス可と判定した場合(S110、YES)、プロセッサ11は、当該アクセス依頼をアクセス先サーバ3へ送信し、アクセス先サーバ3からアクセス対象の情報を含むアクセス結果を受信することによりアクセス対象の情報へのアクセスを実施する(S111)。
アクセス依頼に基づくアクセス対象の情報へのアクセスが実施できた場合(S112、YES)、プロセッサ11は、アクセス結果をアクセス元サーバ4へ送信し(S113)、当該アクセス依頼に対するアクセス処理を終了する。また、内部の認可情報でのアクセスが不可と判定された場合(S110、NO)、あるいは、当該アクセス依頼に基づくアクセス対象の情報へのアクセスが実施できなかった場合(S112、NO)、プロセッサ11は、アクセスできない旨をエラー理由とともにアクセス元サーバ4へ送信し(S114)、一連の処理を終了する。
次に、システム全体における第1の認可判定処理の流れについて説明する。
図5は、アクセス制御システム全体における第1の認可判定処理の流れを示す動作シーケンスである。
まず、利用者は、利用者端末5によりアクセス先サーバ3が管理する情報へのアクセスを指示する。利用者端末5のプロセッサは、アクセス開始の要求とともに、アクセス対象を示す情報と利用者のアカウント情報とをアクセス元サーバ4へ送信する(S131)。
利用者端末5からアクセス先サーバ3が管理する情報へのアクセスの要求を受信すると、アクセス元サーバ4のプロセッサは、アクセス対象を示す情報とアクセスを要求するユーザのアカウントとを含むアクセス依頼をシステムアクセスサーバ1へ送信する(S132)。
システムアクセスサーバ1は、第1通信部21によりアクセス元サーバ4からのアクセス依頼を受信する。アクセス元サーバ4からアクセス依頼を受信すると、第1通信部21は、受信したアクセス依頼を認可判定部24へ供給する(S133)。システムアクセスサーバ1の認可判定部24は、受信したアクセス依頼に対する認可情報として、認可サーバが管理する認可情報(外部の認可情報)を適用するかアクセス先サーバが管理する認可情報(内部の認可情報)を適用するかを特定する(S134)。認可判定部24は、認可情報活用ポリシデータベース14aに記憶している認可情報の活用ポリシに従って、認可サーバ2の認可情報を適用(優先)するかアクセス先サーバの認可情報を適用(優先)するかを決定する。
認可サーバ2の認可情報を適用すると決定した場合、認可判定部24は、アカウントおよびアクセス対象を含むアクセス依頼に対する認可情報を第2通信部22を介して認可サーバ2へ問い合わせる(S136)。これに対して、認可サーバ2は、認可情報データベース2aに記憶している認可情報に基づいて、システムアクセスサーバ1から問い合わせられたアクセス対象に対する認可情報を特定する。アクセス対象に対する認可情報を特定すると、認可サーバ2は、問い合わせのあったアクセス対象に対する認可情報をシステムアクセスサーバ1へ返送する(S138)。
認可サーバ2から認可情報を受信すると、システムアクセスサーバ1の第2通信部22は、受信した認可情報を認可判定部24へ供給する(S139)。認可サーバ2からの認可情報を取得すると、認可判定部24は、取得した認可情報に基づいてアクセス依頼のアクセス対象に対するアクセス判定を行う(S140)。このアクセス判定によりアクセス可と判定した場合、認可判定部24は、当該アクセス依頼を第3通信部23を介してアクセス先サーバ3へ送信する(S141、S142)。
システムアクセスサーバ1でアクセス可と判定されたアクセス依頼を受信する。アクセス依頼を受信すると、アクセス先サーバ3は、受信したアクセス依頼に応じてアクセス処理を実行する。このアクセス処理を実行すると、アクセス先サーバ3は、アクセス依頼に応じたアクセス処理によるアクセス結果をシステムアクセスサーバ1へ返送する(S143)。
アクセス先サーバ3からアクセス依頼に対するアクセス結果を受信すると、システムアクセスサーバ1の第3通信部23は、受信したアクセス結果を認可判定部24へ供給する(S144)。アクセス先サーバ3からアクセス結果を取得すると、認可判定部24は、取得したアクセス結果を第1通信部21を介してアクセス元サーバ4へ送信する(S145、S146)。第1通信部21から送信したアクセス結果は、アクセス元サーバ4が受信する。アクセス依頼に対するアクセス結果を受信した場合、アクセス元サーバ4は、システムアクセスサーバ1から受信したアクセス結果を利用者端末5へ転送し(S147)、アクセス依頼に対する一連の処理を終了する。
また、優先判定によりアクセス先サーバ3の認可情報を適用すると決定した場合、認可判定部24は、アカウントおよびアクセス対象を含むアクセス依頼に対する認可情報を第3通信部23を介してアクセス先サーバ3へ問い合わせる(S151、S152)。このような問い合わせに対して、アクセス先サーバ3は、認可情報データベース3aに記憶している認可情報に基づいて、システムアクセスサーバ1から問い合わせられたアクセス対象に対する認可情報を特定する(S153)。アクセス対象に対する認可情報を特定すると、アクセス先サーバ3は、問い合わせのあったアクセス対象に対する認可情報をシステムアクセスサーバ1へ返送する(S154)。
アクセス先サーバ3から認可情報が送信されると、システムアクセスサーバ1は、第3通信部23によりアクセス先サーバ3からの認可情報を受信する。第3通信部23は、アクセス先サーバ3から受信した認可情報を認可判定部24へ供給する(S155)。アクセス先サーバ3からの認可情報を取得すると、認可判定部24は、取得した認可情報に基づいてアクセス依頼のアクセス対象に対するアクセス判定を行う(S156)。
このアクセス判定によりアクセス依頼をアクセス可と判定した場合、認可判定部24は、当該アクセス依頼を第3通信部23を介してアクセス先サーバ3へ送信する(S157、S158)。
システムアクセスサーバ1からのアクセス依頼は、アクセス先サーバ3が受信する(S)。アクセス依頼を受信すると、アクセス先サーバ3は、受信したアクセス依頼に応じてアクセス処理を実行する。アクセス処理を実行すると、アクセス先サーバ3は、アクセス依頼に応じたアクセス処理によるアクセス結果をシステムアクセスサーバ1へ返送する(S159)。
アクセス先サーバ3からアクセス依頼に対するアクセス結果を受信すると、システムアクセスサーバ1の第3通信部23は、受信したアクセス結果を認可判定部24へ供給する(S160)。アクセス先サーバ3からアクセス結果を取得すると、認可判定部24は、取得したアクセス結果を第1通信部21を介してアクセス元サーバ4へ送信する(S161、S162)。第1通信部21から送信したアクセス結果は、アクセス元サーバ4が受信する。アクセス依頼に対するアクセス結果を受信した場合、アクセス元サーバ4は、システムアクセスサーバ1から受信したアクセス結果を利用者端末5へ転送し(S163)、アクセス依頼に対する一連の処理を終了する。
また、S140或いはS156のアクセス判定においてアクセス依頼に対してアクセス不可と判定した場合、認可判定部24は、当該アクセス依頼に対してアクセスが不可である旨を含むアクセス結果を第1通信部21を介してアクセス元サーバ4へ送信する(S164、S165)。このようなアクセス不可のアクセス結果を受信した場合、アクセス元サーバ4は、システムアクセスサーバ1から受信したアクセス結果を利用者端末5へ転送し(S166)、アクセス依頼に対する一連の処理を終了する。
次に、システムアクセスサーバ1における第2の認可判定処理について説明する。
図6は、システムアクセスサーバ1における第2の認可判定処理の流れを説明するためのフローチャートである。第2の認可判定処理は、システムアクセスサーバ1がアクセス先システムの認可情報(内部の認可情報)をアクセス先サーバ3から取得できないことを前提とする処理である。
まず、システムアクセスサーバ1では、第1通信部21によりアクセス元サーバ4からのアクセス先サーバ3へのアクセス依頼を受け付ける(S201)。アクセス依頼を受信すると、プロセッサ11は、アクセス依頼に対するアクセス判定を行うため、認可判定部24により認可サーバ2が管理する認可情報(外部の認可情報)を優先するか、アクセス先サーバ3が管理する認可情報(内部の認可情報)を優先するかを判定する(S202)。
認可サーバ2が管理する認可情報(外部の認可情報)を優先すると判定した場合(S202、外部)、プロセッサ11は、認可サーバ2から認可情報(外部の認可情報)を取得する処理を行う(S203)。認可サーバ2から外部の認可情報を取得すると、プロセッサ11は、認可サーバ2から取得した外部の認可情報に基づいて、アクセス依頼が示すアクセス対象に対してアクセスの可否を判定する(S204)。
外部の認可情報によるアクセス判定によりアクセス依頼をアクセス可と判定した場合(S204、YES)、プロセッサ11は、当該アクセス依頼をアクセス先サーバ3へ送信し、アクセス先サーバ3からアクセス対象の情報を含むアクセス結果を受信することによりアクセス対象の情報を取得するアクセス処理を実施する(S205)。アクセス依頼に基づくアクセス対象の情報へのアクセス処理が実施できた場合(S206、YES)、プロセッサ11は、アクセス結果をアクセス元サーバ4へ送信し(S207)、当該アクセス依頼に対するアクセス処理を終了する。
また、外部の認可情報でのアクセスが不可と判断された場合(S204、NO)、あるいは、当該アクセス依頼に基づくアクセス対象の情報へのアクセスが実施できなかった場合(S206、NO)、プロセッサ11は、アクセスできない旨をエラー理由とともにアクセス元サーバ4へ送信し(S208)、一連の処理を終了する。
また、アクセス先サーバ3が管理する認可情報(内部の認可情報)を優先すると判断した場合(S202、内部)、プロセッサ11は、アクセス先サーバ3から認可情報(内部の認可情報)を取得できない形態においては、アクセス先サーバ3から内部の認可情報を取得する処理および内部の認可情報によるアクセス判定処理などを省略して、アクセス依頼に基づくアクセスを実施する(S211)。この場合、プロセッサ11は、アクセス判定の依頼も含めてアクセス依頼をアクセス先サーバ3へ送信し、アクセス先サーバ3からアクセス判定結果を含むアクセス対象の情報へのアクセス結果を受信することによりアクセスを実施する。
アクセス依頼に基づくアクセス対象の情報へのアクセスが実施できた場合(S212、YES)、プロセッサ11は、アクセス結果をアクセス元サーバ4へ送信し(S213)、当該アクセス依頼に対するアクセス処理を終了する。また、当該アクセス依頼に基づくアクセス対象の情報へのアクセスが実施できなかった場合(S212、NO)、プロセッサ11は、アクセスできない旨をエラー理由とともにアクセス元サーバ4へ送信し(S214)、一連の処理を終了する。
次に、システム全体における第2の認可判定処理の流れについて説明する。
図7は、アクセス制御システム全体における第2の認可判定処理の流れを示す動作シーケンスである。第2の認可判定処理は、アクセス先システム内の認可情報(内部の認可情報)がアクセス先サーバ3から取得できないことを前提した処理である。
まず、利用者端末5は、利用者の操作に応じて、アクセス開始の要求とともに、アクセス対象を示す情報と利用者のアカウント情報とをアクセス元サーバ4へ送信する(S231)。利用者端末5からアクセス先サーバ3が管理する情報へのアクセスの要求を受信すると、アクセス元サーバ4は、アクセス対象を示す情報とアクセスを要求するユーザのアカウントとを含むアクセス依頼をシステムアクセスサーバ1へ送信する(S232)。
システムアクセスサーバ1は、第1通信部21によりアクセス元サーバ4からのアクセス依頼を受信する。アクセス元サーバ4からアクセス依頼を受信すると、第1通信部21は、受信したアクセス依頼を認可判定部24へ供給する(S233)。
システムアクセスサーバ1の認可判定部24は、受信したアクセス依頼に対するアクセス判定に、認可サーバ2が管理する認可情報(外部の認可情報)を適用するかアクセス先サーバ3が管理する認可情報(内部の認可情報)を適用するかを特定する(S234)。認可判定部24は、認可情報活用ポリシデータベース14aに記憶している認可情報の活用ポリシに従って、認可サーバ2の認可情報を適用(優先)するかアクセス先サーバの認可情報を適用(優先)するかを決定する。
アクセス依頼に対するアクセス判定に認可サーバ2から管理する認可情報(外部の認可情報)を適用すると決定した場合、認可判定部24は、アカウントおよびアクセス対象を含むアクセス依頼に対する認可情報を第2通信部22を介して認可サーバ2へ問い合わせる(S235、S236)。これに対して、認可サーバ2は、認可情報データベース2aに記憶している認可情報に基づいて、システムアクセスサーバ1から問い合わせられたアクセス対象に対する認可情報を特定する。アクセス対象に対する認可情報を特定すると、認可サーバ2は、問い合わせのあったアクセス対象に対する認可情報をシステムアクセスサーバ1へ返送する(S237)。
認可サーバ2から認可情報を受信すると、システムアクセスサーバ1の第2通信部22は、受信した認可情報を認可判定部24へ供給する(S238)。認可サーバ2からの認可情報を取得すると、認可判定部24は、取得した認可情報に基づいてアクセス依頼のアクセス対象に対するアクセス判定を行う(S239)。このアクセス判定によりアクセス可を判定した場合、認可判定部24は、当該アクセス依頼を第3通信部23を介してアクセス先サーバ3へ送信する(S240、S241)。
これに対して、アクセス先サーバ3は、システムアクセスサーバ1でアクセス可と判定されたアクセス依頼を受信する。アクセス依頼を受信すると、アクセス先サーバ3は、受信したアクセス依頼に応じてアクセス処理を実行する。このアクセス処理を実行すると、アクセス先サーバ3は、アクセス依頼に応じたアクセス処理によるアクセス結果をシステムアクセスサーバ1へ返送する(S242)。
アクセス先サーバ3からアクセス依頼に対するアクセス結果を受信すると、システムアクセスサーバ1の第3通信部23は、受信したアクセス結果を認可判定部24へ供給する(S243)。アクセス先サーバ3からアクセス結果を取得すると、認可判定部24は、取得したアクセス結果を第1通信部21を介してアクセス元サーバ4へ送信する(S244、S245)。第1通信部21から送信したアクセス結果は、アクセス元サーバ4が受信する。アクセス依頼に対するアクセス結果を受信した場合、アクセス元サーバ4は、システムアクセスサーバ1から受信したアクセス結果を利用者端末5へ転送し(S246)、アクセス依頼に対する一連の処理を終了する。
また、アクセス判定においてアクセス依頼に対してアクセス不可と判定した場合、認可判定部24は、当該アクセス依頼に対してアクセスが不可である旨を含むアクセス結果を第1通信部21を介してアクセス元サーバ4へ送信する(S247、S248)。このようなアクセス不可のアクセス結果を受信した場合、アクセス元サーバ4は、システムアクセスサーバ1から受信したアクセス結果を利用者端末5へ転送し(S249)、アクセス依頼に対する一連の処理を終了する。
また、優先判定によりアクセス先サーバ3の認可情報を適用すると決定した場合、認可判定部24は、アクセス判定を含めて当該アクセス依頼を第3通信部23を介してアクセス先サーバ3へ送信する(S251、S252)。このようなアクセス依頼に対して、アクセス先サーバ3は、アクセス依頼のアクセス対象に対して当該サーバ内で認可情報データベース3aに記憶している認可情報に基づいてアクセスの可否を判定する。この場合、アクセス先サーバ3は、当該アクセス依頼に対してアクセス可と判定した場合には、アクセス依頼が示すアクセス対象へのアクセス結果をシステムアクセスサーバ1へ送信し、アクセス不可である場合にはアクセス不可と判定された旨のアクセス結果をシステムアクセスサーバ1へ送信する(S253)。
アクセス先サーバ3からアクセス依頼に対するアクセス判定結果を含むアクセス結果を受信すると、システムアクセスサーバ1の第3通信部23は、受信したアクセス結果を認可判定部24へ供給する(S254)。アクセス先サーバ3からアクセス結果を取得すると、認可判定部24は、取得したアクセス結果を第1通信部21を介してアクセス元サーバ4へ送信する(S255、S256)。第1通信部21から送信したアクセス結果は、アクセス元サーバ4が受信する。アクセス依頼に対するアクセス結果を受信した場合、アクセス元サーバ4は、システムアクセスサーバ1から受信したアクセス結果を利用者端末5へ転送し(S257)、アクセス依頼に対する一連の処理を終了する。
上記のような第1、第2の認可判定処理によれば、システムアクセスサーバは、トップダウンで設定されたアクセス先システム外部の認可情報(認可サーバが管理する認可情報)と、ボトムアップで設定されたアクセス先システム内部の認可情報(アクセス先サーバが管理する認可情報)とのどちらを優先するかを予め設定されている認可情報活用ポリシに従って決定し、優先に設定されている認可情報に基づいてアクセス依頼に対するアクセス制御を行う。
これにより、外部の認可情報(認可サーバが管理する認可情報)と内部の認可情報(アクセス先サーバが管理する認可情報)とに矛盾があった場合であっても、アクセス依頼に対するアクセス判定を行うことできる。この結果として、アクセス判定について、バリエーションを持たせることができ、緊急時のアクセス、誤りへの対応、或いは、最新情報への対応などを効率良く実施することが可能となる。
次に、システムアクセスサーバ1における第1の同期判定処理について説明する。
図8は、システムアクセスサーバ1における第1の同期判定処理の流れを説明するためのフローチャートである。第1の同期判定処理は、アクセス先システム内の認可情報(内部の認可情報)がアクセス先サーバ3から取得できることを前提した処理である。
システムアクセスサーバ1では、認可サーバ2の認可情報とアクセス先サーバ3の認可情報との同期判定処理を受け付ける。たとえば、利用者端末5において、アクセス対象を指定して認可サーバ2の認可情報とアクセス先サーバの認可情報との同期判定処理を要求する。この場合、システムアクセスサーバ1は、第1通信部21によりアクセス元サーバ4からの同期判定処理の要求を受け付ける。同期判定処理の要求には、例えば、アカウントとアクセス対象とを含むものとする。
なお、同期判定処理は、所定のユーザ(例えば、管理権限を有する特定のアカウント)からの要求に応じて実施するようにしても良い。また、同期判定処理は、アクセス依頼に応じたアクセス制御処理において実施するようにしても良い。認可判定処理を組み合わせて実施しても良い。
同期判定処理の要求を受け付けると、プロセッサ11は、認可サーバ2と通信し、同期判定処理の要求として指定されたアクセス対象に対する認可サーバ2が管理する認可情報(外部の認可情報)を認可サーバ2から取得する(S301)。また、プロセッサ11は、アクセス先サーバ3と通信し、同期判定処理の要求として指定されたアクセス対象に対するアクセス先サーバ3が管理する認可情報(内部の認可情報)を取得する(S302)。
外部の認可情報と内部の認可情報とを取得すると、プロセッサ11は、外部の認可情報と内部の認可情報とが相違するか否かを判断する(S303)。外部の認可情報と内部の認可情報とが相違すると判断した場合(S303、YES)、プロセッサ11は、認可情報同期ポリシデータベースに記憶されている同期ポリシに従って、外部の認可情報を優先するか、内部の認可情報を優先するかを判定する(S304)。
認可サーバ2が管理する認可情報(外部の認可情報)を優先すると判定した場合(S304、外部)、プロセッサ11は、認可サーバ2から取得した認可情報(外部の認可情報)により認可情報を更新する旨の更新要求をアクセス先サーバ3へ送信する(S305)。更新要求を送信した場合、プロセッサ11は、更新前の状態と更新内容とを示すログ情報を生成してログデータベース14cに保存する(S306)。ここでは、少なくともログ情報によって更新前の状態に戻せる情報が保存されるものとする。
認可サーバ2の認可情報による更新要求(同期処理の要求)を送信した後、プロセッサ11は、アクセス先サーバ3からの更新要求に対する応答(更新処理の結果)を受信する(S307)。アクセス先サーバ3から更新処理の結果を受信すると、プロセッサ11は、アクセス先サーバ3での認可情報の更新結果をアクセス元サーバ4へ送信する(S308)。また、プロセッサ11は、アクセス先サーバ3での認可情報の更新結果を示すログ情報を生成してログデータベース14cに保存する(S309)。
なお、上記S306およびS309で保存したログ情報は、少なくとも更新対象となったアクセス先サーバ3の認可情報を更新前の状態に戻せる情報が保存されるものとする。これにより、同期処理によって更新した内容を確実に保持でき、更新前の状態に戻すことも保障できる。
また、アクセス先サーバ3が管理する認可情報(内部の認可情報)を優先すると判定した場合(S304、内部)、プロセッサ11は、アクセス先サーバ3から取得した認可情報(内部の認可情報)により認可情報を更新する旨の更新要求を認可サーバ2へ送信する(S310)。認可サーバ2へ更新要求を送信した場合、プロセッサ11は、更新前の状態と更新内容とを示すログ情報を生成してログデータベース14cに保存する(S311)。
アクセス先サーバ3の認可情報による更新要求(同期処理の要求)を送信した後、プロセッサ11は、認可サーバ2からの更新要求に対する応答(更新処理の結果)を受信する(S312)。認可サーバ2から更新処理の結果を受信すると、プロセッサ11は、認可サーバ2での認可情報の更新結果をアクセス元サーバ4へ送信する(S308)。また、プロセッサ11は、アクセス先サーバ3での認可情報の更新結果を示すログ情報を生成してログデータベース14cに保存する(S309)。
なお、上記S311およびS309で保存したログ情報は、少なくとも更新対象となった認可サーバ2の認可情報を更新前の状態に戻せる情報が保存されるものとする。これにより、同期処理によって更新した内容を確実に保持でき、更新前の状態に戻すことも保障できる。
次に、システム全体における第1の同期判定処理の流れについて説明する。
図9は、アクセス制御システム全体における第1の同期判定処理の流れを示す動作シーケンスである。
まず、利用者は、利用者端末5により認可サーバ2の認可情報とアクセス先サーバ3の認可情報との同期判定処理の要求を指示する。利用者端末5は、同期判定処理の要求とともに、アクセス対象を示す情報と利用者のアカウント情報とをアクセス元サーバ4へ送信する(S331)。
利用者端末5から同期判定処理の要求を受信すると、アクセス元サーバ4は、アクセス対象を示す情報と処理を要求するユーザのアカウントとを含む同期判定処理の依頼をシステムアクセスサーバ1へ送信する(S332)。
システムアクセスサーバ1は、第1通信部21によりアクセス元サーバ4からの同期判定処理の依頼を受信する。アクセス元サーバ4から同期判定処理の依頼を受信すると、第1通信部21は、受信した同期判定処理の依頼を認可情報同期部25へ供給する(S333)。
同期判定処理の依頼を受信すると、認可情報同期部25は、同期判定処理が要求されたアクセス対象に対する外部の認可情報として認可サーバ2が管理する認可情報を第2通信部22を介して認可サーバ2へ要求する(S334、S335)。
システムアクセスサーバ1からの認可情報の要求を受信すると、認可サーバ2は、当該要求で指定されたアクセス対象に対する認可情報を認可情報データベース2aから抽出し、抽出した認可情報をシステムアクセスサーバ1へ返信する(S336)。
認可サーバ2へ認可情報を要求した後、システムアクセスサーバ1の第2通信部22は、認可サーバ2からの認可情報を受信する(S336)。認可サーバ2から認可情報を受信すると、第2通信部22は、受信した認可情報(外部の認可情報)を認可情報同期部25へ供給する(S337)。
また、同期判定処理の依頼を受信した認可情報同期部25は、同期判定処理が要求されたアクセス対象に対する内部の認可情報としてアクセス先サーバ3が管理する認可情報を第3通信部23を介してアクセス先サーバ3へ要求する(S338、S339)。なお、S334及びS335の処理と、S338及びS339の処理とは、どの順序で実施しても良いし、同時に実施しても良い。
システムアクセスサーバ1からの認可情報の要求を受信すると、アクセス先サーバ3は、当該要求で指定されたアクセス対象に対する認可情報を認可情報データベース3aから抽出し、抽出した認可情報をシステムアクセスサーバ1へ返信する(S340)。
アクセス先サーバ3へ認可情報を要求した後、システムアクセスサーバ1の第3通信部23は、アクセス先サーバ3からの認可情報を受信する(S340)。アクセス先サーバ3から認可情報を受信すると、第3通信部23は、受信した認可情報(外部の認可情報)を認可情報同期部25へ供給する(S341)。
認可サーバ2からの外部の認可情報(図9中では認可情報1)とアクセス先サーバ3からの内部の認可情報(図9中では認可情報2)とを取得すると、認可情報同期部25は、外部の認可情報と内部の認可情報とに差異があるか否かを判断する(S342)。認可情報に差異があると判断した場合(S342、差異あり)、認可情報同期部25は、さらに、取得した外部の認可情報と内部の認可情報とのどちらを優先するかを判定する優先判定を行う(S343)。認可情報同期部25は、認可情報同期ポリシデータベース14bに記憶している同期ポリシに従って優先判定を行う
優先判定において外部の認可情報を優先すると判定した場合(S343、外部優先)、認可情報同期部25は、アカウント、アクセス対象、および、外部の認可情報を含む認可情報の更新要求を第3通信部23を介してアクセス先サーバ3へ送信する(S344、S345)。このとき、ログ生成部28は、認可情報の更新要求の送信イベントを受けて、更新内容を示すログ情報を生成してログデータベース14cに保存する。
認可情報の更新要求を受信すると、アクセス先サーバ3は、更新要求とともに受信した外部の認可情報によって認可情報データベース3aに記憶している指定されたアクセス対象の認可情報を更新する(S346)。認可情報の更新を行う場合、アクセス先サーバ3は、更新内容を示すログ情報を保存するようにしても良い。認可情報データベース3aに対する認可情報の更新処理が終了すると、アクセス先サーバ3は、更新要求元となるシステムアクセスサーバ1に対して更新処理の実行結果を送信する(S347)。
アクセス先サーバ3へ認可情報の更新要求を送信した後、システムアクセスサーバ1の第3通信部23は、アクセス先サーバ3から認可情報の更新処理の実行結果を受信する(S347)。このとき、システムアクセスサーバ1において、ログ生成部28は、更新処理の実行結果の受信イベントを受けて更新処理の実行結果を示すログ情報を生成してログデータベース14cに記憶する。
アクセス先サーバ3から更新処理の実行結果を受信すると、第3通信部23は、受信した更新処理の実行結果を認可情報同期部25へ供給する(S348)。更新処理の実行結果を受信すると、認可情報同期部25は、同期処理の依頼の発信元となるアカウントを含む更新処理の実行結果を示す情報を第1通信部21を介してアクセス元サーバ4へ送信する(S349、S350)。
システムアクセスサーバ1から送信された更新処理の実行結果を示す情報は、アクセス元サーバ4が受信する。更新処理の実行結果を受信した場合、アクセス元サーバ4は、受信した更新処理の実行結果を利用者端末5へ転送し(S351)、同期判定処理の要求に対する一連の処理を終了する。
また、優先判定において内部の認可情報を優先すると判定した場合(S343、内部優先)、認可情報同期部25は、アカウント、アクセス対象、および、内部の認可情報を含む認可情報の更新要求を第2通信部22を介して認可サーバ2へ送信する(S352、S353)。このとき、システムアクセスサーバ1において、ログ生成部28は、認可情報の更新要求の送信イベントを受けて、更新要求の内容を示すログ情報を生成してログデータベース14cに保存する。
内部の認可情報による更新要求を受信すると、認可サーバ2は、更新要求とともに受信した内部の認可情報によって認可情報データベース2aに記憶している指定されたアクセス対象の認可情報を更新する(S354)。認可情報の更新を行う場合、認可サーバ2は、更新内容を示すログ情報を保存するようにしても良い。認可情報データベース2aに対する認可情報の更新処理が終了すると、認可サーバ2は、更新要求元となるシステムアクセスサーバ1に対して更新処理の実行結果を送信する(S355)。
認可サーバ2へ認可情報の更新要求を送信した後、システムアクセスサーバ1の第2通信部22は、認可サーバ2から認可情報の更新処理の実行結果を受信する(S355)。このとき、ログ生成部28は、更新処理の実行結果の受信イベントを受けて更新処理の実行結果を示すログ情報を生成してログデータベース14cに記憶する。
認可サーバ2から更新処理の実行結果を受信すると、第2通信部22は、受信した更新処理の実行結果を認可情報同期部25へ供給する(S356)。認可サーバ2における更新処理の実行結果を受信すると、認可情報同期部25は、同期処理の依頼の発信元となるアカウントを含む更新処理の実行結果を示す情報を第1通信部21を介してアクセス元サーバ4へ送信する(S358、S359)。
これに対して、アクセス元サーバ4では、システムアクセスサーバ1からの認可サーバ2における認可情報の更新処理の実行結果を示す情報を受信する。更新処理の実行結果を受信した場合、アクセス元サーバ4は、受信した更新処理の実行結果を利用者端末5へ転送し(S360)、同期判定処理の要求に対する一連の処理を終了する。
また、外部の認可情報と内部の認可情報とに差異が無いと判定した場合(S342、差異無し)、認可情報同期部25は、当該同期判定処理の依頼に対して同期処理が不要であること、或いは、外部の認可情報と内部の認可情報とが一致していることを示す実行結果を第1通信部21を介してアクセス元サーバ4へ送信する(S362、S363)。このような同期判定処理の実行結果を受信した場合、アクセス元サーバ4は、システムアクセスサーバ1から受信した同期判定処理の実行結果を利用者端末5へ転送し(S364)、同期判定処理の要求に対する一連の処理を終了する。
次に、システムアクセスサーバ1における第2の同期判定処理について説明する。
図10は、システムアクセスサーバ1における第2の同期判定処理の流れを説明するためのフローチャートである。第2の同期判定処理は、アクセス先システム内の認可情報(内部の認可情報)がアクセス先サーバ3から取得できないことを前提した処理である。
システムアクセスサーバ1では、認可サーバ2の認可情報とアクセス先サーバ3の認可情報との同期判定処理を受け付ける。たとえば、利用者端末5において、アクセス対象を指定して認可サーバ2の認可情報とアクセス先サーバの認可情報との同期判定処理を要求する。この場合、システムアクセスサーバ1は、第1通信部21によりアクセス元サーバ4からの同期判定処理の要求を受信する。同期判定処理の要求には、例えば、アカウントとアクセス対象とを含むものとする。
なお、同期判定処理は、所定のユーザ(例えば、管理権限を有する特定のアカウント)からの要求に応じて実施するようにしても良い。また、同期判定処理は、アクセス依頼に応じたアクセス制御処理において実施するようにしても良いし、上述した認可判定処理と組み合わせて実施しても良い。
同期判定処理の要求を受け付けると、プロセッサ11は、認可サーバ2と通信し、同期判定処理の要求として指定されたアクセス対象に対する認可サーバ2が管理する認可情報(外部の認可情報)を認可サーバ2から取得する(S401)。
また、プロセッサ11は、アクセス先サーバ3と通信し、同期判定処理の要求として指定されたアクセス対象に対するアクセスの可否を問い合わせ、アクセス先サーバ3から指定されたアクセス対象に対するアクセス判定結果を取得する(S402)。
外部の認可情報とアクセス先サーバ3によるアクセス判定結果とを取得すると、プロセッサ11は、アクセス対象に対する、外部の認可情報によるアクセス判定の結果と内部の認可情報によるアクセス判定の結果とに相違があるか否かを判断する(S403)。たとえば、プロセッサ11は、取得した外部の認可情報によってアクセス対象に対するアクセスの可否を判定し、その判定結果(外部の認可情報によるアクセス判定の結果)とアクセス先サーバ3から取得したアクセス判定の結果とが相違するか否かを判定する。
外部の認可情報によるアクセス判定の結果と内部の認可情報によるアクセス判定の結果とに相違すると判定した場合、プロセッサ11は、認可情報同期ポリシデータベースに記憶されている同期ポリシに従って、外部の認可情報を優先するか、内部の認可情報を優先するかを判定する(S404)。
認可サーバ2が管理する認可情報(外部の認可情報)を優先すると判定した場合(S404、外部)、プロセッサ11は、認可サーバ2から取得した認可情報(外部の認可情報)により認可情報を更新する旨の更新要求をアクセス先サーバ3へ送信する(S405)。更新要求を送信した場合、プロセッサ11は、更新前の状態と更新内容とを示すログ情報を生成してログデータベース14cに保存する。
アクセス先サーバ3へ外部の認可情報による更新要求(同期処理の要求)を送信した後、プロセッサ11は、アクセス先サーバ3からの更新要求に対する応答(更新処理の結果)を受信する(S407)。アクセス先サーバ3から更新処理の結果を受信すると、プロセッサ11は、アクセス先サーバ3での認可情報の更新結果をアクセス元サーバ4へ送信する(S408)。また、プロセッサ11は、アクセス先サーバ3での認可情報の更新結果を示すログ情報を生成してログデータベース14cに保存する(S409)。
なお、上記S406およびS409で保存したログ情報は、少なくとも更新対象となったアクセス先サーバ3の認可情報を更新前の状態に戻せる情報が保存されるものとする。これにより、同期処理によって更新した内容を確実に特定することができ、更新前の状態に戻すことも保障できる。
また、アクセス先サーバ3が管理する認可情報(内部の認可情報)を優先すると判定した場合(S404、内部)、プロセッサ11は、アクセス先サーバ3から認可情報(内部の認可情報)が取得できないため、認可サーバ2が管理する外部の認可情報を更新することができない旨の通知をアクセス元サーバ4へ送信する(S410)。このとき、プロセッサ11は、同期処理の依頼に対して、外部の認可情報の更新ができなかった旨のログ情報を生成してログデータベース14cに保存するようにしても良い。
次に、システム全体における第2の同期判定処理の流れについて説明する。
図11は、アクセス制御システム全体における第2の同期判定処理の流れを示す動作シーケンスである。
まず、利用者は、利用者端末5により認可サーバ2の認可情報とアクセス先サーバ3の認可情報との同期判定処理の要求を指示する。利用者端末5は、同期判定処理の要求とともに、アクセス対象を示す情報と利用者のアカウント情報とをアクセス元サーバ4へ送信する(S431)。利用者端末5から同期判定処理の要求を受信すると、アクセス元サーバ4は、アクセス対象を示す情報と処理を要求するユーザのアカウントとを含む同期判定処理の依頼をシステムアクセスサーバ1へ送信する(S432)。
システムアクセスサーバ1は、第1通信部21によりアクセス元サーバ4からの同期判定処理の依頼を受信する。アクセス元サーバ4から同期判定処理の依頼を受信すると、第1通信部21は、受信した同期判定処理の依頼を認可情報同期部25へ供給する(S433)。
同期判定処理の依頼を受信すると、認可情報同期部25は、同期判定処理が要求されたアクセス対象に対する外部の認可情報として認可サーバ2が管理する認可情報を第2通信部22を介して認可サーバ2へ要求する(S434、S435)。
システムアクセスサーバ1からの認可情報の要求を受信すると、認可サーバ2は、当該要求で指定されたアクセス対象に対する認可情報を認可情報データベース2aから抽出し、抽出した認可情報をシステムアクセスサーバ1へ返信する(S436)。
認可サーバ2へ認可情報を要求した後、システムアクセスサーバ1の第2通信部22は、認可サーバ2からの認可情報を受信する(S436)。認可サーバ2から認可情報を受信すると、第2通信部22は、受信した認可情報(外部の認可情報)を認可情報同期部25へ供給する(S437)。
また、同期判定処理の依頼を受信した認可情報同期部25は、アクセス先サーバ3から内部の認可情報を取得することができないため、同期判定処理が要求されたアクセス対象に対するアクセスの可否判定をアクセス先サーバ3へ依頼する(S438、S439)。なお、S434及びS435の処理と、S438及びS439の処理とは、どの順序で実施しても良いし、同時に実施しても良い。
アクセス先サーバ3は、システムアクセスサーバ1からのアクセスの可否判定の依頼を受信すると、認可情報データベース3aを参照して、当該要求で指定されたアクセス対象に対する認可情報に基づいてアクセスの可否を判定する(S440)。アクセスの可否を判定すると、アクセス先サーバ3は、アクセス対象に対するアクセス可否の判定結果(アクセス結果)をシステムアクセスサーバ1へ返信する(S441)。
アクセス先サーバ3へアクセス判定を依頼した後、システムアクセスサーバ1の第3通信部23は、アクセス先サーバ3からアクセス結果を受信する(S441)。アクセス先サーバ3からアクセス結果を受信すると、第3通信部23は、受信したアクセス結果(アクセスの可否)を認可情報同期部25へ供給する(S442)。
認可サーバ2からの外部の認可情報とアクセス先サーバ3によるアクセスの可否判定の結果とを取得すると、認可情報同期部25は、外部の認可情報によるアクセスの可否判定の結果とアクセス先サーバ3から取得したアクセスの可否判定の結果とに差異があるか否かを判断する(S443)。たとえば、認可情報同期部25は、外部の認可情報を適用してアクセス対象に対するアクセスの可否を判定し、その判定結果(外部の認可情報によるアクセスの可否判定の結果)とアクセス先サーバ3から取得したアクセスの可否判定の結果(内部の認可情報によるアクセスの可否判定の結果)とを比較する。
アクセスの可否判定の結果に差異がある判定した場合(S443、差異あり)、認可情報同期部25は、さらに、取得した外部の認可情報と内部の認可情報とのどちらを優先するかを判定する優先判定を行う(S444)。たとえば、認可情報同期部25は、認可情報同期ポリシデータベース14bに記憶している同期ポリシに従って優先判定を行う。
優先判定において内部の認可情報を優先すると判定した場合(S444、内部優先)、認可情報同期部25は、内部の認可情報を取得できないため、認可サーバ2が管理する外部の認可情報の更新を諦める。この場合、認可情報同期部25は、同期処理の結果として、認可サーバ2に対する認可情報の更新が不可となった旨の実行結果を示す情報を第1通信部21を介してアクセス元サーバ4へ送信する(S445、S446)。
これに対して、アクセス元サーバ4では、システムアクセスサーバ1からの認可サーバ2における認可情報の更新処理が不可となった旨の実行結果を示す情報を受信する。更新処理が不可となった旨の実行結果を受信した場合、アクセス元サーバ4は、受信した実行結果を利用者端末5へ転送し(S447)、同期判定処理の要求に対する一連の処理を終了する。
また、優先判定において外部の認可情報を優先すると判定した場合(S444、外部優先)、認可情報同期部25は、アカウント、アクセス対象、および、外部の認可情報(図11中では認可情報1)を含む認可情報の更新要求を第3通信部23を介してアクセス先サーバ3へ送信する(S448、S449)。このとき、ログ生成部28は、認可情報の更新要求の送信イベントを受けて、更新内容を示すログ情報を生成してログデータベース14cに保存する。
アクセス先サーバ3は、認可情報の更新要求を受信すると、更新要求とともに受信した外部の認可情報によって認可情報データベース3aに記憶している指定されたアクセス対象の認可情報を更新する(S450)。認可情報の更新を行う場合、アクセス先サーバ3は、更新内容を示すログ情報を保存するようにしても良い。認可情報データベース3aに対する認可情報の更新処理が終了すると、アクセス先サーバ3は、更新要求元となるシステムアクセスサーバ1に対して更新処理の実行結果を送信する(S451)。
アクセス先サーバ3へ認可情報の更新要求を送信した後、システムアクセスサーバ1の第3通信部23は、アクセス先サーバ3から認可情報の更新処理の実行結果を受信する(S451)。このとき、システムアクセスサーバ1において、ログ生成部28は、更新処理の実行結果の受信イベントを受けて更新処理の実行結果を示すログ情報を生成してログデータベース14cに記憶する。
アクセス先サーバ3から更新処理の実行結果を受信すると、第3通信部23は、受信した更新処理の実行結果を認可情報同期部25へ供給する(S452)。更新処理の実行結果を受信すると、認可情報同期部25は、同期判定処理の依頼の発信元となるアカウントを含む更新処理の実行結果を示す情報を第1通信部21を介してアクセス元サーバ4へ送信する(S453、S454)。
システムアクセスサーバ1から送信された更新処理の実行結果を示す情報は、アクセス元サーバ4が受信する。更新処理の実行結果を受信した場合、アクセス元サーバ4は、受信した更新処理の実行結果を利用者端末5へ転送し(S455)、同期判定処理の要求に対する一連の処理を終了する。
また、外部の認可情報にアクセスの可否判定の結果と内部の認可情報によるアクセスの可否判定の結果とに差異が無いと判定した場合(S443、差異無し)、認可情報同期部25は、当該同期判定処理の依頼に対して同期処理が不要であること、或いは、外部の認可情報と内部の認可情報とが一致していることを示す実行結果を第1通信部21を介してアクセス元サーバ4へ送信する(S456、S457)。このような同期判定処理の実行結果を受信した場合、アクセス元サーバ4は、システムアクセスサーバ1から受信した同期判定処理の実行結果を利用者端末5へ転送し(S458)、同期判定処理の要求に対する一連の処理を終了する。
上記のような第1、第2の同期判定処理によれば、システムアクセスサーバは、トップダウンで設定されたアクセス先システム外部の認可情報(認可サーバが管理する認可情報)とボトムアップで設定されたアクセス先システム内部の認可情報(アクセス先サーバが管理する認可情報)とが異なる場合、認可サーバが管理する認可情報とアクセス先サーバが管理する認可情報とのどちらを優先するかを予め設定されている認可情報同期ポリシに従って決定し、優先に設定されている認可情報に基づいて他方の認可情報を更新(同期)する処理を行う。
これにより、外部の認可情報(認可サーバが管理する認可情報)と内部の認可情報(アクセス先サーバが管理する認可情報)とに矛盾が生じた場合であって、優先設定に応じて優先させる側の認可情報により他方の認可情報を更新することができる。この結果として、優先する側の認可情報の更新に応じて、残りの認可情報も更新することができる認可情報の運用が行える。これにより、システム全体として、誤りへの対応、或いは、最新情報への対応などを効率良く実施することが可能となる。
次に、システムアクセスサーバ1における認可情報探索処理について説明する。
図12は、システムアクセスサーバ1における認可情報探索処理の流れを説明するためのフローチャートである。認可情報探索処理は、アクセス先システム内の認可情報(内部の認可情報)がアクセス先サーバ3から取得できることを前提とする処理である。
システムアクセスサーバ1では、ユーザは、利用者端末5において新たなアカウントとして登録したいアクセス対象を指定し、認可情報の探索処理を要求する(S501)。アクセス元サーバ4は、利用者端末5で指定された認可情報の探索要求とともに、ユーザのアカウントとアクセス対象を示す情報とをシステムアクセスサーバ1へ送信する。
システムアクセスサーバ1は、第1通信部21によりアクセス元サーバ4からの認可情報の探索要求を受信する。なお、認可情報の探索処理は、特定のユーザ(例えば、管理権限を有する特定のアカウント)が指示できるようにしても良い。また、認可情報の探索処理は、アクセス依頼に応じたアクセス制御処理において実施するようにしても良いし、上述した認可判定処理あるいは同期判定処理と組み合わせて実施しても良い。
認可情報の探索要求を受信すると、プロセッサ11は、認可サーバ2と通信し、認可情報の探索要求として指定されたアクセス対象の少なくとも一部にアクセス可能なアカウントと認可情報のリストを認可サーバ2から取得する処理を行う(S502)。プロセッサ11は、指定のアクセス対象に対するアカウントと認可情報のリストを認可サーバ2へ要求し、認可サーバ2からアクセス対象にアクセス可能なアカウントと認可情報のリストを取得する。
たとえば、認可サーバ2は、システムアクセスサーバ1から要求に応じて、認可情報データベース2aを参照して、指定のアクセス対象の少なくとも1部にアクセス可能なアカウントと認可情報とを抽出する。アクセス対象に対するアクセス可能なアカウントと認可情報とのリストを抽出すると、認可サーバ2は、抽出したリスト(アクセス可能なアカウントと認可情報と)をシステムアクセスサーバ1へ返信する。
アクセス対象にアクセス可能なアカウントと認可情報のリストを取得すると、プロセッサ11は、リストで取得した認可情報の和集合でアクセス対象全体にアクセス可能となるアカウントの組み合わせ候補を選出する(S503)。アクセス対象全体にアクセス可能なアカウントの組み合わせ候補を選出すると、プロセッサ11は、アカウントの組み合わせ候補をアクセス元サーバ4へ提示し(S504)、アカウントの組み合わせの選択を促す。
たとえば、アクセス元サーバ4では、利用者端末5により、システムアクセスサーバ1から提示されたアカウントの組み合わせ候補からアクセス対象にアクセスするためのアカウントの組み合わせをユーザに選択させる。アクセス元サーバ4では、利用者端末5で選択されたアカウントの組み合わせを示す情報をユーザのアカウントとともにシステムアクセスサーバ1へ返す。
アカウントの組み合わせ候補を提示した後、プロセッサ11は、アクセス元サーバ4からのアカウントの組み合わせの選択を示す情報を受信する(S505)。アカウントの組み合わせの選択を示す情報を受信すると、プロセッサ11は、選択されたアカウントの組み合わせを示す情報と当該ユーザのアカウントと和集合での登録要求とを認可サーバ2へ送信する(S506)。
認可サーバ2では、システムアクセスサーバ1からの登録要求を受けると、選択された組合せのアカウントを当該ユーザのアカウントに対応づけた認可情報の和集合として認可情報データベース2aに登録する登録処理を行う。この登録処理の結果は、認可サーバ2からシステムアクセスサーバ1へ送信される。
システムアクセスサーバ1のプロセッサ11は、アカウントの組み合わせを認可情報の和集合で認可情報データベース2aへ登録する登録処理の結果を認可サーバ2から受信する(S507)。認可サーバ2から登録処理の結果を受信すると、プロセッサ11は、登録結果を示す情報をアクセス元サーバ4へ送信し、一連の認可情報の探索処理を終了する(S508)。
次に、システム全体における認可情報の探索処理の流れについて説明する。
図13は、アクセス制御システム全体における認可情報の探索処理の流れを示す動作シーケンスである。
まず、ユーザは、利用者端末5において新たなアカウントとして登録したいアクセス対象を指定して認可情報の探索要求をアクセス元サーバ4へ送信する(S531)。アクセス元サーバ4は、利用者端末5で指定されたアクセス対象とユーザのアカウントを含む認可情報の探索要求をシステムアクセスサーバ1へ送信する(S532)。
システムアクセスサーバ1は、アクセス元サーバ4からの認可情報の探索要求を第1通信部21により受信する。第1通信部21は、アクセス元サーバ4から受信した認可情報の探索要求を認可情報探索部26へ供給する(S533)。認可情報の探索要求を受信すると、認可情報探索部26は、アクセス対象を指定して認可情報の探索要求を第2通信部22を介して認可サーバ2へ送信する(S534、S535)。
システムアクセスサーバ1からの認可情報の要求を受信すると、認可サーバ2は、アクセス対象に対してアクセス可能なアカウントと認可情報とを認可情報データベース2aから抽出し、抽出したアカウントと認可情報とのリストを取得する(S536)。指定されたアクセス対象に対してアクセス可能なアカウントと認可情報のリストを取得すると、認可サーバ2は、当該リストを検索要求に対する応答してシステムアクセスサーバ1へ送信する(S537)。
システムアクセスサーバ1は、第2通信部22により認可サーバ2からのアクセス対象にアクセス可能なアカウントと認可情報のリストを受信する。第2通信部22は、認可サーバ2から受信したアカウントと認可情報のリストを認可情報探索部26へ供給する(S538)。アカウントと認可情報のリストを受信すると、認可情報探索部26は、認可情報の和集合でアクセス対象の全てにアクセス可能となるアカウントの組み合わせ候補を選出する(S539)。アカウントの組み合わせ候補を選出すると、認可情報探索部26は、選出したアカウントの組み合わせ候補を第1通信部21を介してアクセス元サーバ4へ送信する(S540、S541)。
アクセス元サーバ4は、システムアクセスサーバ1からアカウントの組み合わせ候補を検索要求に対する応答として受信する。アカウントの組み合わせ候補を受信すると、アクセス元サーバ4は、受信したアカウントの組み合わせ候補を利用者端末5へ送信する(S542)。利用者端末5は、アクセス元サーバ4から取得したアカウントの組み合わせ候補をユーザに提示する。ユーザに提示するアカウントの組み合わせ候補は、指定したアクセス対象全体にアクセス可能となる新たなアカウントとして登録される既存のアカウントの組み合わせ候補である。
ユーザがアカウントの組み合わせ候補から1つの候補を選択すると、利用者端末5は、選択された組合せを示す情報をアクセス元サーバ4へ送信する(S543)。アクセス元サーバ4は、利用者端末5から取得したユーザが選択したアカウントの組み合わせを当該ユーザのアカウントとともにシステムアクセスサーバ1へ送信する(S544)。
システムアクセスサーバ1は、アクセス元サーバ4からのユーザのアカウントとアカウントの組み合わせとを含む情報を第1通信部21により受信し、認可情報探索部26へ供給する(S545)。認可情報探索部26は、第2通信部22を介して、ユーザのアカウントとアカウントの組み合わせとを示す情報とを和集合での登録要求とともに認可サーバ2へ送信する(S546、S547)。
認可サーバ2は、システムアクセスサーバ1から、認可情報の和集合での登録要求とともに、ユーザのアカウントとアカウントの組み合わせを示す情報とを受信する。認可サーバ2は、指定のユーザのアカウントに対応づけて、アカウントの組み合わせを認可情報の和集合として認可情報データベース2aに登録する(S548)。認可情報の和集合の登録が完了すると、認可サーバ2は、登録処理の実行結果をシステムアクセスサーバ1へ送信する(S549)。
システムアクセスサーバ1は、第2通信部22により認可サーバ2からの認可情報の和集での登録処理の実行結果を受信する(S549)。認可サーバ2から実行結果を受信すると、第2通信部22は、受信した実行結果を認可情報探索部26へ供給する(S550)。認可情報探索部26は、認可サーバ2からの実行結果を第1通信部を介してアクセス元サーバ4へ送信する(S551、S552)。
これに対して、アクセス元サーバ4では、システムアクセスサーバ1からの認可サーバ2における認可情報の和集合での登録処理の実行結果を示す情報を受信する。認可サーバ2での実行結果を受信した場合、アクセス元サーバ4は、受信した実行結果を利用者端末5へ転送し(S447)、同期処理の要求に対する一連の処理を終了する。これにより、利用者端末5は、選択したアカウントの組み合わせを当該ユーザのアカウントに対応づけて登録されたことを提示できる。
上述した認可情報の探索処理によれば、トップダウンで設定されたアクセス先システム外部の認可情報に対応する、ボトムアップで設定されたアクセス先システム内部の認可情報の和集合を既存のアカウントの組み合わせから選択して登録することにより、緊急時のアクセスや、兼務のシステム利用者によるアクセスも、正統な認可情報の中での実施が可能となる。
たとえば、緊急医療のスタッフが医師のアカウントに対応する情報と看護師のアカウントに対応する情報とを参照したい場合、緊急医療のスタッフに無制限な権限などの大きなアクセス権を新たに与えるのではなく、当該医師のアカウントと看護師のアカウントとを組み合わせて(既存のアカウントの組み合わせで)、当該緊急医療のスタッフのアカウントに対応づけて登録する。これによって、緊急医療のスタッフは、医師が参照できる情報と看護師が参照できる情報とを両方にアクセスでき、緊急医療における迅速かつ正確な処置を行いやすくなる。
なお、上述したような本実施形態に係るアクセス制御システムは、例えば、緊急時アクセスサービスに適用できる。つまり、無制限権限を持つ緊急時用アカウントを作ることなく、制限された権限を持つ各アカウントの組合せで、緊急時用アカウント相当を実現することができる。
また、上述したような本実施形態に係るアクセス制御システムは、兼務者アクセスサービスにも適用できる。すなわち、様々な兼務者アカウントを作るのではなく、制限された権限を持つ各アカウントの組合せで、兼務者用アカウント相当を実現できるものである。
また、上述したような本実施形態に係るアクセス制御システムは、トップダウン型のアクセス設定サービスにも適用できる。すなわち、複数システムに渡るデータを統括して参照権限を管理して設定することを実現でき、その際、各システムでの制約を考慮した対応も可能となる。
この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。