JP2011128994A - Apparatus and method for processing information, and computer program - Google Patents
Apparatus and method for processing information, and computer program Download PDFInfo
- Publication number
- JP2011128994A JP2011128994A JP2009288423A JP2009288423A JP2011128994A JP 2011128994 A JP2011128994 A JP 2011128994A JP 2009288423 A JP2009288423 A JP 2009288423A JP 2009288423 A JP2009288423 A JP 2009288423A JP 2011128994 A JP2011128994 A JP 2011128994A
- Authority
- JP
- Japan
- Prior art keywords
- user
- authority
- role
- tenant
- definition information
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
Description
本発明は、情報資源に対するアクセス制御に関するものであって、特にマルチテナント型のシステムにおける、テナント毎に管理されるロール(役割)の定義と、ユーザに割り当てられたロールに基づく、情報資源に対するアクセス制御に関するものである。 The present invention relates to access control to information resources, and particularly to access to information resources based on the definition of roles (role) managed for each tenant and roles assigned to users in a multi-tenant type system. It is about control.
ユーザロールに基づく情報資源に対するアクセス制御を行う場合には、情報資源に対してのアクセス権限をロールに付与しておき、ユーザにロールを割り当てる。ユーザに割り当てられたロールに特定の操作に対する権限があれば、ユーザはそのアクションが許可される。特許文献1には、上記のようなユーザロールによるアクセス制御の方法が開示されている。
When performing access control for information resources based on user roles, the access authority for the information resources is given to the roles, and the roles are assigned to the users. If the role assigned to the user has authority for a specific operation, the user is allowed to perform that action.
SaaSアプリケーションなど、マルチテナント型のシステムでは、同一のアプリケーションプログラムが複数のテナント(利用企業)に提供される。しかしながら、企業規模・業態が異なるテナント企業において、ユーザの役割を表すロールの望ましい分類は異なるものであり、また同一のロールに付与される権限も異なる可能性がある。このためマルチテナント型のアプリケーションにおいては、アクセス権限を付与する単位であるロールの分類と、各々のロール付与される権限(以下 アクセス権限を付与する単位であるロールの分類と、各々のロール付与される権限を「ロール定義情報」と表記する)を、テナント毎に柔軟に定義できるようにした上で、アプリケーションが単一のプログラム制御によって、アクセス制御を実現できるように必要がある。 In a multi-tenant system such as a SaaS application, the same application program is provided to a plurality of tenants (use companies). However, in tenant companies with different company sizes and business types, desirable classifications of roles representing user roles are different, and the authority granted to the same role may be different. For this reason, in a multi-tenant type application, the role classification that is a unit for granting access authority, the authority granted to each role (hereinafter, the role classification that is a unit for granting access authority, It is necessary to allow the application to realize access control by a single program control, in addition to enabling flexible definition for each tenant.
しかしながら、特許文献1に記載のユーザ・アクセス制御装置においては、単一のロール定義情報による情報資源に対するアクセス制御は可能であるが、テナント毎の複数のロール定義情報に基づく、情報資源に対するアクセス制御を実現することはできない。特に、複数のロール定義情報を記憶する手段と、テナント毎に定義されたロールの権限を、単一のプログラムによって情報資源に対するアクセス権限制御を実現するためのデータに変換する手段に欠けている。
However, in the user access control device described in
本発明は上記の課題を解決するためになされたものであり、アクセス権限を付与する単位であるロールの分類と、各々のロール付与される権限をテナント毎に設定可能な、アプリケーションが情報資源に対するユーザのアクセス制御を、単一のプログラム制御で実現できるようにするための、アクセス制御装置及びその制御方法、アクセス制御システム、プログラムを提供することを目的とする。 The present invention has been made in order to solve the above-described problems, and it is possible to set roles classified as units for granting access authority and the authority granted to each role for each tenant. An object of the present invention is to provide an access control apparatus, a control method therefor, an access control system, and a program for enabling user access control to be realized by a single program control.
上記した目的を達成するために、本発明の情報処理装置は以下の構成を備える。即ち、 マルチテナント型のアプリケーションが提供する機能のうち、ユーザの権限に基づき前記ユーザが利用できる機能を決定する情報処理装置であって、複数の前記テナントそれぞれについて、ロールとそのロールを有する権限との関係を示すテナント−ロール定義情報、前記テナント毎に、ユーザと当該ユーザに割り当てられたロールの関係を示すユーザ−ロール定義情報、及び複数の前記マルチテナント型のアプリケーションそれぞれについて、前記権限とその権限を有するユーザが実行できる当該アプリケーションの機能との関係を示すアクセス権限定義情報を記憶した記憶手段と、ユーザが使用する端末より送信されるユーザ認証に用いる認証情報に従い、前記端末を使用するユーザを認証する認証手段と、前記認証手段で認証されたユーザの権限を、前記記憶手段に記憶されているユーザ−ロール定義情報及びテナント−ロール定義情報に従って決定する第1の決定手段と、前記端末よりアプリケーションの実行要求を受け付ける受付手段と、前記受付手段が前記端末より実行要求を受け付けたアプリケーションのアクセス権限定義情報と、前記第1の決定手段で決定された当該ユーザの権限に従って、前記実行要求を受け付けたアプリケーションにおいて前記ユーザが利用できる機能を決定する第2の決定手段と、を備えることを特徴とする。 In order to achieve the above object, an information processing apparatus of the present invention has the following configuration. That is, an information processing apparatus that determines a function that can be used by a user based on a user's authority among functions provided by a multi-tenant type application, and a role and an authority having the role for each of the tenants For each tenant, for each tenant, user-role definition information indicating a relationship between a user and a role assigned to the user, and for each of the plurality of multi-tenant type applications, the authority and its A user who uses the terminal in accordance with storage means storing access authority definition information indicating a relationship with the function of the application that can be executed by the authorized user, and authentication information used for user authentication transmitted from the terminal used by the user Authentication means for authenticating the authentication and authentication by the authentication means First determination means for determining the authority of the user that has been made according to the user-role definition information and tenant-role definition information stored in the storage means, a reception means for receiving an application execution request from the terminal, Functions that can be used by the user in the application that has received the execution request in accordance with the access authority definition information of the application that has received the execution request from the terminal and the authority of the user determined by the first determination unit. Second deciding means for deciding.
また、上記した目的を達成するために、本発明の情報処理詳報は以下の構成を備える。即ち、 複数の前記テナントそれぞれについて、ロールとそのロールを有する権限との関係を示すテナント−ロール定義情報、前記テナント毎に、ユーザと当該ユーザに割り当てられたロールの関係を示すユーザ−ロール定義情報、及び複数の前記マルチテナント型アプリケーションそれぞれについて、前記権限とその権限を有するユーザが実行できる当該アプリケーションの機能との関係を示すアクセス権限定義情報を記憶した記憶手段を備える情報処理装置によって行われる、マルチテナント型のアプリケーションが提供する機能のうち、ユーザの権限に基づき前記ユーザが利用できる機能を決定する情報処理方法であって、ユーザが使用する端末より送信されるユーザ認証に用いる認証情報に従い、前記端末を使用するユーザを認証する認証工程と、前記認証工程で認証されたユーザの権限を、前記記憶手段に記憶されているユーザ−ロール定義情報及びテナント−ロール定義情報に従って決定する第1の決定工程と、前記端末よりアプリケーションの実行要求を受け付ける受付工程と、前記受付工程で前記端末より実行要求を受け付けたアプリケーションのアクセス権限定義情報と、前記第1の決定工程で決定した当該ユーザの権限に従って、前記実行要求を受け付けたアプリケーションにおいて前記ユーザが利用できる機能を決定する第2の決定工程と、を備えることを特徴とする。 In order to achieve the above object, the information processing detailed report of the present invention has the following configuration. That is, for each of the plurality of tenants, tenant-role definition information indicating a relationship between a role and an authority having the role, and for each tenant, user-role definition information indicating a relationship between a user and a role assigned to the user. For each of the plurality of multi-tenant type applications, the information processing apparatus includes a storage unit that stores access authority definition information indicating a relationship between the authority and a function of the application that can be executed by a user having the authority. Of the functions provided by the multi-tenant type application, an information processing method for determining a function that can be used by the user based on the user's authority, and according to authentication information used for user authentication transmitted from a terminal used by the user, Authenticate users using the terminal An authentication step, a first determination step of determining the authority of the user authenticated in the authentication step according to the user-role definition information and the tenant-role definition information stored in the storage means, and An acceptance process that accepts an execution request, an access authority definition information of an application that has accepted an execution request from the terminal in the acceptance process, and an application that has accepted the execution request according to the authority of the user determined in the first determination process And a second determination step of determining a function that can be used by the user.
また、上記した目的を達成するために、本発明のコンピュータプログラムは以下の構成を備える。即ち、 複数の前記テナントそれぞれについて、ロールとそのロールを有する権限との関係を示すテナント−ロール定義情報、前記テナント毎に、ユーザと当該ユーザに割り当てられたロールの関係を示すユーザ−ロール定義情報、及び複数の前記マルチテナント型アプリケーションそれぞれについて、前記権限とその権限を有するユーザが実行できる当該アプリケーションの機能との関係を示すアクセス権限定義情報を記憶した記憶手段を備えるコンピュータを、マルチテナント型のアプリケーションが提供する機能のうち、ユーザの権限に基づき前記ユーザが利用できる機能を決定する情報処理装置として機能させるためのコンピュータプログラムであって、ユーザが使用する端末より送信されるユーザ認証に用いる認証情報に従い、前記端末を使用するユーザを認証する認証手段と、
前記認証手段で認証されたユーザの権限を、前記記憶手段に記憶されているユーザ−ロール定義情報及びテナント−ロール定義情報に従って決定する第1の決定手段と、前記端末よりアプリケーションの実行要求を受け付ける受付手段と、前記受付手段で前記端末より実行要求を受け付けたアプリケーションのアクセス権限定義情報と、前記第1の決定工程で決定した当該ユーザの権限に従って、前記実行要求を受け付けたアプリケーションにおいて前記ユーザが利用できる機能を決定する第2の決定手段、として機能させることを特徴とする。
In order to achieve the above object, the computer program of the present invention has the following configuration. That is, for each of the plurality of tenants, tenant-role definition information indicating a relationship between a role and an authority having the role, and for each tenant, user-role definition information indicating a relationship between a user and a role assigned to the user. And for each of the plurality of multi-tenant applications, a computer having storage means storing access authority definition information indicating a relationship between the authority and a function of the application that can be executed by a user having the authority, Among the functions provided by the application, a computer program for functioning as an information processing apparatus that determines a function that can be used by the user based on the user's authority, and authentication used for user authentication transmitted from a terminal used by the user According to the information, An authentication means for authenticating a user who uses the terminal;
First determination means for determining the authority of the user authenticated by the authentication means in accordance with user-role definition information and tenant-role definition information stored in the storage means, and accepting an application execution request from the terminal According to the receiving means, the access authority definition information of the application that has received the execution request from the terminal by the receiving means, and the user's authority determined in the first determination step, the user in the application that has received the execution request It is made to function as the 2nd determination means which determines the function which can be utilized.
本発明によれば、情報資源に対するアクセス権限を付与する単位であるロールの分類と各々のロールに付与される権限を、テナント毎に柔軟に定義しながら、アプリケーションが情報資源に対するユーザのアクセス制御を、単一のプログラム制御で実施するための、情報処理装置及び情報処理方法、及びコンピュータプログラムを提供できる。特に、テナント毎のロール定義情報と、テナント内のユーザが割り当てられたロールを定義したユーザロール定義情報を記憶し、これらの情報を元に、情報資源に対するアクセス権限のデータに変換するので、単一のシステムで柔軟なアクセス権限の制御を実現する効果を奏する。 According to the present invention, the application controls the user's access to the information resource while flexibly defining the role classification, which is a unit for granting the access authority to the information resource, and the authority given to each role for each tenant. It is possible to provide an information processing apparatus, an information processing method, and a computer program that are executed by a single program control. In particular, role definition information for each tenant and user role definition information that defines the roles to which users in the tenant are assigned are stored and converted to access authority data for information resources based on this information. One system has the effect of realizing flexible access authority control.
以下、図面を参照して、本発明の実施形態を詳細に説明する。図1は、本発明の実施形態におけるシステムの構成を示す図である。尚、図1のネットワーク103上に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a diagram showing the configuration of a system in an embodiment of the present invention. Note that the configuration of various terminals connected to the
101はアプリケーションサービスを提供するアプリケーションサーバであり、マルチテナント型のアプリケーションは101上で稼動する。102はサービスを管理する事業者が使用する、サービス管理端末である。104−1、104−2は当該サービスを使用する各テナントの利用者が使用する、サービス利用端末である。サービス管理端末102、サービス利用端末104−1、サービス利用端末104−2は、ネットワーク103を介して、アプリケーションサーバ101とデータの送受信が可能である。
次に、図1のアプリケーションサーバ101、サービス管理端末102、サービス利用端末104−1、サービス利用端末104−2の各種端末に適用可能な情報処理装置のハードウェア構成について、図2を用いて説明する。
Next, the hardware configuration of the information processing apparatus applicable to various terminals such as the
CPU201は、システムバス204に接続される後述の各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。
The
CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種動作を実現するものである。また、入力コントローラ(入力C)205は、キーボードやポインティングデバイス等で構成される入力装置209からの入力を制御する。ビデオコントローラ(VC)206は、ディスプレイ装置210等の表示装置への表示を制御する。ディスプレイ装置は、例えばCRTディスプレイや液晶ディスプレイ等で構成される。
The
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ211へのアクセスを制御する。
A memory controller (MC) 207 is a hard disk (HD), floppy disk (registered trademark FD) or PCMCIA card slot for storing boot programs, browser software, various applications, font data, user files, editing files, various data, and the like. Controls access to an
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。 A communication I / F controller (communication I / FC) 208 is connected to and communicates with an external device via a network, and executes communication control processing in the network. For example, Internet communication using TCP / IP is possible.
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
Note that the
図1に示す、本実施形態にかかる各種端末(アプリケーションサーバ101、サービス管理端末102、サービス利用端末104−1、104−2)が後述する各種処理を実行するために用いられるプログラムは外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
A program used by the various terminals (
次に、図1のアプリケーションサーバ101、サービス管理端末102、サービス利用端末104−1、サービス利用端末104−2の各種端末の内部構成について、図3を用いて説明する。
Next, internal configurations of various terminals such as the
図3で、301のサービスアプリケーション(サービスAP)はアプリケーションサーバ101に配置され、サービスアプリケーション301がWebアプリケーションの形態を取る場合、サービス利用端末104からブラウザ303を用いてアクセスされる。302は特定のテナントの特定のユーザが許可されたアクセス権限の情報を、サービスアプリケーション301に提供するアクセス制御部である。アクセス制御部302は、サービスアプリケーション301から、ネットワーク103を介してアクセス可能な別のハードウェア上に配置されていても構わない。311、312、313は、アクセス制御部302の構成要素である。アクセス権限管理モジュール311は、アクセス制御部302のメインモジュールであり、ユーザロールプロバイダモジュール312、テナントロール定義プロバイダモジュール313を呼び出し、またアクセス権限定義情報321を用いて、テナントのユーザが利用できるアクセス権限の情報を提供する。ユーザロールプロバイダモジュール312は、ユーザ定義情報322を用いて、テナント内のユーザが割り当てられたロール情報を提供するモジュールである。テナントロール定義プロバイダモジュール313は、テナントロール定義情報323を用いて、テナントが定義するロールとそのロールに付与された権限の情報を提供するモジュールである。ユーザロールプロバイダモジュール312、テナントロール定義プロバイダモジュール313は、アクセス権限管理モジュール311から、ネットワーク103を介してアクセス可能な別のハードウェア上に配置されていても構わない。305はアクセス制御部302の動作に必要な、アクセス権限定義情報321、ユーザ定義情報322、テナントロール定義情報323を設定するための管理アプリケーション(管理AP)である。管理アプリケーション305は、サービス利用端末104のブラウザ303や、サービス管理端末102のブラウザ304からネットワーク103を介してアクセスできる。
In FIG. 3, a service application 301 (service AP) 301 is arranged on the
次に、図3のアクセス権限定義情報321、ユーザロール定義情報322、テナントロール定義情報323の各種データ構造の例と、これを設定するための管理画面例について、図4から図9を用いて説明する。
Next, examples of various data structures of the access
図4は図3のアクセス権限定義情報321のデータ構造の一例を示している。アクセス権限定義情報321は、アクセス権限の一覧401を保持し、アクセス権限401毎に業務機能(業務機能1(402)、業務機能2(403)、業務機能3(404)、業務機能4(405))の操作権限を定義している。例えば図4の設定例で、アクセス権限”AP権限−4”は、”業務機能1”の参照権限”R”と、”業務機能2”の参照・編集権限”R/W”があることを意味する。
FIG. 4 shows an example of the data structure of the access
図7は、アクセス権限定義情報321を設定するための管理画面の一例である。管理画面700がWebアプリケーションの形態で提供される場合、サービス管理端末102は、サービス管理端末102のブラウザ304により表示される管理画面700を介してデータの入力を受け付け、ネットワーク103を介して管理アプリケーション305にデータを送信することで、アクセス制御部302のアクセス権限管理モジュール311はアクセス権限定義情報321を設定する。
FIG. 7 is an example of a management screen for setting the access
図5は、図3のユーザロール定義情報322のデータ構造の一例を示している。ユーザロール定義情報322は、テナントのユーザ毎に、ユーザに割り当てられたロールを定義している。テナントID501はテナントを一意に識別するIDであり、ユーザID502はテナント内のユーザを一意に識別するIDである。ロール503はユーザに割り当てられたロールを示している。例えば、図5の設定例で、テナントIDが”T−A”のテナントに所属するユーザ”USER1”は、”ロール2”と”ロール3”と”ロール4”が割り当てられていることを意味する。尚、ユーザに割り当てられるロールに割り当てられた権限は、テナントロール定義情報323に定義されている。
FIG. 5 shows an example of the data structure of the user
図8は、ユーザロール定義情報322を設定するための管理画面の一例である。管理画面800がWebアプリケーションの形態で提供される場合、サービス利用端末104は、サービス利用端末104のブラウザ303により表示される管理画面800を介してデータの入力を受け付け、ネットワーク103を介して管理アプリケーション305にデータを送信することで、アクセス制御部302のユーザロールプロバイダモジュール312はユーザロール定義情報322を設定する。
FIG. 8 is an example of a management screen for setting the user
図6は、テナントロール定義情報323のデータ構造の一例を示している。テナントロール定義情報323は、各々のテナントID601で特定されるテナントのそれぞれのロール602について、当該ロールに付与されるアクセス権限603を定義している。例えば図6の設定例で、テナントIDが”T−A”で表されるテナントにおいて、”ロール3”は”AP権限−1”と”AP権限−2”の権限を持つことを意味する。尚、ロールに付与されるアクセス権限は、図4で説明したアクセス権限定義情報321に定義されている。
FIG. 6 shows an example of the data structure of the tenant
図9は、テナントロール定義情報503を設定するための管理画面の一例である。管理画面900がWebアプリケーションの形態で提供される場合、サービス利用端末104は、サービス利用者端末104のブラウザ303により表示される管理画面900を介してデータの入力を受け付け、ネットワーク103を介して管理アプリケーション305にデータを送信することで、アクセス制御部302のテナントロール定義プロバイダモジュール323は定義情報テナントロール定義情報323を設定する。
FIG. 9 is an example of a management screen for setting the tenant
次に、アプリケーションサーバ101のアクセス制御部302が情報資源に対するユーザのアクセス権限を導出する処理を、図13を参照して説明する。ここでは、外部から与えられたテナントIDとユーザIDと、予め定義された情報に基づいて、アクセス制御部302が業務機能に対する当該ユーザのアクセス権の一覧を導出する処理の説明を行う。この処理を行う際には、アプリケーションサーバ101のCPU201は、外部メモリ211に記憶されている、CPU201にアクセス制御部302に係る処理を行わせるためのプログラムをRAM202にロードし、当該プログラムの制御に従って本処理を行うことになる。以降の説明では、アクセス権限管理モジュール311によるに従ってCPU201が行う処理を、アクセス権限管理モジュール311が行う処理として、ユーザロールプロバイダモジュール312による制御に従ってCPU201が行う処理をユーザロールプロバイダモジュール312が行う処理として、テナントロール定義プロバイダモジュール313による制御に従ってCPU201が行う処理をテナントロール定義プロバイダモジュール313が行う処理として説明することにする。
Next, a process in which the
ステップS1301では、アクセス権限管理モジュール321を呼び出し、その制御に従ってCPU201は、外部から条件として与えられたテナントID(P1)とユーザID(P2)を受け取る。そしてユーザ認証を行い、当該ユーザ情報、テナント情報を特定する。ここでは、P1の値を”T−A”、P2の値を”USER2”と仮定して、この先のフローを説明する。
In step S1301, the access
続いて、ステップS1302では、アクセス権限管理モジュール311は、ユーザロールプロバイダモジュール322を呼び出す。そしてユーザロールプロバイダモジュール312は、当該ユーザのロールリスト(L1)をユーザロール定義情報322より取得する。この際、ユーザロールプロバイダモジュール312には、引数としてテナントID(P1)とユーザID(P2)が受け渡される。ユーザロールプロバイダモジュール312は、ユーザロール定義情報322に予め定義されたデータを参照して、当該テナントユーザに割り当てられたロールを取得する。例えば、図5のようにユーザロール定義情報が設定されていた場合には、テナントID列が引数P1の値”T−A”、ユーザID列が引数P2の値”USER2”の両方が一致する行が探索され、そのデータ行のロール列の値”ロール2、ロール3、ロール4”が取得される。そして取得したロールを要素とする配列L1をアクセス権限管理モジュール401に返す。この時点でL1の配列の要素には”ロール2”、”ロール3”、”ロール4”が含まれる。
Subsequently, in step S1302, the access
ステップS1303では、配列L2が初期化される。この時点では配列L2の要素は空である。その後ステップS1304では、配列L2のカウンタ変数であるKを0に初期化する。 In step S1303, the array L2 is initialized. At this time, the element of the array L2 is empty. In step S1304, K, which is a counter variable of the array L2, is initialized to zero.
ステップS1305は、ループ始端である。配列L1各々の要素であるL1[i](iの初期値は0)に対して、ステップS1306からS1311の処理を行う。 Step S1305 is the beginning of the loop. The processing from step S1306 to S1311 is performed on L1 [i] (the initial value of i is 0) that is an element of each array L1.
ステップS1306では、アクセス権限管理モジュール311は、テナントロール定義プロバイダモジュール313を呼び出して、テナントロール定義情報323からL1[i]のロールについてアクセス権限リスト(L3)を取得する。この際、テナントロール定義プロバイダモジュール313には、引数としてテナントID(P1)とL1[i]のロール(P3)が受け渡される。テナントロール定義プロバイダモジュール313は、テナントロール定義情報323に予め定義されたデータを参照して、当該ロールに付与されたアクセス権限を取得する。例えば、テナントロール定義情報が図6に示すように設定されており、引数P3の値が”ロール2”の時、テナントID列と引数P1の値”T−A”、ロール列と引数P3の値”ロール2”の両方が一致する行が探索され、そのデータ行のアクセス権限列が取得される。そして取得したデータ行の権限列に設定された権限の、各々を要素とする配列L3をアクセス権限管理モジュール401に返す。引数P1の値が”T−A”、
引数P3の値が”ロール2”の時、L3の配列の要素には”AP権限−3”が含まれる。
In step S1306, the access
When the value of the argument P3 is “role 2”, the element of the array of L3 includes “AP authority-3”.
ステップS1307はループ始端である。配列L3各々の要素であるL3[j](jの初期値は0)に対して、ステップS1308からS1310の処理を行う。 Step S1307 is the beginning of the loop. The processing of steps S1308 to S1310 is performed on L3 [j] (the initial value of j is 0) that is an element of each array L3.
ステップS1308では、L3[j]の値が示すアクセス権限が配列L2の要素として含まれているかを確認し、配列L2の要素に含まれていない場合にはステップS1309に進む。L3[j]の値が配列L2の要素に既に含まれている場合にはステップS1311に進む。 In step S1308, it is confirmed whether the access authority indicated by the value of L3 [j] is included as an element of the array L2, and if it is not included in the element of the array L2, the process proceeds to step S1309. If the value of L3 [j] is already included in the element of the array L2, the process proceeds to step S1311.
ステップS1309では、L2[k]にL3[j]を代入する。そして、ステップS1310で変数kの値に1を追加する。 In step S1309, L3 [j] is substituted for L2 [k]. In step S1310, 1 is added to the value of the variable k.
ステップS1311はステップS1307に対応するループ終端である。配列L3に含まれる全ての要素についてステップS1308からS1310の処理が終わるとループが終了する。このループが終了した時点でユーザに割り当てられたロールの1つに付与された業務権限が、配列L2に追加されていることになる。例えばL1の1つ目の要素であるL1[0]が“ロール2”の時、L3の要素は“AP権限−3”が含まれる。 Step S1311 is a loop end corresponding to step S1307. When the processes in steps S1308 to S1310 are finished for all elements included in the array L3, the loop is finished. The business authority given to one of the roles assigned to the user at the time when this loop is completed is added to the array L2. For example, when L1 [0], which is the first element of L1, is “role 2”, the element of L3 includes “AP authority-3”.
ステップS1312は、ステップS1305に対応するループ終端である。配列L1に含まれる全ての要素についてステップS1306からS1311の処理が終わるとループが終了する。このループが終了した時点でユーザに割り当てられた全てのロールに付与された業務権限が、配列L2に追加されていることになる。例えば引数P1の値が“T−A”、引数P2の値が“USER2”の時、このループを終了する時点での、配列L2の要素は“AP権限−3”、“AP権限−1”、“AP権限−2”が含まれる。そして、ステップS1313で呼出元に配列L2を返す。 Step S1312 is a loop end corresponding to step S1305. When the processes in steps S1306 to S1311 are finished for all elements included in the array L1, the loop is finished. The business authority assigned to all the roles assigned to the user at the end of this loop is added to the array L2. For example, when the value of the argument P1 is “TA” and the value of the argument P2 is “USER2”, the elements of the array L2 at the time of ending this loop are “AP authority-3” and “AP authority-1”. , “AP authority-2”. In step S1313, the array L2 is returned to the caller.
次に、図14を参照して、アクセス権限定義情報321を設定する処理について説明する。図14に示すアクセス権限定義情報設定処理は、サービス管理端末102及びアプリケーションサーバ101によって行われる。尚、アプリケーションサーバ101のCPU201により行われる処理については、その処理主体をCPU201に当該処理を行わせるモジュールとして説明することにする。
Next, processing for setting the access
まず、サービス管理端末102のCPU201は、アクセス権限定義情報変更要求をアプリケーションサーバ101に対して送信する(ステップS1401)。その変更要求を受信する(ステップS1402)と、ステップS1403で管理アプリケーション305は、現在登録されているアクセス権限定義情報321のデータを取得するために、アクセス制御部302を呼び出す。このデータ取得要求は、アクセス制御部302の内部でアクセス権限管理モジュール311に伝えられる。
First, the
その後、ステップS1404でアクセス権限管理モジュール311は、アクセス権限定義情報321からデータを読み込んで、読み込んだデータ(以下 D1a)を呼出元に返す。アクセス制御装置302から、D1aを受け取った管理アプリケーション305はステップS1405で、D1aを反映したアクセス権限定義情報の管理画面700のHTML文書を生成し、このHTML文書をサービス管理端末102のブラウザ304の応答として返す(ステップS1406)。このHTML文書はネットワーク103に送信され、ブラウザ304が受信する。サービス管理端末102が管理画面700のHTMLデータを取得すると、ブラウザ304の機能により、D1aが設定されたアクセス権限定義情報の管理画面700がディスプレイ装置210に表示される(ステップS1408)。
Thereafter, in step S1404, the access
そしてその後、管理画面700を介してデータの変更入力を受け付ける(ステップS1409)。そしてその後、管理画面700の送信ボタン704の押下を受け付けると、入力データ(以下 D1b)が、ブラウザ304の機能によってネットワーク103に送信され(ステップS1410)、管理アプリケーション305がこれを受信する(ステップS1411)。ステップS1412では、D1bを受信した管理アプリケーション305は、このデータを永続化するために、アクセス制御部302にD1bを受け渡す。この永続化要求は、アクセス制御部302の内部でアクセス権限管理モジュール311に伝えられる。
Thereafter, a data change input is accepted via the management screen 700 (step S1409). After that, when the pressing of the
そして、アクセス権限管理モジュール311は、アクセス権限定義情報321のデータを、受け取ったD1bの内容に置き換える(ステップS1412:データ更新)。そして、管理アプリケーション305はその処理結果をアクセス制御部302より取得し、取得した処理結果をサービス管理端末102のブラウザ304に対して送信する(ステップS1413)。そして、サービス管理端末102のブラウザ304は受信した処理結果を表示する(ステップS1414)。以上がアクセス権限定義情報設定処理の説明である。
Then, the access
次に、図15を参照して、テナントロール定義情報323を設定する処理について説明する。図15に示すテナントロール定義情報設定処理は、サービス利用端末104及びアプリケーションサーバ101によって行われる。尚、本処理の説明は、その処理主体をCPU201に当該処理を行わせるモジュールとして説明することにする。
Next, processing for setting the tenant
まず、サービス利用端末104のCPU201は、テナントロール定義情報変更要求をアプリケーションサーバ101に対して送信する(ステップS1501)。その際には、ブラウザ303を利用して、管理アプリケーション305にアクセスすることになる。またこのアクセス要求には、テナントIDのようなアクセス元のテナントを識別する情報が含まれる。テナントIDをアクセス要求に含める方法としては、例えばHTTP CookieやURL内のクエリストリングあるいは、HTTP POSTデータに含める方法が考えられる。管理アプリケーション305においては、前記のアクセス元のテナントの表明が偽装される攻撃に備えて、十分な対策がなされるべきであることは言うまでもない。
First, the
アプリケーションサーバ101の管理アプリケーション305が変更要求を受信する(ステップS1502)と、ステップS1503で現在登録されているテナントロール定義情報323のデータを取得するために、アクセス制御部302を呼び出す。このデータ取得要求は、アクセス制御部302の内部でテナントロール定義プロバイダモジュール313に伝えられる。
When the
ステップS1503で管理アプリケーション305は、該当するテナントのテナントロール定義のデータを取得するために、アクセス制御部302を呼び出す。呼び出しにあたって、管理アプリケーション305は、アクセス要求に含まれるテナントIDを取り出して、アクセス制御装置302に引数として受け渡す。このデータ取得要求は引数とともに、アクセス制御部302の内部で、アクセス権限管理モジュール311を介して、テナントロール定義プロバイダモジュール313に伝えられる。ステップS1504でテナントロール定義プロバイダモジュール313は、引数として受け渡されたテナントIDに該当する全てのレコードを、テナントロール定義情報323から読み込んで、このデータ(以下 D2a)を呼出元に返す。アクセス制御部302から、D2aを受け取った管理アプリケーション305はステップS1505で、D2aを反映したテナントロール定義情報の管理画面900のHTML文書を作成し、このHTML文書をブラウザ303の応答として返す(ステップS1506)。このHTML文書はネットワーク103に送信され、ブラウザ303が受信する(ステップS1507)。ブラウザ303の機能により、D2aが設定されたテナントロール定義情報の管理画面900が表示される(ステップS1508)。
In step S1503, the
そしてその後、管理画面900を介してデータの変更入力を受け付ける(ステップS1509)。そしてその後、管理画面900の送信ボタン905の押下を受け付けると、入力データ(以下 D2b)がブラウザ303の機能によってネットワーク103に送信され(ステップS1510)、管理アプリケーション305がこれを受信する(ステップS1511)。D2bを受信した管理アプリケーション305は、ステップS1511で、このデータを永続化するために、アクセス制御装置302にD2bとテナントIDを、アクセス制御部302に引数として受け渡す。この永続化要求は引数と共に、アクセス部装置302の内部でアクセス権限管理モジュール311を介して、テナントロール定義プロバイダモジュール313に伝えられる。尚、引数の一部として受け渡すテナントIDは、前述のアクセス要求時と同じようにブラウザ303から送出されるか、あるいはアプリケーションサーバ101のセッション状態管理機能を用いて、前述のアクセス要求時に管理アプリケーション305がテナントIDを記憶しておき、これを取り出して用いても良い。ステップS1512でテナントロール定義プロバイダモジュール313は、テナントロール定義情報323のうち、引数のテナントIDに該当するレコードを受け取ったD2bの内容に置き換える(ステップS1512:データ更新)。
Thereafter, a data change input is accepted via the management screen 900 (step S1509). After that, when the pressing of the
そして、管理アプリケーション305はその処理結果をアクセス制御部302より取得し、取得した処理結果をサービス利用端末104のブラウザ304に対して送信する(ステップS1513)。そして、サービス利用端末104のブラウザ303は受信した処理結果を表示する(ステップS1514)。以上がテナントロール定義設定処理の説明である。
Then, the
次に、図16を参照して、ユーザロール定義情報322を設定する処理について説明する。図16に示すユーザロール定義情報設定処理は、サービス利用端末104及びアプリケーションサーバ101によって行われる。尚、本処理の説明は、その処理主体をCPU201に当該処理を行わせるモジュールとして説明することにする。
Next, processing for setting the user
まず、サービス利用端末104のCPU201は、ユーザロール定義情報変更要求をアプリケーションサーバ101に対して送信する(ステップS1601)。その際には、ブラウザ303を利用して、管理アプリケーション305にアクセスすることになる。またこのアクセス要求には、テナントIDのようなアクセス元のテナントを識別する情報が含まれる。テナントIDをアクセス要求に含める方法としては、例えばHTTP CookieやURL内のクエリストリングあるいは、HTTP POSTデータに含める方法が考えられる。管理アプリケーション305においては、前記のアクセス元のテナントの表明が偽装される攻撃に備えて、十分な対策がなされるべきであることは言うまでもない。
First, the
アプリケーションサーバ101の管理アプリケーション305が変更要求を受信する(ステップS1602)と、ステップS1603で現在登録されているユーザロール定義情報322のデータを取得するために、アクセス制御部302を呼び出す。このデータ取得要求は、アクセス制御部302の内部でユーザロールプロバイダモジュール312に伝えられる。
When the
ステップS1603で、管理アプリケーション305は、該当するユーザのユーザロール定義のデータを取得するために、アクセス制御部302を呼び出す。呼び出しにあたって、管理アプリケーション305は、アクセス要求に含まれるテナントIDとユーザIDを取り出して、アクセス制御部302に引数として受け渡す。このデータ取得要求は引数とともに、アクセス制御部302の内部で、アクセス権限管理モジュール311を介して、ユーザロールプロバイダモジュール312に伝えられる。ステップS1604でユーザロールプロバイダモジュール312は、引数として受け渡されたテナントIDに該当する全てのレコードを、ユーザロール定義情報322から読み込んで、このデータ(以下 D3a)を呼出元に返す。
In step S1603, the
アクセス制御部302からD3aを受け取った管理アプリケーション305はステップS1605で、D3aを反映したユーザロール定義情報の管理画面800のHTML文書を作成し、このHTML文書をブラウザ303の応答として返す(ステップS1606)。このHTML文書はネットワーク103に送信され、ブラウザ303が受信する(ステップS1607)。ブラウザ303の機能により、D3aが設定されたたユーザロール定義情報の管理画面800が表示される(ステップS1608)。
In step S1605, the
そしてその後、管理画面800を介してデータの変更入力を受け付ける(ステップS1609)。そしてその後、管理画面800の送信ボタン803の押下を受け付けると、入力データ(以下 D3b)がブラウザ303の機能によってネットワーク103に送信され(ステップS1610)、管理アプリケーション305がこれを受信する(ステップS1611)。D3bを受信した管理アプリケーション305は、このデータを永続化するために、アクセス制御装置302にD3bとテナントID、ユーザIDを、アクセス制御装置302に引数として受け渡す。この永続化要求は引数と共に、アクセス制御装置302の内部でアクセス権限管理モジュール311を介して、ユーザロールプロバイダモジュール312に伝えられる。尚、引数の一部として受け渡すテナントIDとユーザIDは、前述のアクセス要求時と同じようにブラウザ303から送出されるか、あるいはアプリケーションサーバのセッション状態管理機能を用いて、前述のアクセス要求時に管理アプリケーション305がテナントIDを記憶しておき、これを取り出して用いても良い。ステップS1612でユーザロールプロバイダモジュール312は、ユーザロール定義情報322のうち、引数のテナントIDとユーザIDに該当するレコードを受け取ったD3bの内容に置き換える(ステップS1612:データ更新)。
After that, data change input is accepted via the management screen 800 (step S1609). After that, when the pressing of the
そして、管理アプリケーション305はその処理結果をアクセス制御部302より取得し、取得した処理結果をサービス利用端末104のブラウザ304に対して送信する(ステップS1613)。そして、サービス利用端末104のブラウザ303は受信した処理結果を表示する(ステップS1614)。以上がユーザロール定義設定処理の説明である。
Then, the
次に、図10から図12を参照して、サービス利用端末104からのアプリケーションの実行要求を受けた場合に、図13に示すアクセス制御部302による情報資源に対するユーザのアクセス権限を導出する処理を実行後、ユーザが使用するサービス利用端末104に表示されるサービスアプリケーション301により提供される画面例について説明する。図10は、サービスアプリケーション301のメニュー画面の一例である。サービス利用者は、この画面を用いて、使用する業務機能の起動指示をCPU201に対して入力する。例えば、図中に示す業務機能1ボタン(1002)乃至業務機能4(1004)ボタン等のコントロールに対する操作指示を行うことで、その入力を行うことが可能である。サービスアプリケーション301はアクセス制御装置302から取得した情報を用いて、このようなメニュー画面1000のボタンの使用可否を切り替えることができる。すなわち、テナント“T−A”に所属するユーザである“USER1”は、ロール1が割り当てられているとして、テナント“T−A”における“ロール1”に付与される権限が、“AP権限−1”と“AP権限−2”と“AP権限−3”と“AP権限−4”である時、このユーザは、“業務機能1”と“業務機能2”に対するアクセスが許可されるため、“業務機能1”と業務権限“2”に対応するメニューボタンを有効とし、権限を持たない業務機能のメニューボタンを無効化にすることができる。
Next, referring to FIG. 10 to FIG. 12, when an application execution request is received from the
図11及び図12は、メニュー画面1000から起動される業務画面の例である。サービスアプリケーション301は、例えば
“業務機能1”に対するアクセス権が参照・編集権限(R/W)のユーザに対しては、1100の画面例のようにデータの変更に関わるボタンを活性化し、“業務機能1”に対するアクセス権が参照権限(R)のユーザに対しては、1200の画面のようにデータの変更に関わるボタンを非活性にすることで、ユーザのアクセス権に応じた機能を提供できる。尚、アクセス制御装置302が提供するアクセス権限情報は、画面制御に限らず、アクセス制御の様々な局面に適用可能である。
FIG. 11 and FIG. 12 are examples of business screens activated from the
以上説明したように、本実施形態によれば、情報資源に対する操作権限の情報を定義したアクセス権限定義情報と、テナント毎のロールの分類とロールに付与する権限を定義したテナントロール定義情報、またこのロールのユーザへの割り当てを定義したユーザロール定義情報を記憶しておき、これらの情報を組み合わせて結びつけることで、アプリケーションは単一のプログラムを用いて情報資源に対するユーザのアクセス制御を実現できる。 As described above, according to the present embodiment, access authority definition information that defines operation authority information for information resources, tenant role definition information that defines the role classification for each tenant and the authority granted to the role, By storing user role definition information that defines the assignment of roles to users and combining these information in combination, the application can implement user access control for information resources using a single program.
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実勢態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。 As described above, the embodiment has been described in detail. However, the present invention can take an actual aspect as, for example, a system, apparatus, method, program, or storage medium, and specifically includes a plurality of devices. The present invention may be applied to a system that is configured, or may be applied to an apparatus that includes a single device.
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。 Note that the present invention includes a software program that implements the functions of the above-described embodiments directly or remotely from a system or apparatus. The present invention also includes a case where the system or the computer of the apparatus is achieved by reading and executing the supplied program code.
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。 Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。 In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, and the like.
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。 Examples of the recording medium for supplying the program include a flexible disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, and CD-RW. There are also magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD-R) and the like.
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。 As another program supply method, a browser on a client computer is used to connect to an Internet home page. The computer program itself of the present invention or a compressed file including an automatic installation function can be downloaded from the homepage by downloading it to a recording medium such as a hard disk.
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。 It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。 In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. Let It is also possible to execute the encrypted program by using the downloaded key information and install the program on a computer.
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。 Further, the functions of the above-described embodiments are realized by the computer executing the read program. In addition, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments can also be realized by the processing.
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。 Further, the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Thereafter, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing based on the instructions of the program, and the functions of the above-described embodiments are realized by the processing.
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。 The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.
101 アプリケーションサーバ
102 サービス管理端末
103 ネットワーク
104−1、104−2 サービス利用端末
201 CPU
202 RAM
203 ROM
204 システムバス
205 入力コントローラ
206 ビデオコントローラ
207 メモリコントローラ
208 通信I/F(インターフェース)コントローラ
209 入力装置
210 ディスプレイ装置
211 外部メモリ
DESCRIPTION OF
202 RAM
203 ROM
204
Claims (6)
複数の前記テナントそれぞれについて、ロールとそのロールを有する権限との関係を示すテナント−ロール定義情報、前記テナント毎に、ユーザと当該ユーザに割り当てられたロールの関係を示すユーザ−ロール定義情報、及び複数の前記マルチテナント型のアプリケーションそれぞれについて、前記権限とその権限を有するユーザが実行できる当該アプリケーションの機能との関係を示すアクセス権限定義情報を記憶した記憶手段と、
ユーザが使用する端末より送信されるユーザ認証に用いる認証情報に従い、前記端末を使用するユーザを認証する認証手段と、
前記認証手段で認証されたユーザの権限を、前記記憶手段に記憶されているユーザ−ロール定義情報及びテナント−ロール定義情報に従って決定する第1の決定手段と、
前記端末よりアプリケーションの実行要求を受け付ける受付手段と、
前記受付手段が前記端末より実行要求を受け付けたアプリケーションのアクセス権限定義情報と、前記第1の決定手段で決定された当該ユーザの権限に従って、前記実行要求を受け付けたアプリケーションにおいて前記ユーザが利用できる機能を決定する第2の決定手段と、
を備えることを特徴とする情報処理装置。 Among the functions provided by the multi-tenant application, an information processing apparatus that determines a function that can be used by the user based on a user's authority,
For each of the tenants, tenant-role definition information indicating a relationship between a role and an authority having the role, user-role definition information indicating a relationship between a user and a role assigned to the user for each tenant, and For each of the plurality of multi-tenant type applications, a storage unit that stores access authority definition information indicating a relationship between the authority and a function of the application that can be executed by a user having the authority;
Authentication means for authenticating a user using the terminal according to authentication information used for user authentication transmitted from a terminal used by the user;
First determination means for determining the authority of the user authenticated by the authentication means according to the user-role definition information and tenant-role definition information stored in the storage means;
Receiving means for receiving an application execution request from the terminal;
Functions that can be used by the user in the application that has received the execution request in accordance with the access authority definition information of the application that has received the execution request from the terminal by the reception unit and the authority of the user determined by the first determination unit Second determining means for determining
An information processing apparatus comprising:
ことを特徴とする請求項1に記載の情報処理装置。 The first determination unit acquires all the roles that the user authenticated by the authentication unit has in the tenant to which the user belongs from the user-role definition information, and the user authority that the acquired role has in the tenant The information processing apparatus according to claim 1, wherein all information is acquired from the tenant-role definition information, and the authority of all the acquired users is determined as the authority of the user.
前記記憶手段は、前記取得手段で取得した入力情報に従い、前記テナント−ロール定義情報、前記ユーザ−ロール定義情報及びアクセス権限定義情報を記憶する
ことを特徴とする請求項1または2に記載の情報処理装置。 Further comprising an acquisition means for acquiring input information input via the tenant-role definition information, the user-role definition information, and the access authority definition information input screen;
The information according to claim 1, wherein the storage unit stores the tenant-role definition information, the user-role definition information, and the access authority definition information according to the input information acquired by the acquisition unit. Processing equipment.
をさらに備えることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 Control means for controlling whether or not to use the control included in the screen provided by the application that has received the execution request by the accepting means according to the function of the application that can be used by the user determined by the second determining means. The information processing apparatus according to claim 1, further comprising:
ユーザが使用する端末より送信されるユーザ認証に用いる認証情報に従い、前記端末を使用するユーザを認証する認証工程と、
前記認証工程で認証されたユーザの権限を、前記記憶手段に記憶されているユーザ−ロール定義情報及びテナント−ロール定義情報に従って決定する第1の決定工程と、
前記端末よりアプリケーションの実行要求を受け付ける受付工程と、
前記受付工程で前記端末より実行要求を受け付けたアプリケーションのアクセス権限定義情報と、前記第1の決定工程で決定した当該ユーザの権限に従って、前記実行要求を受け付けたアプリケーションにおいて前記ユーザが利用できる機能を決定する第2の決定工程と、
を備えることを特徴とする情報処理方法。 For each of the tenants, tenant-role definition information indicating a relationship between a role and an authority having the role, user-role definition information indicating a relationship between a user and a role assigned to the user for each tenant, and For each of the plurality of multi-tenant type applications, a multi-tenant is performed by an information processing apparatus including a storage unit that stores access authority definition information indicating a relationship between the authority and a function of the application that can be executed by a user having the authority. An information processing method for determining a function that can be used by a user based on a user's authority among functions provided by a type application,
An authentication step for authenticating a user using the terminal according to authentication information used for user authentication transmitted from a terminal used by the user;
A first determination step of determining the authority of the user authenticated in the authentication step according to the user-role definition information and tenant-role definition information stored in the storage unit;
A reception step of receiving an application execution request from the terminal;
Functions that can be used by the user in the application that has received the execution request according to the access authority definition information of the application that has received the execution request from the terminal in the reception step and the authority of the user determined in the first determination step A second determination step to determine;
An information processing method comprising:
ユーザが使用する端末より送信されるユーザ認証に用いる認証情報に従い、前記端末を使用するユーザを認証する認証手段と、
前記認証手段で認証されたユーザの権限を、前記記憶手段に記憶されているユーザ−ロール定義情報及びテナント−ロール定義情報に従って決定する第1の決定手段と、
前記端末よりアプリケーションの実行要求を受け付ける受付手段と、
前記受付手段で前記端末より実行要求を受け付けたアプリケーションのアクセス権限定義情報と、前記第1の決定工程で決定した当該ユーザの権限に従って、前記実行要求を受け付けたアプリケーションにおいて前記ユーザが利用できる機能を決定する第2の決定手段
として機能させることを特徴とするコンピュータプログラム。 For each of the tenants, tenant-role definition information indicating a relationship between a role and an authority having the role, user-role definition information indicating a relationship between a user and a role assigned to the user for each tenant, and For each of the plurality of multi-tenant type applications, a multi-tenant type application includes a computer having storage means that stores access authority definition information indicating a relationship between the authority and a function of the application that can be executed by a user having the authority. Among the functions to be provided, a computer program for causing a function as an information processing apparatus that determines a function that can be used by the user based on the authority of the user,
Authentication means for authenticating a user using the terminal according to authentication information used for user authentication transmitted from a terminal used by the user;
First determination means for determining the authority of the user authenticated by the authentication means according to the user-role definition information and tenant-role definition information stored in the storage means;
Receiving means for receiving an application execution request from the terminal;
Functions that can be used by the user in the application that has received the execution request according to the access authority definition information of the application that has received the execution request from the terminal by the receiving means and the authority of the user determined in the first determination step. A computer program that functions as second determining means for determining.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009288423A JP2011128994A (en) | 2009-12-18 | 2009-12-18 | Apparatus and method for processing information, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009288423A JP2011128994A (en) | 2009-12-18 | 2009-12-18 | Apparatus and method for processing information, and computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011128994A true JP2011128994A (en) | 2011-06-30 |
Family
ID=44291502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009288423A Pending JP2011128994A (en) | 2009-12-18 | 2009-12-18 | Apparatus and method for processing information, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011128994A (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013029994A (en) * | 2011-07-28 | 2013-02-07 | Canon Inc | Server apparatus, information processing method, and program |
JP2013097569A (en) * | 2011-10-31 | 2013-05-20 | Fujitsu Ltd | National pension application acceptance method, information processor and national pension application acceptance program |
JP2013182295A (en) * | 2012-02-29 | 2013-09-12 | Mitsubishi Electric Corp | Processing execution device, computer program and processing execution method |
JP2014010769A (en) * | 2012-07-02 | 2014-01-20 | Fuji Xerox Co Ltd | Relay device |
WO2014046857A1 (en) * | 2012-09-21 | 2014-03-27 | Intuit Inc. | Single sign-on in multi-tenant environments |
WO2015045048A1 (en) * | 2013-09-26 | 2015-04-02 | 富士通株式会社 | Application data storage region generation method, application data storage region generation device, and application data storage region generation program |
US9160715B2 (en) | 2013-03-28 | 2015-10-13 | Fujitsu Limited | System and method for controlling access to a device allocated to a logical information processing device |
CN105675274A (en) * | 2016-01-07 | 2016-06-15 | 西安交通大学 | Time-domain parameter and D-S evidence theory-based rotor running state monitoring method |
JP2020529654A (en) * | 2017-07-24 | 2020-10-08 | 成都牽牛草信息技術有限公司Chengdu Qianniucao Information Technology Co., Ltd. | How to set permissions on a user's information exchange unit in the system |
JP2021174481A (en) * | 2020-04-30 | 2021-11-01 | 株式会社リコー | Service provision system, use authority allocation method, and information processing system |
CN113839942A (en) * | 2021-09-22 | 2021-12-24 | 上海妙一生物科技有限公司 | User authority management method, device, equipment and storage medium |
WO2022163010A1 (en) * | 2021-01-28 | 2022-08-04 | 株式会社日立製作所 | Access control system, access control method, and access control program |
JP7546164B2 (en) | 2020-11-09 | 2024-09-05 | 北京京東尚科信息技術有限公司 | Resource management method, device, computer system, and readable storage medium |
-
2009
- 2009-12-18 JP JP2009288423A patent/JP2011128994A/en active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013029994A (en) * | 2011-07-28 | 2013-02-07 | Canon Inc | Server apparatus, information processing method, and program |
JP2013097569A (en) * | 2011-10-31 | 2013-05-20 | Fujitsu Ltd | National pension application acceptance method, information processor and national pension application acceptance program |
JP2013182295A (en) * | 2012-02-29 | 2013-09-12 | Mitsubishi Electric Corp | Processing execution device, computer program and processing execution method |
JP2014010769A (en) * | 2012-07-02 | 2014-01-20 | Fuji Xerox Co Ltd | Relay device |
US9369456B2 (en) | 2012-09-21 | 2016-06-14 | Intuit Inc. | Single sign-on in multi-tenant environments |
WO2014046857A1 (en) * | 2012-09-21 | 2014-03-27 | Intuit Inc. | Single sign-on in multi-tenant environments |
US9160715B2 (en) | 2013-03-28 | 2015-10-13 | Fujitsu Limited | System and method for controlling access to a device allocated to a logical information processing device |
US10102396B2 (en) | 2013-09-26 | 2018-10-16 | Fujitsu Limited | Application data storage area generation method, application data storage area generation apparatus, and application data storage area generation program |
JPWO2015045048A1 (en) * | 2013-09-26 | 2017-03-02 | 富士通株式会社 | Application data storage area generation method, application data storage area generation device, and application data storage area generation program |
WO2015045048A1 (en) * | 2013-09-26 | 2015-04-02 | 富士通株式会社 | Application data storage region generation method, application data storage region generation device, and application data storage region generation program |
CN105675274A (en) * | 2016-01-07 | 2016-06-15 | 西安交通大学 | Time-domain parameter and D-S evidence theory-based rotor running state monitoring method |
JP2020529654A (en) * | 2017-07-24 | 2020-10-08 | 成都牽牛草信息技術有限公司Chengdu Qianniucao Information Technology Co., Ltd. | How to set permissions on a user's information exchange unit in the system |
JP7272344B2 (en) | 2017-07-24 | 2023-05-12 | 成都牽牛草信息技術有限公司 | How to set the rights that exist in the user's information exchange unit in the system |
JP2021174481A (en) * | 2020-04-30 | 2021-11-01 | 株式会社リコー | Service provision system, use authority allocation method, and information processing system |
JP7443918B2 (en) | 2020-04-30 | 2024-03-06 | 株式会社リコー | Service provision system, usage authority allocation method, information processing system |
JP7546164B2 (en) | 2020-11-09 | 2024-09-05 | 北京京東尚科信息技術有限公司 | Resource management method, device, computer system, and readable storage medium |
WO2022163010A1 (en) * | 2021-01-28 | 2022-08-04 | 株式会社日立製作所 | Access control system, access control method, and access control program |
JP2022115750A (en) * | 2021-01-28 | 2022-08-09 | 株式会社日立製作所 | Access control system, access control method, and access control program |
JP7451440B2 (en) | 2021-01-28 | 2024-03-18 | 株式会社日立製作所 | Access control system, access control method and access control program |
CN113839942A (en) * | 2021-09-22 | 2021-12-24 | 上海妙一生物科技有限公司 | User authority management method, device, equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011128994A (en) | Apparatus and method for processing information, and computer program | |
WO2021218979A1 (en) | Login method and system based on cloud application instance, and related device | |
EP2400444A1 (en) | Document generation apparatus, document generation system, document upload method, and program | |
JP5743724B2 (en) | Management apparatus and management method, management system and network device | |
JP7263167B2 (en) | IMAGE FORMING APPARATUS, CONTROL METHOD, AND PROGRAM | |
US10079778B2 (en) | Customer controlled video network | |
WO2010073606A1 (en) | Program distribution server, image forming apparatus, program distribution system, and contract document integration method | |
WO2021014863A1 (en) | Information processing device, control method, and program | |
JP2022009248A (en) | Information processor, information processing method, and program | |
CN114861154B (en) | Collaborative login method | |
CN111526392B (en) | Video acquisition method, display device and server | |
US11252157B1 (en) | Permission management for electronic resources | |
JP2014142736A (en) | Service provider device, control method for controlling service provider device and program | |
EP1981258A1 (en) | Network terminal management apparatus, method and program for providing a task list to a multifunction device | |
JP5224475B2 (en) | Information processing apparatus, information processing method, and computer program | |
JP6024768B2 (en) | Information processing apparatus, information processing method, and computer program | |
EP4354272A1 (en) | Information processing apparatus, method of registering device connected to information processing apparatus in server, and storage medium | |
KR102425978B1 (en) | Composite web UI provision system in cloud service platform | |
JP2012008720A (en) | System and method | |
WO2024161883A1 (en) | Web service management server, web service management method, and web service management system | |
JP2013037642A (en) | Document generation system | |
JP2015005150A (en) | Document creating system | |
JP5686150B2 (en) | Information processing apparatus, information processing method, and computer program | |
CN117768524A (en) | Service device and display device | |
JP2016014915A (en) | Document generation system, control method thereof, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120130 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20120130 |