(57)【要約】  ユーザ認可のためのコンピュータシステム、コンピュータにより実施される方法およびコンピュータプログラム製品。コンピュータシステムは、複数のデバイスから収集されるデータを記憶する。本コンピュータシステム上のアプリケーションが、ユーザから上記データを処理する要求を受信する。アプリケーションは、ユーザと関連付けられる地理的位置および、ユーザが上記収集されたデータを処理するようにされる、ユーザと関連付けられるデバイスのタイプに関するデータを取得する。アプリケーションは、そこから上記データが収集された複数のデバイスの地理的位置およびデバイスのタイプに関するデータを取得する。アプリケーションは次いで、収集したデータと関連付けられた地理的位置およびデバイスのタイプがユーザと関連付けられた地理的位置およびデバイスのタイプと一致するかどうかを確認する。更に、アプリケーションは、位置に帰属するデバイスと関連付けられた時間情報が、データ処理が要求される期間と一致するかどうかを確認する。一致が成功すれば、アプリケーションは、要求されたデータ処理にユーザを認可する。
2020502672.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ(1020)が1つまたは複数のデバイス(1101、1102、1103、1104)から受信されるデータを処理することを認可するためのコンピュータシステム(1010)であって、
-  前記データを受信するように構成されたインタフェースコンポーネント(1091)と、
-  前記ユーザ(1020)から要求を受信するように構成されたアプリケーションコンポーネント(1030)であって、前記要求が、前記データの少なくとも部分集合にデータ処理動作を行う1つまたは複数の要求を含む、アプリケーションコンポーネント(1030)と、
-  前記データを記憶およびアクセスするように構成されたデータ記憶およびデータアクセスコンポーネント(1070、1080)と、
-  前記データを処理するように構成された1つまたは複数の評価コンポーネント(1030、1110)と、
-  前記ユーザ(1020)に前記データの少なくとも部分集合を処理するためのアクセスを付与または拒否するように構成された認可コンポーネント(1040)であって、前記付与または拒否が、登録ユーザのためのユーザディレクトリ(1050)に記憶されたユーザ固有のデータに基づく、認可コンポーネント(1040)と、を備え、
前記ユーザ固有のデータが、
-  前記ユーザ(1020)と関連付けられる地理的位置に関するデータ(1061)、および前記ユーザがアクセスを得ることを認可されるデバイスのタイプに関するデータ(1062)を含む、システム。
【請求項２】
前記ユーザ固有のデータが、前記ユーザが組織内で持つ1つまたは複数の役割についてのデータ(2120、2130)を含む、請求項1に記載のシステム。
【請求項３】
前記地理的位置および前記デバイスのタイプに関する前記ユーザ固有のデータが結合されて第1のデータオブジェクト(2110)を形成する、請求項1または2に記載のシステム。
【請求項４】
前記第1のデータオブジェクト(2110)および前記1つまたは複数の役割についてのデータ(2120、2130)が結合されて第2のデータオブジェクトを形成し、かつ複数の第2のデータオブジェクト(2100、2200、2300)が前記登録ユーザと関連付けられる、請求項3に記載のシステム。
【請求項５】
前記複数の第2のデータオブジェクト(2100、2200、2300)が結合されて、1人の登録ユーザと関連付けられる第3のデータオブジェクト(2000)を形成する、請求項4に記載のシステム。
【請求項６】
前記付与または拒否が、処理されるよう要求された前記データと関連付けられるデバイス固有のデータ(1300)に更に基づく、請求項1から5のいずれか一項に記載のシステム。
【請求項７】
前記デバイス固有のデータ(1300)が、前記デバイスの地理的位置および前記デバイスのタイプに関するデータを含む、請求項6に記載のシステム。
【請求項８】
前記デバイス固有のデータ(1300)が、前記デバイスに関連する時間データを更に含み、前記時間データが、前記デバイスがそれぞれの地理的位置に存在する時間を特定する、請求項7に記載のシステム。
【請求項９】
前記地理的位置および前記デバイスのタイプに関する前記デバイス固有のデータが結合されて第4のデータオブジェクト(6110)を形成する、請求項7または8に記載のシステム。
【請求項１０】
前記第4のデータオブジェクト(6110)および1つまたは複数の時間データが結合されて第5のデータオブジェクト(6100)を形成し、かつ複数の第5のデータオブジェクト(6100、6200、6300)が結合されて、1つのデバイスと関連付けられる第6のデータオブジェクト(6000)を形成する、請求項9に記載のシステム。
【請求項１１】
ユーザによって操作されるクライアントコンピュータ(1020)にコンピュータシステム(1010)上のデータを処理するためのアクセスを付与または拒否する、コンピュータにより実施される方法であって、前記データが複数のデバイス(1101、1102、1103、1104)から収集され、前記方法が、
-  a)アプリケーション(1030、10004)が、前記データを処理する要求(10010)を受信するステップであって、前記要求(10010)が、前記クライアントコンピュータ(1020、10005)によって送信される、ステップと、
-  b)前記アプリケーション(1030、10004)が、ユーザディレクトリ(1050、10003)から前記ユーザと関連付けられる地理的位置(1061)および前記ユーザ(1020)と関連付けられるデバイスのタイプ(1062)に関するデータを取得するステップと、
-  c)前記アプリケーション(1030、10004)が、前記複数のデバイスの前記地理的位置および前記デバイスのタイプに関するデータを取得するステップ(10011)であって、前記複数のデバイスからのデータが処理されるよう要求される、ステップと、
-  d)前記アプリケーション(1030、10004)が、前記地理的位置およびデバイスのタイプが前記ユーザディレクトリ(1050)において前記ユーザ(1020)と関連付けられる地理的位置(1061)および前記デバイスのタイプ(1062)に関する1つまたは複数のデータと一致するかどうかを確認するステップ(10012)と、前記一致の結果に基づいて、
-  e)前記クライアントコンピュータ(1020、10005)に前記要求されたデータ処理へのアクセスを付与または拒否するステップ(10016)と、を含む方法。
【請求項１２】
-  前記アプリケーション(1030、10004)が、ユーザディレクトリ(1050、10003)から前記ユーザ(1020)と関連付けられる1つまたは複数の役割(2120)に関するデータを取得するステップと、
-  前記アプリケーション(1030、10004)が、前記要求されたデータ処理と関連付けられる1つまたは複数の役割に関するデータを取得ステップと、前記要求されたデータ処理へのアクセスを付与または拒否する前に、
-  前記アプリケーション(1030、10004)が、前記1つまたは複数の役割(2120)に関するデータが前記要求されたデータ処理と関連付けられる前記1つまたは複数の役割に関する前記データと一致するかどうかを確認するステップと、
を更に含む、請求項11に記載の方法。
【請求項１３】
-  前記アプリケーションが、ステップd)において、請求項6に記載の第3のデータオブジェクト(2000)を問い合わせ、そして前記複数のデバイスの前記地理的位置および前記デバイスのタイプに関するデータならびに前記要求されたデータ処理と関連付けられる前記1つまたは複数の役割に関するデータが前記第3のデータオブジェクト(2000)に含まれる第2のデータオブジェクト(2100、2200、2300)の1つまたは複数におけるデータ(2110、2120、2130)と一致するかどうかを確認するステップ、
を含む、請求項11または12に記載の方法。
【請求項１４】
-  前記処理されるよう要求されたデータが1つまたは複数の時間値を関連付けられた場合、前記アプリケーションが、前記複数のデバイスに関連する時間データを更に識別するステップであって、前記時間データが、デバイスがそれぞれの地理的位置に存在する1つまたは複数の時間期間を特定する、ステップと、
-  前記アプリケーションが、前記関連付けられた1つまたは複数の時間価値が前記デバイスに関連する時間データと一致する場合、前記クライアントコンピュータ(1020、10005)にアクセスを付与するステップと、
を含む、請求項11から13のいずれか一項に記載の方法。
【請求項１５】
コンピューティングデバイスのメモリへロードされて、前記コンピューティングデバイスの少なくとも1つのプロセッサによって実行されると、前記コンピューティングデバイスが請求項11から14のいずれか一項に記載の方法を行うことを可能にするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して電子データ処理に関し、より詳細には、ユーザ認可のためのコンピュータシステムおよび方法に関する。特定の使用領域は、モノのインターネット(IoT)、より詳細に、産業用モノのインターネット(IIoT)である。
【背景技術】
【０００２】
IoTは、エレクトロニクス、ソフトウェア、センサ、アクチュエータ、およびこれらの対象がデータを収集および交換することを可能にするネットワーク接続性が埋め込まれた、物理デバイス、例えば車両(「接続されたデバイス」および「スマートデバイス」とも称される)、建物ならびに他の品目のネットワーク間接続である。IoTは、対象が現存のネットワークインフラストラクチャにわたって遠隔で感知および／または制御されるようにする(https://en.wikipedia.org/wiki/Internet_of_thingsを参照のこと)。産業用モノのインターネット(IIoT)は、製造業でのIoT技術の使用である。それは、機械学習およびビッグデータ技術を取り入れて、長年、産業環境に存在してきたセンサデータ、マシンツーマシン通信およびオートメーション技術を利用する。このデータは、会社のような組織がより速やかに非効率性および問題に気付くことを可能にして、時間および金を節約し、かつビジネスインテリジェンス努力を支援することができる。特に製造業では、IIoTは、品質管理、持続可能で環境に優しい慣行、サプライチェーントレーサビリティおよび全体のサプライチェーン欠乏への大きな可能性を持つ。IIoTは、クラウドコンピューティングプラットフォームに産業用デバイスを接続する、および産業データに解析またはデータマイニングなどの様々な動作を行うためにクラウドプラットフォームに情報を転送するメカニズムも提供する。IIoT領域で膨大な量のデータが収集されるまたはされることになることが上記から明らかであり、そしてシステムのあらゆるユーザがシステムにおけるありとあらゆるデータを見る必要はないまたは見られるようにされるべきでないことも明らかである。クラウドコンピューティングプラットフォームが本来大きなユーザ基盤からのデータを含むので、正しいアクセス制御の存在が要注意の産業データの保護にとって不可欠である。更に、クラウドコンピューティングプラットフォームが、アクセスを制御することに関して異なる要件を持つ異なる関係者に潜在的に帰属するデータの中央リポジトリと想定されるので、システムおよびデバイスの全体の寿命を通じて収集されるデータへの制御されたアクセスを提供する能力がIIoT内の重要な要件である。
【０００３】
役割を基にしたアクセス制御(Role Based Access Control, RBAC)は、これらの必要性に対処するために今日クラウドコンピューティングプラットフォームによって提供されるメカニズムである。RBACは、ユーザの関連付けられた役割に基づいて粒度の細かいアクセス制御を提供しようと試みる。しかしながら、RBAC手法は、IIoTシステムが必要とするより繊細なアクセス制御要件には十分でない。例えば、割り当てられた役割を持つユーザは、或る地理的位置だけのデバイスに関連するデータを閲覧することを許可される必要があり、そして別の位置のデバイスに関連する情報は、同じユーザから隠される必要がある。
【０００４】
RBAC手法を使用して位置または機器の概念とともにきめの細かいアクセス制御を達成するやり方は、「役割」の数の指数関数的増加に結びつくことになり、そして潜在的に重複、保守問題、および或る状況で情報を保護することができない誤った状況に至る。したがって、より高い粒度を持つ、より効率的なユーザ認可を提供する方法および／または処理システムの必要性がある。
【発明の概要】
【課題を解決するための手段】
【０００５】
この課題は、独立請求項に記載されるように本発明の異なる態様を表すコンピュータシステム、方法およびコンピュータプログラム製品によって対処される。本発明の第1の態様は、ユーザが1つまたは複数のデバイスから受信されるデータを処理することを認可するためのコンピュータシステムとして記載される。そのようなコンピュータシステムは、スタンドアロンコンピューティングデバイス(例えば、単一のPC)の他に、オンデマンドでまたはオンプレミスインストールとして共用コンピュータ処理資源を提供する、ネットワークまたはインターネットを基にした接続されたコンピュータのシステムであってもよい。ユーザは、クライアントコンピュータ上のクライアントアプリケーション、例えばブラウザを介してそのようなシステムに接続することができる。クライアントアプリケーションは、代替的にシステム自体によって提供されてもよい。コンピュータシステムは、1つまたは複数のデバイスからデータを受信するように構成されるインタフェースコンポーネントを有する。そのようなデバイスは、例えば、ネットワーク、例えばイントラネットまたはインターネットに接続することができ、したがってコンピュータシステムに接続することができるいかなる製造品であることもできる。システムは、ユーザから要求を受信するように構成されるアプリケーションコンポーネントが設けられる。これらの要求は、上記データの少なくとも部分集合にデータ処理動作を行う要求を含む。コンピュータシステムは、データ記憶およびアクセスコンポーネントが設けられる。このコンポーネントは、システム上で動き、かつ1つまたは複数のデバイスから収集されるデータを記憶およびアクセスするように構成される。システムは、システムによって実行可能で、かつ上記データまたはそのいずれかの部分集合を処理するように構成される1つまたは複数の評価コンポーネントが更に設けられる。これらの評価コンポーネントは、例えば、アプリケーションコンポーネントを介してユーザにデータ解析能力を提供してもよい。本システムは、ユーザに上記データの少なくとも部分集合を処理するためのアクセスを付与または拒否するための認可情報をアプリケーションコンポーネントに提供するように構成され、上記付与または拒否が、登録ユーザのためのユーザディレクトリに記憶されたユーザ固有のデータに基づく、認可コンポーネントが更に設けられる。付与または拒否は、アプリケーションコンポーネントを介してユーザに送信されてもよい。ユーザディレクトリは、各登録ユーザのための記録を含んでもよい。そのようなユーザ記録は、ユーザ資格情報(名前、パスワード等)、連絡先情報または他の関連ユーザ情報をユーザ固有の情報として典型的に含む。
【０００６】
上述の技術的問題に対処するために、本発明の範囲内のユーザ固有のデータは、ユーザと関連付けられる地理的位置に関するデータ、およびユーザがアクセスを得ることを認可される、デバイスのタイプに関するデータを含む。ユーザと関連付けられる地理的位置は、ユーザが組織内で、例えば会社内で責任を有する地位であってもよい。上記地理的位置は、必ずしもユーザまたは組織が存在する位置であるわけではないが、しかしそうであることもできる。用語位置は、ヨーロッパ、国、都市、またはその他の任意に定義された大小の地域(例えば、工場建物)のような地域を指してもよい。これらのユーザ固有のデータは、ユーザ記録の一部として実現されてもよいが、しかしユーザ記録とは別に記憶されるが、それでもユーザと関連付けられてもよい。
【０００７】
認可コンポーネントは、例えば、RBACシステムとして実現されてもよい。インタフェースコンポーネント、データ記憶およびアクセスコンポーネント、評価コンポーネントならびに認可コンポーネントは代替的に、場合に応じて全体的にまたは部分的に、アプリケーションコンポーネント自体のサブコンポーネントとして実現されてもよい。
【０００８】
本発明の第2の態様は、ユーザによって操作されるクライアントコンピュータにコンピュータシステム上のデータを処理するためのアクセスを付与または拒否する、コンピュータにより実施される方法であって、上記データが複数のデバイスから収集される、方法として記載される。方法は、上記したようなコンピュータシステムによって実行でき、そのようなコンピュータシステム上で動くアプリケーションが、複数のデバイスから収集される上記データを処理する要求を受信する。要求は、ユーザによって操作されるクライアントコンピュータ上で動くクライアントコンピュータプログラムによって送信される。クライアントコンピュータプログラム、例えばブラウザは、コンピュータシステム自体において動くこともできる。本発明の範囲内でかつ簡潔にするため、両選択肢とも、以下において集合的に「クライアントコンピュータ」と称される。アプリケーションは、ユーザディレクトリからユーザ固有のデータを取得する。アプリケーションは次いで、上記ユーザ固有のデータがデバイス固有のデータと一致するかどうかを確認し、そして一致の結果に基づいて、アプリケーションは、クライアントコンピュータに、すなわちユーザに、要求されたデータ処理へのアクセスを付与または拒否する。
【０００９】
本発明の第3の態様は、ユーザによって操作されるクライアントコンピュータにコンピュータシステム上のデータを処理するためのアクセスを付与または拒否する、コンピュータにより実施される方法であって、上記データが複数のデバイスから収集される、方法として記載される。方法は、上記したようなコンピュータシステムによって実行されることもでき、コンピュータシステム上で動くアプリケーションが、上記収集されたデータを処理する要求を受信する。この要求は、クライアントコンピュータによって送信される。アプリケーションは、ユーザディレクトリからユーザと関連付けられる地理的位置およびユーザと関連付けられるデバイスのタイプに関するデータを取得する。この取得は、例えば、認可サービスを介してまたはアプリケーションがユーザディレクトリに直接アクセスすることによって実現できる。アプリケーションは、デバイスまたは複数のデバイスの地理的位置および、そこからのデータが処理されるよう要求されるデバイスまたは複数のデバイスのタイプに関するデータを取得する。そのようなデバイス固有のデータは、例えば、複数のデバイスからデータを収集するときにコンピュータシステムに転送できる。これらのデバイス固有のデータの取得は、例えば、プラットフォームサービスを介して実現でき、これはデータストレージへの直接または間接(他のサービスを介する)アクセスを有するように構成される。アプリケーションは次いで、デバイスの上記地理的位置およびデバイスのタイプがユーザディレクトリにおいてユーザと関連付けられる地理的位置およびデバイスのタイプに関する1つまたは複数のデータと一致するかどうかを確認し、そして一致の結果に基づいて、要求されたデータ処理に対してクライアントコンピュータ／ユーザにアクセスを付与または拒否する。
【００１０】
本発明の第4の態様は、コンピューティングデバイスのメモリへロードされて、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されると、コンピューティングデバイスに請求項1から10のいずれか一項に記載のシステムとして作動させる、および／またはコンピューティングデバイスが請求項11から14のいずれか一項に記載の方法を行うことを可能にするコンピュータプログラム製品として記載される。
【００１１】
上述の態様の有利な実施形態が以下の項に記載される。
【００１２】
本発明の第1の有利な実施形態は、上記ユーザ固有のデータが、ユーザが組織内で持つ1つまたは複数の役割についてのデータを含むことを特徴とする。用語役割は、ユーザが組織の一員としてしなければならない一組の任務を表す。それは、RBACの文脈での一般用語である。特定の役割に対して許容されるデータ処理動作への役割のマッピングは、例えば、ユーザディレクトリにおけるテーブルによって実現されてもよい。1つまたは複数の役割もデバイス固有のデータに、すなわちデバイスにおよび／またはデバイスのタイプに割り当てられる場合、アプリケーションは、ユーザ固有のデータにおける役割項目がデバイス固有のデータにおける役割項目と一致するかどうかも確認することができ、したがって更なるレベルで認可を限定することができる。
【００１３】
本発明の第2の有利な実施形態は、地理的位置およびデバイスのタイプに関するユーザ固有のデータが結合されて第1のデータオブジェクトを形成することを特徴とする。そのような第1のデータオブジェクトは、以下代替的に責任範囲オブジェクト(area of responsibility object, AoR)と称される。
【００１４】
本発明の第3の有利な実施形態は、第1のデータオブジェクトおよび1つまたは複数の役割に関するデータが結合されて第2のデータオブジェクトを形成することを特徴とする。そのような第2のデータオブジェクトは、本明細書で代替的に認可情報オブジェクトまたは認可オブジェクトと称される。
【００１５】
本発明の更なる有利な実施形態は、登録ユーザに対して複数の第2のデータオブジェクトが存在することを特徴とする。
【００１６】
本発明の更なる有利な実施形態は、複数の第2のデータオブジェクトが結合されて第3のデータオブジェクトを形成し、これが1人の登録ユーザと関連付けられることを特徴とする。そのような第3のデータオブジェクトは、以下代替的に認可パッケージと称される。
【００１７】
本発明のなお更なる有利な実施形態は、アクセスの付与または拒否が、処理されるよう要求されたデータと関連付けられるデバイス固有のデータに更に基づくことを特徴とする。そのようなデバイス固有のデータは、デバイスの地理的位置およびデバイスのタイプに関するデータを含んでもよい。地理的位置に関するそのようなデータは、ユーザ固有のデータについて上記したのと同じ型であることができる。デバイスのタイプデータについても同じことが当てはまる。
【００１８】
本発明のなお更なる有利な実施形態は、デバイス固有のデータがデバイスに関連する時間データを更に含むことを特徴とする。これらの時間データは、デバイスが特定の地理的位置に存在するまたは存在した時間を特定する。時間データは、開始日および開始時間ならびに終了日および終了時間を含んで、時間期間を定義してもよい。そのような時間データは、デバイスが存在するまたは存在したあらゆる地理的位置に対して入手可能であってもよい。それぞれの時間期間は、同じレベルの位置、例えば都市型の位置に関して重複するようにされない。それらは、異なるレベルの位置に関して、例えば国およびそれぞれの国の都市に関して重複してもよい。デバイス固有の時間データは、特定のデバイスの位置履歴を反映する。言い換えれば、特定の位置の特定のデバイスについての、またはそれによって生成されるデータが、特定のデバイスが特定の位置で動作された時間を特定する時間間隔と関連付けられる。すなわち、時間データは、様々な位置に関して特定のデバイスと関連付けられたデータをそれぞれのデータのタイムスタンプに基づいて区別することを可能にする。
【００１９】
本発明のなお更なる有利な実施形態は、地理的位置およびデバイスのタイプに関するデバイス固有のデータが結合されて第4のデータオブジェクトを形成することを特徴とする。
【００２０】
本発明のなお更なる有利な実施形態は、第4のデータオブジェクトおよび1つまたは複数の時間データが結合されて第5のデータオブジェクトを形成することを特徴とする。1つまたは複数の時間データは、或るデバイスが異なる時間に同じ位置に存在した状況を説明する。そのような第5のデータオブジェクトは、以下代替的に位置情報オブジェクトと称される。
【００２１】
本発明のなお更なる有利な実施形態において、複数の位置情報オブジェクトが結合されて第6のデータオブジェクトを形成し、これが1つのデバイスと関連付けられる。そのような第6のデータオブジェクトは、以下代替的に位置パッケージオブジェクトまたは位置パッケージと称される。
【００２２】
そのような結合は、簡単な問合せまたは照合プロセスを可能にし、そして構造、クラスまたは他の公知のコンテナによって実現されてもよい。
【００２３】
本発明のなお更なる有利な実施形態において、要求されたデータ処理へのアクセスは、処理されるよう要求されたデータが1つまたは複数の時間値を関連付けられた場合、関連付けられた1つまたは複数の時間値がデバイスに関連する時間データと一致するときに付与される、または代替的に、ときにのみ付与される。例えば、データ処理の要求が特定の年の特定の位置の特定のデバイスに対する問合せを含む場合、アクセスは、特定のデバイスが特定の年に特定の位置に存在した場合に付与される、または場合にのみ付与される。
【００２４】
本発明のなお更なる有利な実施形態は、アプリケーションがユーザディレクトリからユーザと関連付けられる1つまたは複数の役割に関するデータを取得することを特徴とする。更に、アプリケーションは、要求されたデータ処理と関連付けられる1つまたは複数の役割に関するデータを取得し、そして要求されたデータ処理へのアクセスを付与する前に、アプリケーションは、ユーザと関連付けられる1つまたは複数の役割に関するデータが要求されたデータ処理と関連付けられる1つまたは複数の役割に関するデータと一致するかどうかを確認する。
【００２５】
本発明のなお更なる有利な実施形態において、アプリケーションは、第3のデータオブジェクト(認可パッケージ)を問い合わせ、そして第3のデータオブジェクトに含まれる第2のデータオブジェクトの1つまたは複数から認可情報を取得する。アプリケーションは次いで、要求されたデータ処理と関連付けられる複数のデバイスの地理的位置およびデバイスのタイプに関するデータが取得した認可情報と一致するかどうかを確認する。一致の結果に基づいて、要求されたデータ処理へのアクセスが付与または拒否される。
【００２６】
言い換えれば、本発明は、アプリケーションが、地理的位置およびデバイスのタイプがユーザと関連付けられる地理的位置およびデバイスのタイプに関する1つまたは複数のデータと一致するかどうかを確認するために、第3のデータオブジェクト(認可パッケージ)を問い合わせ、そして要求されたデータ処理と関連付けられる複数のデバイスの地理的位置およびデバイスのタイプに関するデータが第3のデータオブジェクトに含まれる第2のデータオブジェクト(認可情報)の1つまたは複数におけるデータと一致するかどうかを確認することを特徴とする。
【００２７】
本発明のなお更なる有利な実施形態において、アプリケーションは、要求されたデータ処理と関連付けられる1つまたは複数の役割が第3のデータオブジェクトに含まれる第2のデータオブジェクトの1つまたは複数におけるデータと一致するかどうかを追加的に確認してもよい。
【００２８】
本発明のなお更なる有利な実施形態において、アプリケーションは、処理されるよう要求されたデータが1つまたは複数の時間値を関連付けられた場合、複数のデバイスに関連する時間データを更に識別する。アプリケーションは次いで、関連付けられた1つまたは複数の時間価値がデバイスに関連する時間データと一致する場合、クライアントコンピュータにアクセスを付与する。
【００２９】
本発明のなお更なる有利な実施形態において、それぞれのデバイスと関連付けられる位置パッケージオブジェクトから、位置データ、タイプデータおよび時間データを含むデバイス固有のデータが取得される。
【００３０】
本発明の異なる態様および有利な実施形態は、コンピュータシステムにおける、特にクラウドを基にしたIIoTシステムにおける情報に対するきめの細かいアクセス制御を許容する。認可コンポーネントは、コンピュータシステムにおけるアプリケーション、API、ユーザディレクトリおよび他のサービスとともに機能して、役割およびAoRの組合せに基づいて認可に関するサービスを提供するコンピュータシステムにおけるコンポーネントとして導入される。認可コンポーネントは、認可パッケージを管理し、かつコンピュータシステムの異なる部分から認可の概念を抽出するのに役立つ。RBACシステムでは役割の数が激増して管理不可能になるので、RBAC手法と比較すると、提案したシステムおよび方法は、煩雑でなく、かつエラーが起きにくく、かつ必要とするメモリ空間が少ない。より重要なことに、本発明に係るシステムおよび方法は、アクセスが付与されるべきでない範囲にそれが意図せずに付与されるという確率を低減して、それによって情報漏れまたは他の種類の事故の確率も低減する。本発明は、アプリケーションまたはサービスがログファイルにアクセスまたは認可データを記憶する場合、関連付けられた範囲およびアクセスについてのより多くの関連情報が入手可能であるので、監査および故障解析も支援する。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態に係る概略コンピュータシステムである。
【図２】本発明の一実施形態に係る概略認可パッケージである。
【図３】本発明の一実施形態に係る概略ユーザ記録である。
【図４】本発明の一実施形態に係るAoRを定義するための概略スキーマである。
【図５】本発明の一実施形態に係るAoRの概略例である。
【図６】本発明の一実施形態に係る概略位置パッケージである。
【図７】本発明の一実施形態に係る認可プロセスの概略フローチャートである。
【図８】本発明の一実施形態に係るコンピュータシステムに認可パッケージオブジェクトを追加するプロセスのための概略スイムレーン図である。
【図９】本発明の一実施形態に係る認可パッケージオブジェクトを変更するプロセスのための概略スイムレーン図である。
【図１０】本発明の一実施形態に係るコンピュータシステムへの認可プロセスのための概略スイムレーン図である。
【図１１】認可が失敗する認可プロセスの概略スイムレーン図である。
【図１２】認可が失敗する第2の認可プロセスの概略スイムレーン図である。
【図１３】本発明の一実施形態に係る時間情報を含む認可プロセスの概略スイムレーン図である。
【図１４】認可が失敗する、本発明の一実施形態に係る時間情報を含む認可プロセスの概略スイムレーン図である。
【発明を実施するための形態】
【００３２】
図1は、本発明の一実施形態に係る概略コンピュータシステム1010の例である。コンピュータシステム1010は、クライアントコンピュータ1020を通じてユーザによって作動される。システム1010は、本発明の目的で有用なIIoTネットワークアーキテクチャの概略図を示す。それは、IIoTアーキテクチャの現尺表現であると意図されない。IIoTシステムは、産業システム領域に帰属するオンプレミスデバイスに接続してもよい(または逆もまた同じ)。これらのデバイスは、IIoTシステムにとって有用な情報を生成することができる。例では、産業領域1100が、1101〜1104で示される複数のn個のデバイスを備える。これらのデバイスは、ゲートウェイ1092〜1094を介してシステム1010のゲートウェイ1091に接続し、そしてシステム1010のデータ記憶およびアクセスサーバ1080に情報、例えば1101aおよび1101bを、それぞれ、送信する。この情報は、とりわけ地理的位置に関するおよびデバイスのタイプに関する情報を含んでもよい。それらは、システム1010のデータストア1070にデバイスデータ1300として記憶される。システム1010は、解析コンポーネント1110を含み、これはデータ解析能力を提供するように構成される。解析コンポーネント1110は、データアクセスAPI1122を用いてデバイスデータ1300へのアクセスを有し、このAPIはデータ記憶およびアクセスサーバ1080の一部である。システム1010は、アプリケーションコンポーネント1030を更に含み、これはクライアントコンピュータ1020と対話するように構成され、そしてクライアントコンピュータ1020にデータ処理サービスを提供する。アプリケーション1030は、API1121および1122を介して解析コンポーネント1110ならびにデータ記憶およびアクセスサーバ1080と対話するように構成される。アプリケーション1030は、収集されるデータを解釈し、解析し、そしてそれに関して決定をする手段を提供する。このデータは、それが企業意思に影響し得るので、要注意であり得、そしてデータの感度がそうすることを必要とする場合、情報へのアクセスはきめの細かい方式で厳密に制御される必要がある。典型的に、膨大な数のユーザおよび対応するクライアントコンピュータ1020がある。しかしながら、あらゆるユーザが、入手可能なデータの全ての部分にアクセスするようにできるわけではない。この問題に対処するために、ユーザディレクトリ1050が、ユーザ固有のデータ1060を記憶する手段を提供し、これは、ユーザの地理的位置に関するデータ1061、およびユーザがアクセスを得ることができる、デバイスのタイプに関するデータ1062を含む。システム1010は、ユーザディレクトリ1050におけるユーザ固有のデータ1060に関する情報をアプリケーション1030に提供するように構成される認可サービス1040を更に含む。認可サービス1040は、役割およびユーザの役割に適用可能な許可に関する情報を提供するように更に構成される。この情報を使用して、アプリケーション1030は、クライアントコンピュータ1020に、要求されたデータ処理動作へのアクセスを付与または拒否することができる。付与の場合、アプリケーション1030は、プラットフォームサービス1200にユーザ固有のデータ1060に基づいてデータ処理動作を行うよう要求することができる。デバイス固有のデータは、プラットフォームサービス1200によって取得されてもよい。認可サービス1040���、図に図示されるように別のサービスであることができるが、しかしアプリケーション1030に組み込まれるモジュールであることもできる。この文脈における「へのアクセスを得る／有する」は、ユーザがデバイスデータに関連する全ての(要求された)データ処理動作へのアクセスを付与されることを意味する。
【００３３】
図2は、本発明の例示の実施形態として、ユーザディレクトリ1050にユーザ固有の情報を記憶するための第3のデータオブジェクト、認可パッケージ2000を図示する。認可パッケージ2000は、1〜n個の認可情報オブジェクト2100、2200、2300を含み、その各々が、責任範囲(area of responsibility, AoR)を定義する第1のデータオブジェクト2110、2210、2310、およびユーザが組織内で持つまたはユーザと関連付けられる役割を表す1〜n個のデータオブジェクト2120、2130を含む。AoRは、ユーザの地理的位置2111に関するおよびユーザがアクセスを得ることができるデバイスのタイプ2112に関するデータオブジェクトを含む。認可パッケージ2000は、例えばXMLで実現されるコンテナである。他のプログラミング言語(例えばC++)のコンテナが代替的に使用されてもよい。各認可情報オブジェクトはコンテナ内で一意であるものとし、そして1つの認可パッケージに少なくとも1つの認可情報オブジェクトがあるものとする。各ユーザは、1つの認可パッケージ2000が関連付けられてもよい。認可パッケージ2000は、あらゆるユーザのためのユーザ記録に透過的な属性で記憶されてもよい。例が図3に挙げられる。
【００３４】
図3は、本発明に係るユーザ記録3010の例示の構造を図示する。ユーザ記録3010は、ユーザ資格情報3011(例えば名前、パスワード)、連絡先情報3012(例えばアドレスなど)、他の情報3013および認可パッケージ3014を含む。
【００３５】
図4および図5は、責任範囲(AoR)の定義の仕方に関する例を挙げる。AoRは、図4に図示されるように組織の名前で始まる名前空間を使用して定義されてもよい。その組織名(organization name)はAoRのための名前空間を表し、そして後続の範囲レベル(level)は組織の事業実施のために適用可能な階層を表す。XMLを使用するAoR定義の例が図5に挙げられる。例は、AoRを構成する2つの場合、すなわち、位置を基にしたもの、およびデバイスタイプを基にしたものを図示する。位置を基にした構成(XYZCOMP.Region.*)の場合、例におけるAoR名前空間は、国(Country)、都市(City)、工場(Plant)およびデバイスレベルに基づく階層を含む。ユーザがXYZCOMP.EU.*での役割を割り当てられる場合、そのユーザは、XYZCOMP.EU階層における都市および工場の全てに設置されるデバイスに関連するデータのためのデータ操作プロセスにアクセスする権利を有する。機器タイプを基にした構成(XYZCOMP.APAC.*)の場合、AoR名前空間は、組織に帰属する機器タイプに基づく階層を含む。例えば、名前空間「XYZCOMP.APAC.Country2.Motors.*」は、「XYZCOMP.APAC.Country2」名前空間に帰属する「Motor」機器に関する全てのデータ操作プロセスへの使用アクセスを許可する。追加的に、「XYZCOMP.APAC.Country2.Plant1.Robots.*」名前空間に例示されるように、位置およびデバイスタイプの組合せが可能である。これは、APAC/Country2位置に設置される特定の「Plant1」における「Robots」に関する全てのデータ操作プロセスへのアクセス権を許可する。「*」は、名前空間における階層下のあらゆるものを意味するワイルドカード文字として使用される。例えば、XYZCOMP.*は、「XYZCOMP」名前空間に帰属する全ての国、位置、工場、機器タイプ等を表すAoRを意味する。AoRは、ユーザに対するアクセスのより繊細な制御を決定する。関連付けられた役割とともに、AoRは、ユーザが情報のどの部分へアクセスを有するかを決定する。
【００３６】
図6は、本発明の例示の実施形態として、デバイス固有のデータを含む第6のデータオブジェクト、位置パッケージ6000を図示する。位置パッケージ6000は、1つまたは複数の位置情報オブジェクト1〜n、6100、6200、6300を含む。位置情報オブジェクトは、図2におけるように、AoRオブジェクト6110、6310を含む。AoRオブジェクトは、それぞれのデバイスが存在する地理的位置に関するデータオブジェクト6111、6311およびデバイスのタイプに関するデータ6112、6312を含む。1つまたは複数の位置情報オブジェクト6100、6200、6300は、デバイスに関連する時間データを更に含む。時間データは、それぞれ、開始日時オブジェクト6120、6320および、それぞれ、終了日時オブジェクト6130、6330を含む。両時間データは、デバイスが特定の位置に存在するまたは存在した時間期間を定義する。位置パッケージ6000が異なる地理的位置にわたるデバイスの移動を表す位置および時間情報を有する複数の位置情報オブジェクトを有することができるのに対して、位置情報が異なる場合、時間期間に関して重複はないものとする。これは、デバイスが同じ時間に異なる位置に存在することができないことを意味する。終了日時がまだ入手可能でない場合、日時オブジェクトは空(empty)または開いている(open)であってもよい。デバイスは、1つの位置パッケージ6000が割り当てられてもよい。それは、デバイスのメタデータで、例えばデータストア1070にデバイスデータ1300で記憶されてもよい。プラットフォームサービス1200は、時間情報に沿った、前および現在の位置を含むデバイス位置情報について定期的に更新または通知されてもよく、そしてこの情報は、場合に応じて、認可サービス1040またはアプリケーション1030による使用のためにコンピュータシステムに維持されてもよい。位置パッケージも、例えばXMLを使用して、コンテナとして実現されてもよい。アプリケーションは、認可パッケージにおけるユーザのAoRおよび役割の組合せが位置パッケージにおける期間情報に沿ったデバイスのAoRと一致しない場合、動作へのアクセスを拒否してもよい。
【００３７】
図7は、本発明の一実施形態として、ユーザ起動のアクションに対してAoRおよび役割の組合せを考慮して認可を行うための概略フローチャートを図示する。開始ステップ7001の後、コンピュータシステムにおけるアプリケーションへの従来のユーザログイン7002があり、その後従来の認証7003が続く。成功の場合、アプリケーションは、ステップ7004で、本発明に係る認可パッケージが入手可能であるかどうかを確認し、そして可能ならば、認可情報オブジェクトにおけるAoRおよびAoRと関連付けられた役割情報を取得し、次いでステップ7005でユーザアクションを待つ。ユーザが1つまたは複数のデバイスに関連するデータへのデータ処理動作7008(例えばデータ読出し)を要求すれば、アプリケーションは、ステップ7006で、そのデータへの動作が要求された当該または各デバイスと関連付けられたAoRを取得し、次いで同じAoRがユーザの認可パッケージの認可情報オブジェクトのいずれかに存在するかどうかを確認する。更なる実施形態において、アプリケーションは、ステップ7006で、要求されたデータの期間が要求されたデバイスに対するAoRと関連付けられた時間情報の範囲に納まるかどうかを追加的に確認する。アプリケーションは次いで、ステップ7007で、ステップ7004で取得した関連付けられた役割が要求された動作を行う許可を与えるかどうかを確認する。この情報は、ユーザディレクトリで入手可能な役割記述オブジェクトから取得されてもよい。このステップが成功すれば、動作7008は行われることが許可される。そうでなければ、動作7008は拒否され、そして適切なエラーメッセージがユーザに示される。
【００３８】
このプロセスの更なる実施形態において、動作7008は、AoRと関連付けられた時間情報に対応するデータに対して許可されることになる。動作7008が異なる時間期間に帰属するデータに要求されれば、動作は許可されない。
【００３９】
図8は、本発明の一実施形態として、本発明に係る認可パッケージを含む新たなユーザをコンピュータシステムに追加するプロセスを表す概略スイムレーン図を示す。コンピュータシステムは、図1に記載したようなものであってもよい。それは、認可サービス8001、ユーザディレクトリ8002およびアプリケーション8003が少なくとも設けられる。それは、クライアント8004によってアクセスされる。この例では、システムは、クライアント8004を介して管理者ユーザによってアクセスされる。管理者ユーザには、ユーザディレクトリ8002におけるユーザの追加／削除のような役割およびAoRサポート管理動作が設定される。新たなユーザ記録および認可パッケージがユーザ記録において作成および保存されるので、動作が行われる資源はユーザディレクトリである。ステップ8005で、管理者ユーザは、クライアント8004を介してアプリケーション8003に管理者ログイン要求を送信する。アプリケーション8003は、ステップ8006で、ユーザディレクトリ8002からユーザの認証を行い、そしてステップ8007で、認可サービス8001からユーザに対する認可情報を取得する。ログイン成功メッセージがステップ8008でクライアント8004に提供される。クライアント8004は、ステップ8009で、アプリケーション8003に新たなユーザのユーザ資格情報のような新たな従来のユーザデータを送信する。ステップ8010で、ステップ8007からの認可情報を確認して、管理者ユーザがユーザディレクトリ8002に新たなユーザを追加することを認可されることを保証した後、アプリケーション8003は、ステップ8011で、ユーザディレクトリ8002に新たなユーザ記録を追加する。成功メッセージがステップ8012で提供される。ステップ8013で、クライアント8004は、アプリケーション8003に、新たなユーザの更なるユーザ固有のデータとして、特に認可情報として、AoRデータおよび役割データを送信する。ステップ8014での認可情報の確認後、アプリケーション8003は、ステップ8015で、認可情報を認可サービス8001に送信し、それがこの情報で認可パッケージを設定し、そしてステップ8016で、この新たな認可パッケージをユーザディレクトリ8002におけるユーザ記録に追加する。成功メッセージ8017、8018、8019でプロセスを完了する。
【００４０】
図9は、本発明の一実施形態として、ユーザの認可パッケージを変更するプロセスを表す概略スイムレーン図を示す。図1に記載したもののようなコンピュータシステムに、少なくとも認可サービス9001、ユーザディレクトリ9002およびアプリケーション9003が設けられる。システムは、クライアント9004を介して管理者ユーザによってアクセスされる(図8と比較されたい)。ログインステップ9005、9006、9007および9008は、図8に記載したログインステップと同一である。ログイン成功後、クライアント9004は、ステップ9009で、アプリケーション9003に変更情報を送信する。アプリケーション9003は、ステップ9010で、管理者ユーザがユーザ情報を変更することを認可されるかどうかを確認し、そしてそうであれば、ステップ9011で、変更情報を認可サービス9001に送信し、それが次いで、ステップ9012で、ユーザディレクトリ9002に変更された認可パッケージを追加する。成功メッセージ9013、9014および9015でプロセスを完了する。
【００４１】
図10は、本発明の一実施形態として、本発明に係るコンピュータシステムにデータ処理動作を行うための認証および認可のプロセスを表す概略スイムレーン図を示す。コンピュータシステムは、図1に記載したようなものであってもよい。それは、プラットフォームサービス10001、認可サービス10002、ユーザディレクトリ10003およびアプリケーション10004が少なくとも設けられる。それは、クライアントコンピュータ10005によってアクセスされる。初期ステップ10006として、ユーザが、クライアントコンピュータ10005を介してアプリケーション10004へログインを行う。従来の認証10007後、アプリケーション10004は、ステップ10008で、認可サービス10002に要求ユーザに対する認可パッケージを取得するよう要求する。ログイン成功がステップ10009で提供される。ログイン成功後、ステップ10010で、ユーザは、アプリケーション10004に、自分がアクセスしたいデータに関する情報を送信し、ここではデータはデバイス情報および時間情報、例えばデバイスタイプおよび特定の年または特定の時間期間を含む。アプリケーション10004は次いで、ステップ10011で、プラットフォームサービス10001から、アクセスされることになる要求されたデータと関連付けられた1つまたは複数の位置パッケージを取得する。アプリケーション10004は次いで、ステップ10012で、位置パッケージにおけるAoRデータおよび時間データが認可パッケージにおけるAoRデータおよびステップ10010で受信した時間データと一致するかどうかを確認する。この確認が成功すれば、アプリケーション10004は、ステップ10013で、位置パッケージにおける役割データが認可パッケージにおける役割データと一致するかどうかを確認する。この確認が成功すれば、アプリケーション10004は、ステップ10014で、プラットフォームサービス10001から要求された情報を取得し、そして成功メッセージ10015後、ステップ10016で、クライアント10005にアクセスを付与する。AoRの一致確認および役割の一致確認が行われる順序は関連性がないことが留意されるはずである。
【００４２】
図11は、本発明の一実施形態として、図10に既に記載したコンピュータシステムにデータ処理動作を行うための認証および認可のプロセスを表す概略スイムレーン図を示す。プラットフォームサービス11001、認可サービス11002、ユーザディレクトリ11003、アプリケーション11004およびクライアント11005がある。ログイン11006、認証11007、認可11008および成功メッセージ11009後、ユーザは、アクセス情報11010を提供する(図10における10010を参照のこと)。そのようなアクセス11010情報は、要求されたデータが帰属するべき時間または時間期間を表す時間データを含んでもよい。例えば、或る年Xの特定のデバイスXに関するデータ(図13および図14に更に詳細に記載される)。1つまたは複数の位置パッケージの取得(11011)後、アプリケーション11004は次いで、ステップ11012で、AoRデータ、および、AoRデータが一致すれば、デバイスXの位置パッケージにおける時間データが、ユーザの認可パッケージにおけるAoRデータのいずれか、およびステップ11010で受信した時間データと一致するかを確認する。この例ではAoRデータが一致しないので、アプリケーション11004は、時間または役割情報にかかわらず、ステップ11013で、情報へのアクセスを拒否する。
【００４３】
図12は、本発明の一実施形態として、照合ステップ11012が成功した場合の図11に記載したプロセスの続きを表す概略スイムレーン図を示す。図12における番号付けが11001の代わりに12001で始まることを除いて、システムおよび番号付けは同一である。この例では、関連付けられたユーザAoRの役割が、情報に要求された動作を行う許可を付与しない12013。したがって、アクセスはステップ12014で拒否される。
【００４４】
図13は、本発明の一実施形態として、例えば2015年からの履歴データにデータ処理が要求される、コンピュータシステムにデータ処理動作を行うための認証および認可のプロセスを表す概略スイムレーン図を示す。システムの部品は、前図に既に記載したのと同じである、プラットフォームサービス13001、ならびに認可サービス13002、ユーザディレクトリ13003、アプリケーション13004およびクライアント13005。番号付けは12001の代わりに13001で始まる。ログイン13006および認証13007後、アプリケーション13004は、認可サービス13002を介して認可パッケージ13016を取得する。認可パッケージ13016は、ユーザAoRとしてAoR1を含む。次いで、ユーザは、ステップ13010で、2015年からの履歴データを読み取ることを要求する。アプリケーション13004は次いで、ステップ13011で、要求された履歴データと関連付けられた位置パッケージ13015を取得する。アプリケーション13004は次いで、ステップ13012で、位置パッケージ13015におけるAoRデータのいずれかが認可パッケージ13016におけるAoRデータのいずれかと一致するかどうかを確認する。両パッケージがAoR1を含むので、この照合は成功であり、そしてアプリケーションは時間の照合ステップ13013に進むことができる。AoR1と関連付けられた時間期間が要求された2015年と一致するので、この照合も成功である。したがって、アプリケーション13004は、後続のステップ13014で、関連付けられたユーザAoRの役割が要求された動作13010を行う、すなわち要求されたデータにアクセスする許可を付与するかどうかを確認する。動作が許可されれば、アプリケーション13004は、ステップ13017で、要求された情報へのアクセスを付与する。
【００４５】
図14は、本発明の一実施形態として、図13に記載したプロセスとほとんど同一のプロセスを表す概略スイムレーン図を示す。差異は、ユーザが自分の認可パッケージ14016でAoR2を割り当てられたということである。システムは同じであるが、しかしながら、番号付けが13001の代わりに14001で始まる。ステップ14012におけるAoR照合は成功するが、位置パッケージ14015がAoR2位置を含むので、ステップ14013における時間照合が失敗し、これは、位置情報2における-開いている-時間期間が2016年1月1日の開始日を有しており、要求された2015年の外側であるためである。したがって、アクセスはステップ14014で拒否される。
【符号の説明】
【００４６】
1010  コンピュータシステム
1020  クライアントコンピュータ
1030  アプリケーションコンポーネント
1040  認可サービス
1050  ユーザディレクトリ
1060  ユーザ固有のデータ
1061  ユーザの地理的位置に関するデータ
1062  デバイスのタイプに関するデータ
1070  データストア
1080  データ記憶およびアクセスサーバ
1091  ゲートウェイ
1092〜1094  ゲートウェイ
1100  産業領域
1101〜1104  デバイス
1101a、1101b  情報
1110  解析コンポーネント
1121  API
1122  データアクセスAPI
1200  プラットフォームサービス
1300  デバイスデータ
2000  第3のデータオブジェクト(認可パッケージ)
2100、2200、2300  第2のオブジェクト(認可情報オブジェクト)
2110、2210、2310  第1のデータオブジェクト(責任範囲オブジェクト)
2111、2311  地理的位置に関するデータオブジェクト
2112、2312  デバイスのタイプに関するデータオブジェクト
2120、2130、2320、2330  役割に関するデータオブジェクト
3010  ユーザ記録
3011  ユーザ資格情報
3012  連絡先情報
3013  他の情報
3014  認可パッケージ
6000  第6のデータオブジェクト(位置パッケージ)
6100、6200、6300  第5のオブジェクト(位置情報オブジェクト)
6110、6310  第4のデータオブジェクト(AoRオブジェクト)
6111、6311  地理的位置に関するデータオブジェクト
6112、6312  デバイスのタイプに関するデータオブジェクト
6120、6320  開始日時オブジェクト
6130、6330  終了日時オブジェクト
【図１】
2020502672.tif 000003
【図２】
2020502672.tif 000004
【図３】
2020502672.tif 000005
【図４】
2020502672.tif 000006
【図５】
2020502672.tif 000007
【図６】
2020502672.tif 000008
【図７】
2020502672.tif 000009
【図８】
2020502672.tif 000010
【図９】
2020502672.tif 000011
【図１０】
2020502672.tif 000012
【図１１】
2020502672.tif 000013
【図１２】
2020502672.tif 000014
【図１３】
2020502672.tif 000015
【図１４】
2020502672.tif 000016
【国際調査報告】
2020502672.tif 000017
2020502672.tif 000018
2020502672.tif 000019