JP2024010419A - アクセス制御方法及びアクセス制御プログラム - Google Patents

アクセス制御方法及びアクセス制御プログラム Download PDF

Info

Publication number
JP2024010419A
JP2024010419A JP2022111746A JP2022111746A JP2024010419A JP 2024010419 A JP2024010419 A JP 2024010419A JP 2022111746 A JP2022111746 A JP 2022111746A JP 2022111746 A JP2022111746 A JP 2022111746A JP 2024010419 A JP2024010419 A JP 2024010419A
Authority
JP
Japan
Prior art keywords
access control
user object
access
relationship
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022111746A
Other languages
English (en)
Inventor
兆功 郭
Yoshiisa Kaku
政秀 野田
Masahide Noda
智大 今井
Tomohiro Imai
雅司 國川
Masashi Kunikawa
耕一 横田
Koichi Yokota
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2022111746A priority Critical patent/JP2024010419A/ja
Priority to EP23171246.4A priority patent/EP4307745A1/en
Publication of JP2024010419A publication Critical patent/JP2024010419A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】ACLを用いたアクセス制御を回避するアクセス制御方法及びアクセス制御プログラムを提供することを目的とする。【解決手段】アクセス制御方法は、システム利用者を管理する利用者オブジェクトと、場所を管理する場所オブジェクトと、を含む複数のオブジェクトと、前記利用者オブジェクトと前記場所オブジェクトとの主従関係と、を管理する管理システムに対して、前記複数のオブジェクトに含まれる第1の利用者オブジェクトに対応する第1のシステム利用者から、前記複数のオブジェクトに含まれる第2の利用者オブジェクトに格納されているデータへのアクセスを受け付けた場合、前記第2の利用者オブジェクトを起点として、前記主従関係を辿った中に、前記第1の利用者オブジェクトがあるか否かを判断し、前記第1の利用者オブジェクトがある場合、前記アクセスを許可する、処理をコンピュータが実行する。【選択図】図8

Description

本件は、アクセス制御方法及びアクセス制御プログラムに関する。
ユーザが利用中のシステムから異なるシステムのデータへアクセスするために、アクセス先システムがアクセス元システムからの要求に対して応答する際に、データへのアクセスを制御する技術が知られている(例えば特許文献1参照)。また、デジタルツインと呼ばれる技術が知られており(例えば特許文献2参照)、ユーザが利用中のシステムから、この技術を実装したデジタルツインシステムのデータへアクセスする際に、データへのアクセスを制御する技術も知られている。
なお、デジタルツインは、時々刻々と変化する実世界から大量のデータを収集し、実社会をサイバー空間上に仮想的に構築して再現する技術である。デジタルツインを利用することにより、仮想的な都市や人、事象が再現され、大規模なシミュレーションが実現可能となる。例えば、大量の車両の位置データを活用した渋滞回避や配送の効率化などが実現可能となる。
特開2015-187777号公報 米国特許出願公開第2019/0294978号明細書
ユーザが利用中のシステムからデジタルツインシステムのデータにアクセスする際のアクセス制御は、ACL(Access Control List)と呼ばれる制御情報を用いて行われている。ACLにはデータへのアクセス権限を有する者、データに対して行える操作、データに対するアクセスの許可や拒否などが登録されている。ACLに登録された内容を更新する場合には、デジタルツインシステムのシステム管理者がその都度更新することが求められる。
しかしながら、実世界から大量のデータがデジタルツインシステムに流入する状況では、システム管理者がACLをその都度更新し、どこからどのデータへのアクセスを許可又は拒否するか登録することは極めて煩雑な作業となる。
例えば、企業の従業員の勤怠を管理するソフトウェアが実装されたシステムを利用して企業の総務部などが従業員の位置データを把握する場合、就業時間内であれば、システム管理者は位置データへのアクセスを許可する旨をACLに登録すればよい。一方で、就業時間外であれば、従業員のプライバシー確保の観点から、システム管理者は位置データへのアクセスを拒否する旨をACLに登録することが求められる。このような作業を就業日の度に行うことは極めて難しい。
そこで、1つの側面では、ACLを用いたアクセス制御を回避するアクセス制御方法及びアクセス制御プログラムを提供することを目的とする。
1つの実施態様では、アクセス制御方法は、システム利用者を管理する利用者オブジェクトと、場所を管理する場所オブジェクトと、を含む複数のオブジェクトと、前記利用者オブジェクトと前記場所オブジェクトとの主従関係と、を管理する管理システムに対して、前記複数のオブジェクトに含まれる第1の利用者オブジェクトに対応する第1のシステム利用者から、前記複数のオブジェクトに含まれる第2の利用者オブジェクトに格納されているデータへのアクセスを受け付けた場合、前記第2の利用者オブジェクトを起点として、前記主従関係を辿った中に、前記第1の利用者オブジェクトがあるか否かを判断し、前記第1の利用者オブジェクトがある場合、前記アクセスを許可する、処理をコンピュータが実行する。
ACLを用いたアクセス制御を回避することができる。
図1はアクセス制御システムの一例を説明する図である。 図2は複数のオブジェクトと主従関係の一例を説明する図である。 図3はアクセス制御装置のハードウェア構成の一例である。 図4(a)は第1実施形態に係るアクセス制御装置の機能構成の一例である。図4(b)は第1実施形態に係るリレーションシップテーブルの一例である。 図5はAPIサーバが実行する処理の一例を示すフローチャートである。 図6は第1実施形態に係るアクセス制御装置が実行する処理の一例を示すフローチャートである。 図7はAPIリクエストと第1のAPIレスポンスと第2のAPIレスポンスの一例を説明する図である。 図8は第1実施形態に係るアクセス制御の一例を説明する図である。 図9(a)は比較例に係るアクセス制御装置の機能構成の一例である。図9(b)はアクセスコントロールリストの一例である。 図10は第2実施形態に係るアクセス制御装置が実行する処理の一部の一例を示すフローチャートである。 図11は第2実施形態に係るアクセス制御の一例を説明する図である。 図12(a)は第3実施形態に係るアクセス制御の一例を説明する図である。図12(b)は第3実施形態に係るリレーションシップテーブルの一例である。 図13(a)は第4実施形態に係るアクセス制御の一例を説明する図である。図13(b)は第4実施形態に係るリレーションシップテーブルの一例である。
以下、本件を実施するための形態について図面を参照して説明する。
(第1実施形態)
図1に示すように、アクセス制御システムSTは、アクセス制御装置100とデジタルツインシステム200とアクセス元装置300とを含んでいる。デジタルツインシステム200は管理システムの一例である。アクセス制御装置100はデジタルツインシステム200とアクセス元装置300との間に配置されている。アクセス制御装置100はデジタルツインシステム200と通信ネットワークNW1を介して接続されている。アクセス制御装置100はアクセス元装置300と通信ネットワークNW2を介して接続されている。通信ネットワークNW1,NW2はLAN(Local Area Network)であってもよいし、インターネットであってもよい。
デジタルツインシステム200はAPI(Application Programming Interface)サーバ210とオブジェクトDB(DataBase)220を含んでいる。APIサーバ210はアクセス制御装置100から送信されたAPIリクエストを受信する。APIサーバ210は受信したAPIリクエストに対応するAPIレスポンスをアクセス制御装置100に送信する。
APIサーバ210は通信ネットワークNW3を介して無線基地局BS1,BS2と接続されている。通信ネットワークNW3は例えばインターネットを含んでいる。無線基地局BS1は、無線通信WLを介して、例えば企業のBオフィスで作業する従業員10の携帯端末11から送信されたデータを受信する。このように、無線基地局BS1は実世界のデータを受信する。携帯端末11は、GPS(Global Positioning Systems)を備えているため、GPSによって特定された携帯端末11の位置データを従業員10の位置データとして送信することができる。なお、携帯端末11はスマートフォンであってもよいし、タブレット端末であってもよい。
企業の就業時間が終了すると、従業員10は自宅に向けて移動し、自宅に滞在する。無線基地局BS2は、無線通信WLを介して、自宅に滞在する従業員10の携帯端末11から送信された位置データを受信する。無線基地局BS1,BS2はそれぞれ従業員10の位置データを受信すると、従業員10の位置データをAPIサーバ210に送信する。APIサーバ210は従業員10の位置データを受信すると、受信した位置データに基づいて、オブジェクトDB220を更新する。
オブジェクトDB220は複数のオブジェクトを記憶する。オブジェクトの各々は、Linked-Data形式と呼ばれるデータ形式を用いて表現された場合、エンティティと呼ばれることがある。複数のオブジェクトは、図2に示すように、第1の利用者オブジェクト21及び第2の利用者オブジェクト22を含んでいる。また、複数のオブジェクトは、第1の場所オブジェクト31、第2の場所オブジェクト32、及び第3の場所オブジェクト33を含んでいる。複数のオブジェクトは識別子(id)によって識別されている。
第1の利用者オブジェクト21及び第2の利用者オブジェクト22はデジタルツインシステム200を利用するシステム利用者を管理するオブジェクトである。例えば、第2の利用者オブジェクト22はデジタルツインシステム200を利用する従業員10を管理するオブジェクトである。すなわち、第2の利用者オブジェクト22において、従業員10には識別子「user1」が割り当てられている。第1の場所オブジェクト31、第2の場所オブジェクト32、及び第3の場所オブジェクト33は場所を管理するオブジェクトである。例えば、第2の場所オブジェクト32はBオフィスを管理するオブジェクトである。第3の場所オブジェクト33は自宅を管理するオブジェクトである。
第1の利用者オブジェクト21及び第2の利用者オブジェクト22と、第1の場所オブジェクト31、第2の場所オブジェクト32、及び第3の場所オブジェクト33とは、リレーションシップ「isIn」やリレーションシップ「ownedBy」によって関連付けられている。リレーションシップは、第1の利用者オブジェクト21及び第2の利用者オブジェクト22と、第1の場所オブジェクト31、第2の場所オブジェクト32、及び第3の場所オブジェクト33との主従関係を表している。すなわち、リレーションシップは主従関係の一例である。
例えばリレーションシップ「isIn」により、第2の利用者オブジェクト22と第2の場所オブジェクト32は関連付けられている。リレーションシップ「isIn」の場合、破線の矢印の矢先が位置する第2の場所オブジェクト32が従オブジェクトに相当する。破線の矢印の矢元が位置する第2の利用者オブジェクト22が主オブジェクトに相当する。第2の利用者オブジェクト22と第2の場所オブジェクト32の主従関係により、従業員10がBオフィスに滞在していることが特定される。リレーションシップ「ownedBy」の場合、矢印による主従関係は逆になる。
また、リレーションシップ「ownedBy」により、第2の利用者オブジェクト22と第3の場所オブジェクト33は関連付けられている。この場合、矢印の矢元が位置する第3の場所オブジェクト33が従オブジェクトに相当する。矢印の矢先が位置する第2の利用者オブジェクト22が主オブジェクトに相当する。第2の利用者オブジェクト22と第3の場所オブジェクト33の主従関係により、従業員10が自宅を所有又は支配していることが特定される。
ここで、APIサーバ210が従業員10の位置データを無線基地局BS2から受信すると、APIサーバ210は受信した位置データに基づいて、第2の利用者オブジェクト22の位置データを更新する。具体的には、APIサーバ210は第2の利用者オブジェクト22のロケーション(location)におけるBオフィスの位置を緯度と経度で表す位置データ「N2,E2」から自宅の位置を緯度と経度で表す位置データ「N1,E1」に更新する。また、APIサーバ210は、位置データの更新と併せて、リレーションシップ「isIn」に関連付けられた識別子「office2」を識別子「user1home」に更新する。
これにより、第2の利用者オブジェクト22の主従関係が変更される。具体的には、第2の利用者オブジェクト22と第2の場所オブジェクト32の主従関係から第2の利用者オブジェクト22と第3の場所オブジェクト33の主従関係に変更される。第2の利用者オブジェクト22と第3の場所オブジェクト33の主従関係により、従業員10が自宅に滞在していることが特定される。
図1に戻り、アクセス制御装置100はアクセス元装置300からのデジタルツインシステム200へのアクセスを制御する。アクセス元装置300は例えばサーバ装置などのコンピュータである。アクセス元装置300には例えば企業に所属する従業員10の勤怠を管理するアプリケーションソフトウェア(以下、勤怠管理アプリという)が実装(具体的にはインストール)されている。勤怠管理アプリは例えば企業の総務部や人事部などが従業員10の出退勤や勤務状況などを管理するために利用される。
勤怠管理アプリは例えば総務部の権限でデジタルツインシステム200にアクセスする。より詳しくは、勤怠管理アプリは総務部の権限で第2の利用者オブジェクト22の位置データにアクセスする。勤怠管理アプリが位置データにアクセスすると、アクセス制御装置100はその位置データへのアクセスの許否を動的に判断する。詳細は後述するが、アクセス制御装置100は、ACLを利用せずに、リレーションシップによって特定される複数のオブジェクトの関係性に基づいて、アクセスの許否を判断する。例えば、従業員10がBオフィスに滞在していれば、アクセス制御装置100は位置データへのアクセスを許可する。従業員10が自宅に滞在していれば、アクセス制御装置100は位置データへのアクセスを拒否する。
このように、アクセス制御装置100は、複数のオブジェクトの関係性に基づいて、位置データへのアクセスの許否を動的に判断する。このため、ACLを用いたアクセス制御を回避でき、ACLの更新といった煩雑な作業を回避することができる。なお、本実施形態では、勤怠管理アプリが総務部の権限でデジタルツインシステム200にアクセスする。このため、デジタルツインシステム200のシステム利用者には従業員10だけでなく、総務部も含まれる。したがって、図2に示すように、第1の利用者オブジェクト21はデジタルツインシステム200を利用する総務部を管理するオブジェクトである。
次に、図3を参照して、アクセス制御装置100のハードウェア構成について説明する。なお、携帯端末11やAPIサーバ210、アクセス元装置300は基本的にアクセス制御装置100のハードウェア構成と同様のハードウェア構成であるため、詳細な説明は省略する。
アクセス制御装置100は、プロセッサとしてのCPU(Central Processing Unit)100Aと、メモリとしてのRAM(Random Access Memory)100B及びROM(Read Only Memory)100Cを含んでいる。アクセス制御装置100は、ネットワークI/F(インタフェース)100D及びHDD(Hard Disk Drive)100Eを含んでいる。CPU100Aに代えて、GPU(Graphics Processing Unit)をプロセッサとして採用してもよい。HDD(Hard Disk Drive)100Eに代えて、SSD(Solid State Drive)を採用してもよい。
アクセス制御装置100は、必要に応じて、入力I/F100F、出力I/F100G、入出力I/F100H、ドライブ装置100Iの少なくとも1つを含んでいてもよい。CPU100Aからドライブ装置100Iまでは、内部バス100Jによって互いに接続されている。すなわち、アクセス制御装置100はコンピュータによって実現することができる。
入力I/F100Fには入力装置710が接続される。入力装置710としては例えばキーボードやマウス、タッチパネルなどがある。出力I/F100Gには表示装置720が接続される。表示装置720としては例えば液晶ディスプレイなどがある。入出力I/F100Hには半導体メモリ730が接続される。半導体メモリ730としては、例えばUSB(Universal Serial Bus)メモリやフラッシュメモリなどがある。入出力I/F100Hは半導体メモリ730に記憶されたアクセス制御プログラムを読み取る。入力I/F100F及び入出力I/F100Hは例えばUSBポートを備えている。出力I/F100Gは例えばディスプレイポートを備えている。
ドライブ装置100Iには可搬型記録媒体740が挿入される。可搬型記録媒体740としては、例えばCD(Compact Disc)-ROM、DVD(Digital Versatile Disc)といったリムーバブルディスクがある。ドライブ装置100Iは可搬型記録媒体740に記録されたアクセス制御プログラムを読み込む。ネットワークI/F100Dは例えばLANポートや通信回路などを備えている。ネットワークI/F100Dは通信ネットワークNW1,NW2と接続されている。
RAM100BにはROM100C、HDD100E、半導体メモリ730の少なくとも1つに記憶されたアクセス制御プログラムがCPU100Aによって一時的に格納される。RAM100Bには可搬型記録媒体740に記録されたアクセス制御プログラムがCPU100Aによって一時的に格納される。格納されたアクセス制御プログラムをCPU100Aが実行することにより、CPU100Aは後述する各種の機能を実現し、また、後述する各種の処理を含むアクセス制御方法を実行する。なお、アクセス制御プログラムは後述するフローチャートに応じたものとすればよい。
図4を参照して、アクセス制御装置100の機能構成について説明する。なお、図4(a)ではアクセス制御装置100の機能の要部が示されている。
図4(a)に示すように、アクセス制御装置100は記憶部110、処理部120、及び通信部130を備えている。記憶部110は上述したRAM100BとHDD100Eのいずれか一方又は両方によって実現することができる。処理部120は上述したCPU100Aによって実現することができる。通信部130は上述したネットワークI/F100Dによって実現することができる。
記憶部110、処理部120、及び通信部130は互いに接続されている。ここで、記憶部110はリレーションシップ記憶部111を含んでいる。処理部120は、送受信部121、オブジェクト判断部122、及びアクセス制御部123を含んでいる。
リレーションシップ記憶部111は上述したリレーションシップを記憶する。図4(b)に示すように、リレーションシップはリレーションシップテーブルにより管理される。リレーションシップテーブルでは、リレーションシップを識別するリレーションシップIDごとに、リレーションシップIDとリレーションシップとリレーションシップに応じた処理の組み合わせが管理される。例えば、リレーションシップID「R01」のリレーションシップ「isIn」には処理「上位探索」が関連付けられている。詳細は後述するが、処理「上位探索」は、図2を参照して説明した矢印の矢先が位置するオブジェクトを上位のオブジェクトとして探索することを表している。
送受信部121はアクセス元装置300から送信されたAPIリクエストを受信する。APIリクエストを受信することにより、送受信部121は第1の利用者オブジェクト21に対応する総務部から第2の利用者オブジェクト22に格納されている位置データへのアクセスを受け付ける。送受信部121はAPIリクエストを受信すると、APIリクエストをAPIサーバ210に送信する。送受信部121はAPIサーバ210からAPIリクエストに応じて送信されたAPIレスポンスを受信する。
オブジェクト判断部122は、送受信部121が位置データへのアクセスを受け付けた場合、第2の利用者オブジェクト22を起点として、リレーションシップを辿った中に、第1の利用者オブジェクト21があるか否かを判断する。アクセス制御部123は、リレーションシップを辿った中に、第1の利用者オブジェクト21がある場合、位置データへのアクセスを許可する。アクセス制御部123は、リレーションシップを辿った中に、第1の利用者オブジェクト21がない場合、位置データへのアクセスを拒否する。なお、送受信部121、オブジェクト判断部122、及びアクセス制御部123の詳細については後述する。
次に、図5を参照して、APIサーバ210の動作について説明する。なお、APIサーバ210は、図5に示すフローチャートの処理を定期的に(例えば5分など数分単位で)実行する。まず、APIサーバ210は携帯端末11から送信された従業員10の位置データを受信する(ステップS1)。位置データを受信すると、APIサーバ210は、受信した位置データに基づいて、第2の利用者オブジェクト22の位置データを更新する(ステップS2)。位置データは従業員10を識別する識別子「user1」を含んでいる。このため、APIサーバ210はオブジェクトDB220から第2の利用者オブジェクト22を特定することができる。このように、APIサーバ210は、従業員10の移動に基づいて、位置データを動的に更新する。
更新後、APIサーバ210は、オブジェクトDB220を参照し、第1の場所オブジェクト31、第2の場所オブジェクト32、第3の場所オブジェクト33の各ロケーション(location)における位置データを検索する(ステップS3)。そして、APIサーバ210は、更新後の位置データに近接する位置データの有無を判断する(ステップS4)。位置データ同士が近接するか否かは、例えば、更新後の位置データの半径数十センチメートル以内にいずれかの位置データがあるか否かにより判断することができる。
更新後の位置データに近接する位置データがない場合(ステップS4:NO)、APIサーバ210は後続の処理をスキップして、処理を終了する。更新後の位置データに近接する位置データがある場合(ステップS4:YES)、APIサーバ210は、リレーションシップ「isIn」を更新し(ステップS5)、処理を終了する。
例えば、更新後の位置データとBオフィスの位置を表す位置データとが近接(又は一致)していれば、APIサーバ210は、第2の利用者オブジェクト22のリレーションシップ「isIn」の識別子を識別子「office2」に更新する(図2参照)。更新後の位置データと自宅の位置を表す位置データとが近接(又は一致)していれば、APIサーバ210は、第2の利用者オブジェクト22のリレーションシップ「isIn」の識別子を識別子「user1home」に更新する。このように、APIサーバ210は、携帯端末11から送信される従業員10の位置データに基づいて、複数のオブジェクトの関係性を動的に更新する。
次に、図6及び図7を参照して、アクセス制御方法を実行するアクセス制御装置100の動作について説明する。
まず、図6に示すように、送受信部121はアクセス元装置300から送信されたAPIリクエストを受信する(ステップS11)。図7に示すように、アクセス元装置300からアクセス制御装置100にAPIリクエストが送信される場合、URL(Uniform Resource Locator)が指定されて送信される。本実施形態では、識別子「user1」と位置データの格納先を表す項目「location」が関連付けられたURL「user1/location」が指定される。当該URLにより、第2の利用者オブジェクト22に格納されている位置データへのアクセスが特定される。また、APIリクエストには、位置データを取得する命令「GET」とアクセス元を判別する識別子「soumu」が格納されている。URLとAPIリクエストにより、送受信部121は勤怠管理アプリが総務部の権限で従業員10の位置データを要求していると判断する。なお、送受信部121は、後続の判断処理のために、識別子「soumu」を保持する。
APIリクエストを受信すると、送受信部121はAPIリクエストをAPIサーバ210に送信する(ステップS12)。APIリクエストを送信する際、図7に示すように、送受信部121はURL「user1/location」をURL「user1」に変換する。すなわち、送受信部121は位置データへのアクセスを求めるAPIリクエストを、第2の利用者オブジェクト22へのアクセスを求めるAPIリクエストに変換する。これは、位置データがリレーションシップによりオブジェクトと関連付けられていないためである。APIリクエストを変換することにより、位置データの取得が要求された場合であっても、オブジェクト同士のリレーションシップを辿ることができる。なお、送受信部121は第2の利用者オブジェクト22へのアクセスを求めるAPIリクエストを受信した場合、このAPIリクエストを変換せずに直接的にAPIサーバ210に送信する。送受信部121は、APIリクエストの変換の有無に関わらずに、アクセス元を判別する識別子「soumu」を除外したAPIリクエストを送信する。
APIリクエストを送信すると、送受信部121は第1のAPIレスポンスを受信する(ステップS13)。より詳しくは、送受信部121はAPIリクエストに対応する第1のAPIレスポンスをAPIサーバ210から受信する。図7に示すように、URLとして識別子「user1」が特定されているため、APIリクエストに対応する第1のAPIレスポンスには、第2の利用者オブジェクト22が有するデータが格納される。従業員10がBオフィスに滞在していれば、第1のAPIレスポンスには、識別子「user1」、Bオフィスの位置を表す位置データ「N2,E2」、リレーションシップ「isIn」と関連付けられた識別子「office2」が格納される。
第1のAPIレスポンスを受信すると、オブジェクト判断部122は識別子が一致するか否かを判断する(ステップS14)。より詳しくは、オブジェクト判断部122は第1のAPIレスポンスに格納された識別子と、送受信部121が保持する識別子が一致するか否かを判断する。本実施形態では、第1のAPIレスポンスには識別子「office2」が格納されている。一方、送受信部121は識別子「soumu」を保持している。このため、本実施形態では、オブジェクト判断部122は識別子が一致しないと判断する。
識別子が一致しない場合(ステップS14:NO)、オブジェクト判断部122はリレーションシップ(図6においてRsと記載)があるか否かを判断する(ステップS15)。より詳しくは、オブジェクト判断部122は、第1のAPIレスポンスにリレーションシップがあるか否かを判断する。本実施形態であれば、第1のAPIレスポンスにはリレーションシップ「isIn」が格納されている。このため、本実施形態であれば、オブジェクト判断部122はリレーションシップがあると判断する。
リレーションシップがある場合(ステップS15:YES)、オブジェクト判断部122はリレーションシップテーブルを検索し(ステップS16)、リレーションシップが一致するか否かを判断する(ステップS17)。すなわち、オブジェクト判断部122は、リレーションシップ記憶部111を参照し、リレーションシップテーブル(図4(b)参照)に第1のAPIレスポンスに格納されたリレーションシップと一致するリレーションシップの有無を判断する。本実施形態であれば、第1のAPIレスポンスにはリレーションシップ「isIn」が格納されている。一方、リレーションシップテーブルにはリレーションシップ「isIn」が格納されている。したがって、本実施形態であれば、オブジェクト判断部122はリレーションシップが一致すると判断する。
リレーションシップが一致する場合(ステップS17:YES)、ステップS12の処理に戻り、送受信部121はAPIリクエストをAPIサーバ210に送信する。この場合、図7に示すように、送受信部121は、第1のAPIレスポンスに格納されたリレーションシップ「isIn」と関連付けられた識別子「office2」をURLに指定して、APIリクエストを送信する。すなわち、送受信部121は第2の場所オブジェクト32へのアクセスを求めるAPIリクエストを送信する。このように、アクセス制御装置100は、リレーションシップに基づいて、第2の利用者オブジェクト22を起点に、第2の場所オブジェクト32を辿る。
APIリクエストを送信すると、ステップS13の処理により、送受信部121はAPIリクエストに対応する第1のAPIレスポンスをAPIサーバ210から受信する。図7に示すように、URLとして識別子「office2」が特定されているため、APIリクエストに対応する第1のAPIレスポンスには、第2の場所オブジェクト32が有するデータが格納される。したがって、第1のAPIレスポンスには、識別子「office2」、Bオフィスの位置を表す位置データ「N2,E2」、リレーションシップ「ownedBy」と関連付けられた識別子「soumu」が格納される。第2の場所オブジェクト32によれば、Bオフィスは総務部によって所有又は支配されている。
第1のAPIレスポンスを受信すると、ステップS14の処理により、オブジェクト判断部122は第1のAPIレスポンスに格納された識別子と、送受信部121が保持する識別子が一致するか否かを判断する。本実施形態では、第1のAPIレスポンスには識別子「office2」が格納されている。一方、送受信部121は識別子「soumu」が保持している。このため、本実施形態では、オブジェクト判断部122は識別子が一致しないと判断する。
識別子が一致しない場合、オブジェクト判断部122は、ステップS15の処理により、第1のAPIレスポンスにリレーションシップがあるか否かを判断する。本実施形態であれば、第1のAPIレスポンスにはリレーションシップ「ownedBy」が格納されている。このため、本実施形態であれば、オブジェクト判断部122はリレーションシップがあると判断する。
リレーションシップがある場合、ステップS16,S17の処理により、オブジェクト判断部122はリレーションシップテーブルを検索し、リレーションシップが一致するか否かを判断する。本実施形態であれば、第1のAPIレスポンスにはリレーションシップ「ownedBy」が格納されている。一方、リレーションシップテーブルにはリレーションシップ「ownedBy」が格納されている(図4(b)参照)。したがって、本実施形態であれば、オブジェクト判断部122はリレーションシップが一致すると判断する。
リレーションシップが一致する場合、ステップS12の処理に戻り、送受信部121はAPIリクエストをAPIサーバ210に送信する。この場合、図7に示すように、送受信部121は、第1のAPIレスポンスに格納されたリレーションシップ「ownedBy」と関連付けられた識別子「soumu」をURLに指定して、APIリクエストを送信する。すなわち、送受信部121は第1の利用者オブジェクト21へのアクセスを求めるAPIリクエストを送信する。このように、アクセス制御装置100は、リレーションシップに基づいて、第2の利用者オブジェクト22を起点に、第1の利用者オブジェクト21をさらに辿る。
APIリクエストを送信すると、ステップS13の処理により、送受信部121はAPIリクエストに対応する第1のAPIレスポンスをAPIサーバ210から受信する。図7に示すように、URLとして識別子「soumu」が特定されているため、APIリクエストに対応する第1のAPIレスポンスには、第1の利用者オブジェクト21が有するデータが格納される。したがって、第1のAPIレスポンスには、識別子「soumu」、・・・、所有(own)「office1,…」が格納される。第1の利用者オブジェクト21によれば、総務部がBオフィスとAオフィスを所有又は支配する。
第1のAPIレスポンスを受信すると、ステップS14の処理により、オブジェクト判断部122は第1のAPIレスポンスに格納された識別子と、送受信部121が保持する識別子が一致するか否かを判断する。本実施形態では、第1のAPIレスポンスには識別子「soumu」が格納されている。一方、送受信部121は識別子「soumu」が保持している。このため、本実施形態では、オブジェクト判断部122は識別子が一致すると判断する。
識別子が一致する場合(ステップS14:YES)、アクセス制御部123はアクセスを許可する(ステップS18)。この場合、アクセス制御部123は第2のAPIレスポンスを生成する(ステップS19)。より詳しくは、図7に示すように、アクセス制御部123は、アクセス元装置300から送信されたAPIリクエストに対応する第2のAPIレスポンスを生成する。
第2のAPIレスポンスには、従業員10がBオフィスに滞在していることを表す位置データ「N2,E2」が格納されている。第2のAPIレスポンスに位置データ「N2,E2」を格納する場合、例えば、アクセス制御部123は、まず、送受信部121が過去に受信した複数の第1のAPIレスポンスの中から、識別子「user1」が格納された第1のAPIレスポンスを特定する。そして、アクセス制御部123は特定した第1のAPIレスポンスに格納された位置データ「N2,E2」を抽出し、抽出した位置データ「N2,E2」を第2のAPIレスポンスに格納すればよい。
アクセス制御部123が第2のAPIレスポンスを生成すると、送受信部121は第2のAPIレスポンスを送信する(ステップS20)。すなわち、送受信部121はアクセス元装置300から送信されたAPIリクエストに対応する第2のAPIレスポンスをアクセス元装置300に送信する。送受信部121が第2のAPIレスポンスを送信すると、アクセス制御装置100は処理を終了する。
このように、勤怠管理アプリが総務部の権限で従業員10の位置データの取得を要求した場合、アクセス制御装置100は第2の利用者オブジェクト22を起点として、リレーションシップを辿った中に、第1の利用者オブジェクト21があるか否かを判断する。アクセス制御装置100は、リレーションシップを辿った中に、第1の利用者オブジェクト21がある場合、位置データへのアクセスを許可し、位置データを送信する。これにより、勤怠管理アプリを利用する総務部は従業員10の位置を把握することができる。
ここで、従業員10がBオフィスから自宅に移動して、従業員10が自宅に滞在すると、第2の利用者オブジェクト22の位置データ「N2,E2」は位置データ「N1,E1」に更新される(図2参照)。また、第2の利用者オブジェクト22のリレーションシップ「isIn」に関連付けられた識別子「office2」は識別子「user1home」に更新される(図2参照)。
この結果、図7において、URLとして識別子「user1」が指定されたAPIリクエストに対応する第1のAPIレスポンスでは、位置データ「N1,E1」が格納される。また、この第1のAPIレスポンスでは、リレーションシップ「isIn」に識別子「user1home」が関連付けられる。
したがって、ステップS14の処理では、送受信部121は識別子「soumu」が保持していると、第1のAPIレスポンスに格納された識別子「office2」と一致しない。このため、オブジェクト判断部122は識別子が一致しないと判断する。識別子が一致しない場合、オブジェクト判断部122は、ステップS15の処理により、第1のAPIレスポンスにリレーションシップがあるか否かを判断する。本実施形態であれば、第1のAPIレスポンスにはリレーションシップ「isIn」が格納されている。このため、本実施形態であれば、オブジェクト判断部122はリレーションシップがあると判断する。
リレーションシップがある場合、ステップS16,S17の処理により、オブジェクト判断部122はリレーションシップテーブルを検索し、リレーションシップが一致するか否かを判断する。本実施形態であれば、第1のAPIレスポンスにはリレーションシップ「isIn」が格納されている。一方、リレーションシップテーブルにはリレーションシップ「isIn」が格納されている。したがって、本実施形態であれば、オブジェクト判断部122はリレーションシップが一致すると判断する。
リレーションシップが一致するため、ステップS12の処理に戻り、送受信部121はAPIリクエストをAPIサーバ210に送信する。この場合、送受信部121は、第1のAPIレスポンスに格納されたリレーションシップ「isIn」と関連付けられた識別子「user1home」をURLに指定して、APIリクエストを送信する。すなわち、送受信部121は第3の場所オブジェクト33へのアクセスを求めるAPIリクエストを送信する。このように、アクセス制御装置100は、リレーションシップに基づいて、第2の利用者オブジェクト22を起点に、第3の場所オブジェクト33を辿る。
APIリクエストを送信すると、ステップS13の処理により、送受信部121はAPIリクエストに対応する第1のAPIレスポンスをAPIサーバ210から受信する。URLとして識別子「user1home」が特定されているため、APIリクエストに対応する第1のAPIレスポンスには、第3の場所オブジェクト33が有するデータが格納される。したがって、第1のAPIレスポンスには、識別子「user1home」、・・・、リレーションシップ「ownedBy」と関連付けられた識別子「user1」が格納される。第3の場所オブジェクト33によれば、従業員10によって自宅が所有又は支配されている。
第1のAPIレスポンスを受信すると、ステップS14の処理により、オブジェクト判断部122は第1のAPIレスポンスに格納された識別子と、送受信部121が保持する識別子が一致するか否かを判断する。本実施形態では、第1のAPIレスポンスには識別子「user1」が格納されている。一方、送受信部121は識別子「soumu」が保持している。このため、本実施形態では、オブジェクト判断部122は識別子が一致しないと判断する。
このように、本実施形態では、ステップS14乃至S17が繰り返されると、識別子「user1」か識別子「user1home」が繰り返され、送受信部121が保持する識別子「soumu」と一致しない。このため、このようなループ処理に至る場合には、ループ回数が所定回数に到達すると、本実施形態では、ステップS15の処理において、オブジェクト判断部122はリレーションシップがないと判断する(ステップS15:NO)。または、ループ回数が所定回数に到達すると、本実施形態では、ステップS17の処理において、オブジェクト判断部122はリレーションシップが一致しないと判断する(ステップS17:NO)。
リレーションシップがない場合、または、リレーションシップが一致しない場合、アクセス制御部123はアクセスを拒否する(ステップS21)。この場合、送受信部121はアクセス元装置300にエラーを通知する(ステップS22)。エラーを通知すると、アクセス制御装置100は処理を終了する。
このように、勤怠管理アプリが総務部の権限で従業員10の位置データの取得を要求しても、アクセス制御装置100は第2の利用者オブジェクト22を起点としてリレーションシップを辿った中に、第1の利用者オブジェクト21がない場合がある。この場合、アクセス制御装置100は位置データへのアクセスを拒否する。これにより、従業員10がBオフィスから自宅に移動して自宅に滞在すれば、従業員10のプライバシーを確保することができる。
図8を参照して、従業員10の位置データに対するアクセスの許可と拒否をさらに説明する。図8に示す位置データ22Aは、Linked-Data形式と呼ばれるデータ形式を用いて表現された場合、プロパティと呼ばれることがある。
まず、図8の上段に示すように、オブジェクトDB220は、企業の総務部15をシステム利用者として管理する第1の利用者オブジェクト21と従業員10をシステム利用者として管理する第2の利用者オブジェクト22を記憶する。また、オブジェクトDB220は、Aオフィスを管理する第1の場所オブジェクト31とBオフィスを管理する第2の場所オブジェクト32と従業員10の自宅を管理する第3の場所オブジェクト33を記憶する。
第1の利用者オブジェクト21と第1の場所オブジェクト31及び第2の場所オブジェクト32はリレーションシップ「ownedBy」41によって主従関係が定義されている。第2の利用者オブジェクト22と第3の場所オブジェクト33はリレーションシップ「ownedBy」42によって主従関係が定義されている。従業員10がBオフィスに滞在しているため、第2の利用者オブジェクト22と第2の場所オブジェクト32はリレーションシップ「isIn」43によって主従関係が定義されている。第2の利用者オブジェクト22には従業員10の位置データ22Aが格納されている。
このような、従業員10がBオフィスに滞在している場合に、勤怠管理アプリが総務部15の権限で第2の利用者オブジェクト22に格納された従業員10の位置データ22Aにアクセスする。この場合、第2の利用者オブジェクト22を起点に、リレーションシップを辿った中に、第1の利用者オブジェクト21があるため、アクセス制御装置100は位置データ22Aに対するアクセスを許可する。
一方、図8の下段に示すように、従業員10がBオフィスから自宅に移動し、自宅に滞在すると、第2の利用者オブジェクト22と第3の場所オブジェクト33はリレーションシップ「isIn」43によって主従関係が新たに定義される。このような、従業員10が自宅に滞在している場合に、勤怠管理アプリが総務部15の権限で第2の利用者オブジェクト22に格納された従業員10の位置データ22Aにアクセスする。この場合、第2の利用者オブジェクト22を起点に、リレーションシップを辿った中に、第1の利用者オブジェクト21がない。このため、アクセス制御装置100は位置データ22Aに対するアクセスを拒否する。
このように、アクセス制御装置100は、複数のオブジェクトの関係性を辿ってアクセス権限があることを判断し、判断結果に基づいて、アクセスの許否を動的に制御する。本実施形態であれば、アクセス制御装置100は、第2の利用者オブジェクト22を起点として、リレーションシップを辿った中に、第1の利用者オブジェクト21があるか否かを、総務部15の権限に基づいて再帰的に判断する。これにより、アクセス制御装置100はアクセスの許否を動的に制御する。
図9を参照して、比較例を説明する。なお、図4(a)を参照して説明した第1実施形態に係るアクセス制御装置100と同様の構成には対応する符号を付し、その詳細な説明は省略する。図9(a)に示すように、比較例に係るアクセス制御装置400は記憶部410、処理部420、及び通信部430を備えている。記憶部410はACL記憶部411を含んでいる。処理部420は、送受信部421及びアクセス制御部423を含んでいる。
ACL記憶部411はアクセスコントロールリストを記憶する。図9(b)に示すように、アクセスコントロールリストではアクセスコントロールポリシーを識別するポリシーIDごとに複数のアクセスコントロールポリシーが管理される。アクセスコントロールポリシーはアクセスコントロールエントリと呼ばれることもある。アクセスコントロールリストはデジタルツインシステム200のシステム管理者により設定される。アクセスコントロールポリシーは、アクセス制御、アクセス権限、アクセス対象、操作権限といった複数の項目を含んでいる。
例えば、ポリシーID「P04」のアクセスコントロールポリシーは、アクセス制御「許可」、アクセス権限「総務部」、アクセス対象「従業員:状態」、操作権限「Read-only」を含んでいる。このアクセスコントロールポリシーによれば、総務部15の権限であれば、従業員10の現在の状態(プレゼンス)に対し、勤怠管理アプリは読み込みのアクセスだけが許可される。現在の状態は、例えば従業員10の現在の位置データなどを含んでいる。
ここで、当該アクセスコントロールポリシーについて、従業員10が出勤してから退勤するまでの間に限り、勤怠管理アプリからのアクセスを許可する場合、システム管理者はアクセスコントロールリストを再設定する操作が求められる。例えば、図9(b)に示すように、従業員10が退勤してから出勤するまでの間は、従業員10のプライバシー確保の観点から、システム管理者はアクセスコントロールポリシーのアクセス制御「許可」をアクセス制御「拒否」に再設定する。これにより、勤怠管理アプリからのアクセスが拒否される。
このようなシステム管理者による設定操作は、様々なアクセスコントロールポリシーを個別に設定することが要求されるため、システム管理者にとって極めて煩雑な作業になりかねない。また、本実施形態では、勤怠管理アプリを一例としてアクセスコントロールポリシーが設定されているが、例えば経理部の権限で利用する給与管理アプリや、人事部の権限で利用する人事評価アプリなどが併用された場合、膨大な設定作業につながるおそれがある。
しかしながら、本実施形態によれば、アクセスコントロールリストを用いたアクセス制御が回避されている。このため、システム管理者による操作負担が抑制される。また、リレーションシップテーブルの情報量はアクセスコントロールリストの情報量に比べて小さい(又は少ない)ため、記憶部410の記憶容量と比べて小さな記憶容量を持つ記憶部110でアクセス制御装置100を実現することができる。さらに、リレーションシップテーブルの情報量が小さいことにより、リレーションシップテーブルを利用するアクセス制御装置100の処理負荷を、アクセスコントロールリストを利用する場合に比べて、低減することができる。
(第2実施形態)
次に、図10及び図11を参照して、本件の第2実施形態について説明する。まず、図10に示すように、上述したステップS17の処理において、リレーションシップが一致しない場合、オブジェクト判断部122は次のアクセス先を指定する(ステップS31)。すなわち、第1のAPIレスポンスに格納されたリレーションシップと、リレーションシップテーブルに格納されたリレーションシップが一致しない場合、オブジェクト判断部122は次のアクセス先を指定する。
例えば、オブジェクト判断部122がステップS12乃至S17の処理を繰り返す。これにより、図11に示すように、第2の利用者オブジェクト22を起点に、リレーションシップ「ownedBy」44を辿った中に、企業の経理部をシステム利用者として管理する第3の利用者オブジェクト23が現れる場合がある。さらに、第3の利用者オブジェクト23を起点にリレーションシップ「aPartOf」45を辿ると、企業の一例である会社をシステム利用者として管理する第4の利用者オブジェクト24が現れる場合がある。
ここで、リレーションシップテーブルで管理されていないリレーションシップ「aPartOf」45が第3の利用者オブジェクト23に格納されていると、リレーションシップが一致しない。この場合、オブジェクト判断部122は、リレーションシップに基づいて、次のアクセス先を指定する。本実施形態では、オブジェクト判断部122は第4の利用者オブジェクト24を指定する。
次のアクセス先を指定すると、オブジェクト判断部122はアクセス先があるか否かを判断する(ステップS32)。アクセス先がある場合(ステップS32:YES)、オブジェクト判断部122はステップS17の処理を再び実行する。本実施形態では、第4の利用者オブジェクト24があるため、オブジェクト判断部122はステップS17の処理を再び実行する。
一方、アクセス先がない場合(ステップS32:NO)、オブジェクト判断部122は未探索のアクセス先を指定し(ステップS33)、オブジェクト判断部122はステップS17の処理を再び実行する。例えば、本実施形態では、図11に示すように、第4の利用者オブジェクト24を起点にアクセス可能なアクセス先は存在しない。このため、オブジェクト判断部122は、リレーションシップに従って階層を1つずつ戻り、未探索のアクセス先として例えば第1の利用者オブジェクト21を指定する。これにより、識別子「soumu」が一致するため、アクセス制御部123はアクセスを許可する。
このように、第2実施形態によれば、リレーションシップテーブルで管理されていないリレーションシップが第1のAPIレスポンスに格納されていても、アクセス制御装置100は位置データ22Aに対するアクセスを動的に許可できる場合がある。
(第3実施形態)
次に、図12を参照して、本件の第3実施形態について説明する。図12(a)に示すように、オブジェクトDB220は、個人をシステム利用者として管理する第5の利用者オブジェクト25と東京都をシステム利用者として管理する第6の利用者オブジェクト26を記憶する。また、オブジェクトDB220は、bar公園を管理する第4の場所オブジェクト34とfoo公園を管理する第5の場所オブジェクト35と公園を管理する第6の場所オブジェクト36を記憶する。
第4の場所オブジェクト34及び第5の場所オブジェクト35と第6の場所オブジェクト36はリレーションシップ「isPublic」47によって主従関係が定義されている。第6の利用者オブジェクト26と第6の場所オブジェクト36はリレーションシップ「ownedBy」46によって主従関係が定義されている。個人がbar公園に滞在しているため、第5の利用者オブジェクト25と第4の場所オブジェクト34はリレーションシップ「isIn」43によって主従関係が定義されている。第5の利用者オブジェクト25には個人の緊急連絡先を表す連絡先データ25Aが格納されている。
一方、第3実施形態に係るリレーションシップテーブルでは、図12(b)に示すように、第1実施形態で説明したリレーションシップ以外に、リレーションシップID「R03」のリレーションシップ「isPublic」が管理されている。また、第3実施形態に係るリレーションシップテーブルでは、リレーションシップID「R04」のリレーションシップ「isPrivate」が管理されている。リレーションシップ「isPublic」及びリレーションシップ「isPrivate」にはそれぞれ処理「応答」及び処理「拒否」が関連付けられている。
ここで、例えば個人が怪我により倒れた状態でbar公園に滞在している場合、救護アプリが消防庁の権限で第5の利用者オブジェクト25に格納された個人の連絡先データ25Aにアクセスする。この場合、第5の利用者オブジェクト25を起点に、リレーションシップを辿ると、第4の場所オブジェクト34が現れる。
このような場合、第5の利用者オブジェクト25の後に第4の場所オブジェクト34を表すURLでAPIサーバ210にAPIリクエストを送信すると、送受信部121はAPIリクエストに対応する第1のAPIレスポンスを受信する。図示しないが、APIサーバ210から送信される第1のAPIレスポンスには、第4の場所オブジェクト34を識別する識別子「yoyogi」が格納されている。また、この第1のAPIレスポンスには、リレーションシップ「isPublic」と関連付けられた識別子「park」が格納されている。識別子「park」は第6の場所オブジェクト36の識別子である。
このように、リレーションシップ「isPublic」が格納された第1のAPIレスポンスを送受信部121が受信した場合、オブジェクト判断部122による判断が省略され、アクセス制御部123は即時にリレーションシップテーブルを参照する。そして、アクセス制御部123はリレーションシップテーブルで管理されるリレーションシップ「isPublic」に処理「応答」が関連付けられていれば、連絡先データ25Aに対する救護アプリからのアクセスを許可する。
仮に、リレーションシップ「isPrivate」が格納された第1のAPIレスポンスを送受信部121が受信した場合でも同様に、オブジェクト判断部122による判断が省略され、アクセス制御部123は即時にリレーションシップテーブルを参照する。そして、アクセス制御部123はリレーションシップテーブルで管理されるリレーションシップ「isPrivate」に処理「拒否」が関連付けられていれば、アクセスを拒否する。
このような第3実施形態であっても、アクセスコントロールリストを回避したアクセス制御を実現することができる。また、第3実施形態によれば、リレーションシップの処理内容を拡張することで、即時応答や即時拒否可能なアクセス制御を実現することができる。
(第4実施形態)
次に、図13を参照して、本件の第4実施形態について説明する。なお、第3実施形態と同一の構成には同一の符号を付して、その詳細な説明は省略する。図13(a)に示すように、オブジェクトDB220は、消防庁をシステム利用者として管理する第7の利用者オブジェクト27をさらに記憶する。
第4の場所オブジェクト34及び第5の場所オブジェクト35と第6の場所オブジェクト36はリレーションシップ「ownedBy」48によって主従関係が定義されている。第6の利用者オブジェクト26と第7の利用者オブジェクト27はリレーションシップ「aPartOf」49によって主従関係が定義されている。
一方、第4実施形態に係るリレーションシップテーブルでは、図13(b)に示すように、第1実施形態で説明したリレーションシップ以外に、リレーションシップID「R05」のリレーションシップ「aPartOf」が管理されている。リレーションシップ「aPartOf」には処理「上位探索」が関連付けられている。
ここで、第3実施形態と同様に、個人が怪我により倒れた状態でbar公園に滞在している場合、救護アプリが消防庁の権限で第5の利用者オブジェクト25に格納された個人の連絡先データ25Aにアクセスする。この場合、第5の利用者オブジェクト25を起点に、リレーションシップを辿ると、第4の場所オブジェクト34が現れる。また、第4の場所オブジェクト34を起点に、リレーションシップを辿ると、第6の場所オブジェクト36が現れる。第6の場所オブジェクト36を起点に、リレーションシップを辿ると、第6の利用者オブジェクト26が現れる。しかしながら、第6の利用者オブジェクト26が消防庁の権限に相当する識別子「fire」を格納しているとは限らない。
このように、アクセス先であるオブジェクトの探索終了時にアクセスの許否に関する関係性が不明である場合、オブジェクト判断部122はアクセス元に相当するオブジェクトを探索する。そして、オブジェクト判断部122は探索途中のオブジェクトと共通の上位概念を有するオブジェクトの有無を判断する。本実施形態であれば、オブジェクト判断部122は、消防庁の権限に相当する識別子「fire」に基づいて、オブジェクトDB220を参照する。
オブジェクト判断部122は識別子「fire」が格納された第7の利用者オブジェクト27を発見すると、第7の利用者オブジェクト27に格納されたリレーションシップ「aPartOf」49を辿り、第6の利用者オブジェクト26を発見する。これにより、オブジェクト判断部122は第6の利用者オブジェクト26が第7の利用者オブジェクト27と第6の場所オブジェクト36の共通の上位概念を有すると判断する。オブジェクト判断部122がこのように判断すると、アクセス制御部123は連絡先データ25Aに対する救護アプリからのアクセスを許可する。このような第4実施形態であっても、アクセスコントロールリストを回避したアクセス制御を実現することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)システム利用者を管理する利用者オブジェクトと、場所を管理する場所オブジェクトと、を含む複数のオブジェクトと、前記利用者オブジェクトと前記場所オブジェクトとの主従関係と、を管理する管理システムに対して、前記複数のオブジェクトに含まれる第1の利用者オブジェクトに対応する第1のシステム利用者から、前記複数のオブジェクトに含まれる第2の利用者オブジェクトに格納されているデータへのアクセスを受け付けた場合、前記第2の利用者オブジェクトを起点として、前記主従関係を辿った中に、前記第1の利用者オブジェクトがあるか否かを判断し、前記第1の利用者オブジェクトがある場合、前記アクセスを許可する、処理をコンピュータが実行するアクセス制御方法。
(付記2)前記第1の利用者オブジェクトがない場合、前記アクセスを拒否する、ことを特徴とする付記1に記載のアクセス制御方法。
(付記3)前記第2の利用者オブジェクトへのアクセスを求める第1のリクエストを受け付けた場合、前記第1のリクエストを直接的に前記管理システムに送信する、ことを特徴とする付記1又は2に記載のアクセス制御方法。
(付記4)前記データへのアクセスを求める第2のリクエストを受け付けた場合、前記第2のリクエストを前記第2の利用者オブジェクトへのアクセスを求める第1のリクエストに変換し、前記第1のリクエストを前記管理システムに送信する、ことを特徴とする付記1又は2に記載のアクセス制御方法。
(付記5)前記第2の利用者オブジェクトを起点として、前記主従関係を辿った中に、前記第1の利用者オブジェクトがあるか否かを、前記第1のシステム利用者の権限に基づいて再帰的に判断する、ことを特徴とする付記1又は2に記載のアクセス制御方法。
(付記6)前記管理システムは、前記複数のオブジェクトと前記主従関係をLinked-Data形式を用いて管理する、ことを特徴とする付記1又は2に記載のアクセス制御方法。
(付記7)前記管理システムは、前記複数のオブジェクトと前記主従関係を前記第2の利用者オブジェクトに対応する第2のシステム利用者の移動に基づいて更新する、ことを特徴とする付記1又は2に記載のアクセス制御方法。
(付記8)前記主従関係を管理するテーブルの情報量は、アクセス制御に要するアクセスコントロールポリシーが設定されたリストの情報量より小さい、ことを特徴とする付記1又は2に記載のアクセス制御方法。
(付記9)システム利用者を管理する利用者オブジェクトと、場所を管理する場所オブジェクトと、を含む複数のオブジェクトと、前記利用者オブジェクトと前記場所オブジェクトとの主従関係と、を管理する管理システムに対して、前記複数のオブジェクトに含まれる第1の利用者オブジェクトに対応するシステム利用者から、前記複数のオブジェクトに含まれる第2の利用者オブジェクトに格納されているデータへのアクセスを受け付けた場合、前記第2の利用者オブジェクトを起点として、前記主従関係を辿った中に、前記第1の利用者オブジェクトがあるか否かを判断し、前記第1の利用者オブジェクトがある場合、前記アクセスを許可する、処理をコンピュータに実行させるためのアクセス制御プログラム。
21 第1の利用者オブジェクト
22 第2の利用者オブジェクト
22A 位置データ
31 第1の場所オブジェクト
32 第2の場所オブジェクト
33 第3の場所オブジェクト
41,42 リレーションシップ「ownedBy」
43 リレーションシップ「isIn」
100 アクセス制御装置
111 リレーションシップ記憶部
121 送受信部
122 オブジェクト判断部
123 アクセス制御部
200 デジタルツインシステム
210 APIサーバ
220 オブジェクトDB

Claims (8)

  1. システム利用者を管理する利用者オブジェクトと、場所を管理する場所オブジェクトと、を含む複数のオブジェクトと、前記利用者オブジェクトと前記場所オブジェクトとの主従関係と、を管理する管理システムに対して、前記複数のオブジェクトに含まれる第1の利用者オブジェクトに対応する第1のシステム利用者から、前記複数のオブジェクトに含まれる第2の利用者オブジェクトに格納されているデータへのアクセスを受け付けた場合、前記第2の利用者オブジェクトを起点として、前記主従関係を辿った中に、前記第1の利用者オブジェクトがあるか否かを判断し、
    前記第1の利用者オブジェクトがある場合、前記アクセスを許可する、
    処理をコンピュータが実行するアクセス制御方法。
  2. 前記第1の利用者オブジェクトがない場合、前記アクセスを拒否する、
    ことを特徴とする請求項1に記載のアクセス制御方法。
  3. 前記第2の利用者オブジェクトへのアクセスを求める第1のリクエストを受け付けた場合、前記第1のリクエストを直接的に前記管理システムに送信する、
    ことを特徴とする請求項1又は2に記載のアクセス制御方法。
  4. 前記データへのアクセスを求める第2のリクエストを受け付けた場合、前記第2のリクエストを前記第2の利用者オブジェクトへのアクセスを求める第1のリクエストに変換し、前記第1のリクエストを前記管理システムに送信する、
    ことを特徴とする請求項1又は2に記載のアクセス制御方法。
  5. 前記第2の利用者オブジェクトを起点として、前記主従関係を辿った中に、前記第1の利用者オブジェクトがあるか否かを、前記第1のシステム利用者の権限に基づいて再帰的に判断する、
    ことを特徴とする請求項1又は2に記載のアクセス制御方法。
  6. 前記管理システムは、前記複数のオブジェクトと前記主従関係をLinked-Data形式を用いて管理する、
    ことを特徴とする請求項1又は2に記載のアクセス制御方法。
  7. 前記管理システムは、前記複数のオブジェクトと前記主従関係を前記第2の利用者オブジェクトに対応する第2のシステム利用者の移動に基づいて更新する、
    ことを特徴とする請求項1又は2に記載のアクセス制御方法。
  8. システム利用者を管理する利用者オブジェクトと、場所を管理する場所オブジェクトと、を含む複数のオブジェクトと、前記利用者オブジェクトと前記場所オブジェクトとの主従関係と、を管理する管理システムに対して、前記複数のオブジェクトに含まれる第1の利用者オブジェクトに対応するシステム利用者から、前記複数のオブジェクトに含まれる第2の利用者オブジェクトに格納されているデータへのアクセスを受け付けた場合、前記第2の利用者オブジェクトを起点として、前記主従関係を辿った中に、前記第1の利用者オブジェクトがあるか否かを判断し、
    前記第1の利用者オブジェクトがある場合、前記アクセスを許可する、
    処理をコンピュータに実行させるためのアクセス制御プログラム。
JP2022111746A 2022-07-12 2022-07-12 アクセス制御方法及びアクセス制御プログラム Pending JP2024010419A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022111746A JP2024010419A (ja) 2022-07-12 2022-07-12 アクセス制御方法及びアクセス制御プログラム
EP23171246.4A EP4307745A1 (en) 2022-07-12 2023-05-03 Access control method and access control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022111746A JP2024010419A (ja) 2022-07-12 2022-07-12 アクセス制御方法及びアクセス制御プログラム

Publications (1)

Publication Number Publication Date
JP2024010419A true JP2024010419A (ja) 2024-01-24

Family

ID=86328876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022111746A Pending JP2024010419A (ja) 2022-07-12 2022-07-12 アクセス制御方法及びアクセス制御プログラム

Country Status (2)

Country Link
EP (1) EP4307745A1 (ja)
JP (1) JP2024010419A (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4706262B2 (ja) * 2004-05-21 2011-06-22 日本電気株式会社 アクセス制御システム、アクセス制御方法およびアクセス制御用プログラム
JP6060104B2 (ja) 2014-03-26 2017-01-11 日本電信電話株式会社 アクセス制御サーバ、アクセス制御方法、及びアクセス制御プログラム
US11694094B2 (en) 2018-03-21 2023-07-04 Swim.IT Inc Inferring digital twins from captured data
US11341261B2 (en) * 2019-04-05 2022-05-24 Spideroak, Inc. Integration of a block chain, managing group authority and access in an enterprise environment

Also Published As

Publication number Publication date
EP4307745A1 (en) 2024-01-17

Similar Documents

Publication Publication Date Title
US7234032B2 (en) Computerized system, method and program product for managing an enterprise storage system
US8286157B2 (en) Method, system and program product for managing applications in a shared computer infrastructure
KR101329916B1 (ko) 데이터 백업 시스템
US7783737B2 (en) System and method for managing supply of digital content
CN108337677B (zh) 网络鉴权方法及装置
JP4671332B2 (ja) ユーザ識別情報を変換するファイルサーバ
US9860346B2 (en) Dynamic application programming interface builder
WO2019076276A1 (zh) 一种网络功能发现方法及设备
JP2007188184A (ja) アクセス制御プログラム、アクセス制御方法およびアクセス制御装置
JP5991386B2 (ja) ネットワークシステム
US7725489B2 (en) Node for providing a file service to a mobile terminal
KR101666064B1 (ko) 분산 파일 시스템에서 url정보를 이용한 데이터 관리 장치 및 그 방법
JP2002342144A (ja) ファイル共有システム、プログラムおよびファイル受渡し方法
JP2024010419A (ja) アクセス制御方法及びアクセス制御プログラム
JP2005107831A (ja) Urlフィルタリング・システム及びurlフィルタリングによる閲覧制御方法
JP4341073B2 (ja) 仮想閉域網システム、サーバ、ユーザ端末、アクセス方法、プログラム及び記録媒体
JP2004310458A (ja) 個人情報流通方法および個人情報管理システム並びにポリシー判定システム
RU2656739C1 (ru) Способ и система хранения данных
JP7119797B2 (ja) 情報処理装置及び情報処理プログラム
JP5502021B2 (ja) ディレクトリ情報提供装置、情報処理システム、ディレクトリ情報提供方法及びプログラム
WO2023276826A1 (ja) ルーティング装置、管理センター装置、ユーザ認証方法、及びユーザ認証プログラム
KR100879880B1 (ko) 전자캐비넷(e-Cabinet)서비스 제공방법 및시스템
JP6311460B2 (ja) 情報共有サービス提供方法、情報共有サービス提供システム及び情報共有サービス提供装置
JP2020154955A (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2000132474A (ja) 動的暗号化通信システム、ならびに動的暗号化通信のための認証サーバおよびゲートウェイ装置