JP2011128994A - Apparatus and method for processing information, and computer program - Google Patents

Apparatus and method for processing information, and computer program Download PDF

Info

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
Application number
JP2009288423A
Other languages
Japanese (ja)
Inventor
Ini Yu
イニ 熊
Takayuki Masai
隆之 政井
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.)
Canon IT Solutions Inc
Original Assignee
Canon IT Solutions Inc
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 Canon IT Solutions Inc filed Critical Canon IT Solutions Inc
Priority to JP2009288423A priority Critical patent/JP2011128994A/en
Publication of JP2011128994A publication Critical patent/JP2011128994A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To flexibly define classification of a role being a unit for giving access authority and authority to be given to each role in each tenant in a multi-tenant type application, such as a SaaS application. <P>SOLUTION: Access authority definition information for defining information of operation authority to an information resource, tenant role definition information that defines the classification of roles of each tenant and authority to be given to a role, and user role definition information that defines assignment of the role to a user are stored. The application uses a single program to achieve user's access control to the information resource by combining and connecting these pieces of information. <P>COPYRIGHT: (C)2011,JPO&INPIT

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. Patent Document 1 discloses an access control method using a user role as described above.

特開2000-207363号公報JP 2000-207363 A

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 Patent Document 1, access control to information resources by a single role definition information is possible, but access control to information resources based on a plurality of role definition information for each tenant. Cannot be realized. In particular, there is a lack of means for storing a plurality of role definition information and means for converting the authority of roles defined for each tenant into data for realizing access authority control for information resources by a single program.

本発明は上記の課題を解決するためになされたものであり、アクセス権限を付与する単位であるロールの分類と、各々のロール付与される権限をテナント毎に設定可能な、アプリケーションが情報資源に対するユーザのアクセス制御を、単一のプログラム制御で実現できるようにするための、アクセス制御装置及びその制御方法、アクセス制御システム、プログラムを提供することを目的とする。   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.

本発明の実施形態におけるシステムの構成を示す図であるIt is a figure which shows the structure of the system in embodiment of this invention. 本発明の実施形態における各端末及びサーバのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of each terminal and server in embodiment of this invention. 本発明の実施形態における各端末及びサーバのモジュール構成を示す図である。It is a figure which shows the module structure of each terminal and server in embodiment of this invention. 図3のアクセス制限定義情報の構成の一例を示す図である。It is a figure which shows an example of a structure of the access restriction definition information of FIG. 図3のユーザロール定義情報の構成の一例を示す図である。It is a figure which shows an example of a structure of the user role definition information of FIG. 図3のテナントロール定義情報の構成の一例を示す図である。It is a figure which shows an example of a structure of the tenant role definition information of FIG. アクセス権限定義情報の設定に用いられる管理画面の一例を示す図である。It is a figure which shows an example of the management screen used for the setting of access authority definition information. ユーザロール定義情報の設定に用いられる管理画面の一例を示す図である。It is a figure which shows an example of the management screen used for the setting of user role definition information. テナントロール定義情報の設定に用いられる管理画面の一例を示す図である。It is a figure which shows an example of the management screen used for the setting of tenant role definition information. サービスアプリケーション301のメニュー画面の一例を示す図である。It is a figure which shows an example of the menu screen of the service application. サービスアプリケーション301の業務画面の一例を示す図である。It is a figure which shows an example of the work screen of the service application. サービスアプリケーション301の業務画面の一例を示す図である。It is a figure which shows an example of the work screen of the service application. アクセス制御部302が情報資源に対するユーザのアクセス権限を導出する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process in which the access control part 302 derives the access authority of the user with respect to an information resource. アクセス権限定義情報を設定する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which sets access authority definition information. テナントロール権限定義情報を設定する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which sets tenant role authority definition information. ユーザロール権限定義情報を設定する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which sets user role authority definition information.

以下、図面を参照して、本発明の実施形態を詳細に説明する。図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 network 103 in FIG. 1 is merely an example, and it goes without saying that there are various configuration examples depending on applications and purposes.

101はアプリケーションサービスを提供するアプリケーションサーバであり、マルチテナント型のアプリケーションは101上で稼動する。102はサービスを管理する事業者が使用する、サービス管理端末である。104−1、104−2は当該サービスを使用する各テナントの利用者が使用する、サービス利用端末である。サービス管理端末102、サービス利用端末104−1、サービス利用端末104−2は、ネットワーク103を介して、アプリケーションサーバ101とデータの送受信が可能である。   Reference numeral 101 denotes an application server that provides an application service, and a multi-tenant type application runs on the 101. Reference numeral 102 denotes a service management terminal used by a business operator who manages services. Reference numerals 104-1 and 104-2 denote service use terminals used by users of the tenants who use the service. The service management terminal 102, the service use terminal 104-1 and the service use terminal 104-2 can transmit and receive data to and from the application server 101 via the network 103.

次に、図1のアプリケーションサーバ101、サービス管理端末102、サービス利用端末104−1、サービス利用端末104−2の各種端末に適用可能な情報処理装置のハードウェア構成について、図2を用いて説明する。   Next, the hardware configuration of the information processing apparatus applicable to various terminals such as the application server 101, the service management terminal 102, the service use terminal 104-1, and the service use terminal 104-2 in FIG. 1 will be described with reference to FIG. To do.

CPU201は、システムバス204に接続される後述の各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。   The CPU 201 comprehensively controls devices and controllers described later connected to the system bus 204. Further, the ROM 203 or the external memory 211 is necessary to realize a BIOS (Basic Input / Output System) or an operating system program (hereinafter referred to as OS) that is a control program of the CPU 201 and functions executed by each server or each PC. Various programs to be described later are stored. The RAM 202 functions as a main memory, work area, and the like for the CPU 201.

CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種動作を実現するものである。また、入力コントローラ(入力C)205は、キーボードやポインティングデバイス等で構成される入力装置209からの入力を制御する。ビデオコントローラ(VC)206は、ディスプレイ装置210等の表示装置への表示を制御する。ディスプレイ装置は、例えばCRTディスプレイや液晶ディスプレイ等で構成される。   The CPU 201 implements various operations by loading a program necessary for execution of processing into the RAM 202 and executing the program. An input controller (input C) 205 controls input from an input device 209 configured with a keyboard, a pointing device, and the like. A video controller (VC) 206 controls display on a display device such as the display device 210. The display device is composed of, for example, a CRT display or a liquid crystal display.

メモリコントローラ(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 external memory 211 such as a compact flash memory connected via an adapter.

通信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 CPU 201 enables display on the display device 210 by executing outline font rasterization processing on a display information area in the RAM 202, for example. Further, the CPU 201 enables a user instruction with a mouse cursor (not shown) on the display device 210.

図1に示す、本実施形態にかかる各種端末(アプリケーションサーバ101、サービス管理端末102、サービス利用端末104−1、104−2)が後述する各種処理を実行するために用いられるプログラムは外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。   A program used by the various terminals (application server 101, service management terminal 102, service using terminals 104-1 and 104-2) according to the present embodiment shown in FIG. And is executed by the CPU 201 by being loaded into the RAM 202 as necessary. Furthermore, definition files and various information tables used by the program according to the present invention are stored in the external memory 211.

次に、図1のアプリケーションサーバ101、サービス管理端末102、サービス利用端末104−1、サービス利用端末104−2の各種端末の内部構成について、図3を用いて説明する。   Next, internal configurations of various terminals such as the application server 101, the service management terminal 102, the service use terminal 104-1 and the service use terminal 104-2 in FIG. 1 will be described with reference to FIG.

図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 application server 101, and when the service application 301 takes the form of a Web application, it is accessed from the service use terminal 104 using the browser 303. Reference numeral 302 denotes an access control unit that provides the service application 301 with information on access authority that a specific user of a specific tenant is permitted. The access control unit 302 may be arranged on another hardware that can be accessed from the service application 301 via the network 103. Reference numerals 311, 312, and 313 are components of the access control unit 302. The access authority management module 311 is a main module of the access control unit 302, calls the user role provider module 312 and the tenant role definition provider module 313, and uses the access authority definition information 321 to access the access authority that can be used by the tenant user. Providing information. The user role provider module 312 is a module that uses the user definition information 322 to provide role information to which users in the tenant are assigned. The tenant role definition provider module 313 is a module that uses the tenant role definition information 323 to provide information on the role defined by the tenant and the authority granted to the role. The user role provider module 312 and the tenant role definition provider module 313 may be arranged on other hardware accessible via the network 103 from the access authority management module 311. Reference numeral 305 denotes a management application (management AP) for setting the access authority definition information 321, user definition information 322, and tenant role definition information 323 necessary for the operation of the access control unit 302. The management application 305 can be accessed via the network 103 from the browser 303 of the service using terminal 104 or the browser 304 of the service management terminal 102.

次に、図3のアクセス権限定義情報321、ユーザロール定義情報322、テナントロール定義情報323の各種データ構造の例と、これを設定するための管理画面例について、図4から図9を用いて説明する。   Next, examples of various data structures of the access authority definition information 321, user role definition information 322, and tenant role definition information 323 in FIG. 3 and examples of management screens for setting the data structure will be described with reference to FIGS. 4 to 9. explain.

図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 authority definition information 321 of FIG. The access authority definition information 321 holds an access authority list 401. For each access authority 401, a business function (business function 1 (402), business function 2 (403), business function 3 (404), business function 4 (405) is stored. )) Operation authority is defined. For example, in the setting example of FIG. 4, the access authority “AP authority-4” has a reference authority “R” for “business function 1” and a reference / edit authority “R / W” for “business function 2”. means.

図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 authority definition information 321. When the management screen 700 is provided in the form of a Web application, the service management terminal 102 receives data input via the management screen 700 displayed by the browser 304 of the service management terminal 102, and manages the management application via the network 103. By transmitting data to 305, the access authority management module 311 of the access control unit 302 sets the access authority definition information 321.

図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 role definition information 322 in FIG. The user role definition information 322 defines a role assigned to the user for each tenant user. The tenant ID 501 is an ID for uniquely identifying a tenant, and the user ID 502 is an ID for uniquely identifying a user in the tenant. A role 503 indicates a role assigned to the user. For example, in the setting example of FIG. 5, the user “USER1” belonging to the tenant whose tenant ID is “TA” is assigned “Role 2”, “Role 3”, and “Role 4”. To do. The authority assigned to the role assigned to the user is defined in the tenant role definition information 323.

図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 role definition information 322. When the management screen 800 is provided in the form of a Web application, the service using terminal 104 receives data input via the management screen 800 displayed by the browser 303 of the service using terminal 104, and the management application via the network 103. By transmitting data to 305, the user role provider module 312 of the access control unit 302 sets the user role definition information 322.

図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 role definition information 323. The tenant role definition information 323 defines, for each role 602 of the tenant specified by each tenant ID 601, an access authority 603 to be given to the role. For example, in the setting example of FIG. 6, in the tenant whose tenant ID is represented by “TA”, “role 3” means that “AP authority-1” and “AP authority-2” have authority. The access authority given to the role is defined in the access authority definition information 321 described with reference to FIG.

図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 role definition information 503. When the management screen 900 is provided in the form of a Web application, the service using terminal 104 receives data input via the management screen 900 displayed by the browser 303 of the service user terminal 104 and manages it via the network 103. By transmitting data to the application 305, the tenant role definition provider module 323 of the access control unit 302 sets the definition information tenant role definition information 323.

次に、アプリケーションサーバ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 access control unit 302 of the application server 101 derives the user access authority to the information resource will be described with reference to FIG. Here, a description will be given of a process in which the access control unit 302 derives a list of access rights of the user for the business function based on tenant IDs and user IDs given from the outside and predefined information. When performing this processing, the CPU 201 of the application server 101 loads a program for causing the CPU 201 to perform processing related to the access control unit 302, stored in the external memory 211, to the RAM 202, and performs control according to the control of the program. This processing is performed. In the following description, the process performed by the CPU 201 according to the access authority management module 311 is performed as the process performed by the access authority management module 311, and the process performed by the CPU 201 according to the control by the user role provider module 312 is performed as the process performed by the user role provider module 312. The processing performed by the CPU 201 in accordance with control by the tenant role definition provider module 313 will be described as processing performed by the tenant role definition provider module 313.

ステップS1301では、アクセス権限管理モジュール321を呼び出し、その制御に従ってCPU201は、外部から条件として与えられたテナントID(P1)とユーザID(P2)を受け取る。そしてユーザ認証を行い、当該ユーザ情報、テナント情報を特定する。ここでは、P1の値を”T−A”、P2の値を”USER2”と仮定して、この先のフローを説明する。   In step S1301, the access authority management module 321 is called, and the CPU 201 receives a tenant ID (P1) and a user ID (P2) given as conditions from the outside according to the control. Then, user authentication is performed to identify the user information and tenant information. Here, assuming that the value of P1 is “TA” and the value of P2 is “USER2”, the following flow will be described.

続いて、ステップ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 authority management module 311 calls the user role provider module 322. Then, the user role provider module 312 acquires the role list (L1) of the user from the user role definition information 322. At this time, the tenant ID (P1) and the user ID (P2) are passed to the user role provider module 312 as arguments. The user role provider module 312 refers to data defined in advance in the user role definition information 322, and acquires a role assigned to the tenant user. For example, when the user role definition information is set as shown in FIG. 5, the tenant ID column matches the value “TA” of the argument P1, and the user ID column matches the value “USER2” of the argument P2. The row is searched, and the value “Role 2, Role 3, Role 4” of the role column of the data row is obtained. Then, the array L1 having the acquired role as an element is returned to the access authority management module 401. At this time, the elements of the array of L1 include “roll 2”, “roll 3”, and “roll 4”.

ステップ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 authority management module 311 calls the tenant role definition provider module 313 to acquire the access authority list (L3) for the role of L1 [i] from the tenant role definition information 323. At this time, the tenant ID (P1) and the role (P3) of L1 [i] are delivered to the tenant role definition provider module 313 as arguments. The tenant role definition provider module 313 refers to the data defined in advance in the tenant role definition information 323 and acquires the access authority granted to the role. For example, when the tenant role definition information is set as shown in FIG. 6 and the value of the argument P3 is “role 2”, the tenant ID column and the argument P1 value “TA”, the role column and the argument P3 A row in which both of the values “role 2” match is searched, and an access authority column of the data row is acquired. Then, an array L3 having the elements set in the authority column of the acquired data row as elements is returned to the access authority management module 401. The value of the argument P1 is “TA”,
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 authority definition information 321 will be described with reference to FIG. The access authority definition information setting process illustrated in FIG. 14 is performed by the service management terminal 102 and the application server 101. Note that the processing performed by the CPU 201 of the application server 101 will be described as a module that causes the CPU 201 to perform the processing.

まず、サービス管理端末102のCPU201は、アクセス権限定義情報変更要求をアプリケーションサーバ101に対して送信する(ステップS1401)。その変更要求を受信する(ステップS1402)と、ステップS1403で管理アプリケーション305は、現在登録されているアクセス権限定義情報321のデータを取得するために、アクセス制御部302を呼び出す。このデータ取得要求は、アクセス制御部302の内部でアクセス権限管理モジュール311に伝えられる。   First, the CPU 201 of the service management terminal 102 transmits an access authority definition information change request to the application server 101 (step S1401). When the change request is received (step S1402), in step S1403, the management application 305 calls the access control unit 302 to acquire data of the access authority definition information 321 currently registered. This data acquisition request is transmitted to the access authority management module 311 inside the access control unit 302.

その後、ステップ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 authority management module 311 reads data from the access authority definition information 321 and returns the read data (hereinafter referred to as D1a) to the caller. In step S1405, the management application 305 that has received D1a from the access control apparatus 302 generates an HTML document of the access authority definition information management screen 700 reflecting D1a, and this HTML document is the response of the browser 304 of the service management terminal 102. (Step S1406). This HTML document is transmitted to the network 103 and received by the browser 304. When the service management terminal 102 acquires the HTML data of the management screen 700, the management screen 700 of the access authority definition information in which D1a is set is displayed on the display device 210 by the function of the browser 304 (step S1408).

そしてその後、管理画面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 transmission button 704 on the management screen 700 is accepted, input data (hereinafter referred to as D1b) is transmitted to the network 103 by the function of the browser 304 (step S1410), and the management application 305 receives it (step S1411). ). In step S1412, the management application 305 that has received D1b passes D1b to the access control unit 302 in order to make this data permanent. This permanent request is transmitted to the access authority management module 311 inside the access control unit 302.

そして、アクセス権限管理モジュール311は、アクセス権限定義情報321のデータを、受け取ったD1bの内容に置き換える(ステップS1412:データ更新)。そして、管理アプリケーション305はその処理結果をアクセス制御部302より取得し、取得した処理結果をサービス管理端末102のブラウザ304に対して送信する(ステップS1413)。そして、サービス管理端末102のブラウザ304は受信した処理結果を表示する(ステップS1414)。以上がアクセス権限定義情報設定処理の説明である。   Then, the access authority management module 311 replaces the data of the access authority definition information 321 with the contents of the received D1b (step S1412: data update). The management application 305 acquires the processing result from the access control unit 302, and transmits the acquired processing result to the browser 304 of the service management terminal 102 (step S1413). Then, the browser 304 of the service management terminal 102 displays the received processing result (step S1414). The above is the description of the access authority definition information setting process.

次に、図15を参照して、テナントロール定義情報323を設定する処理について説明する。図15に示すテナントロール定義情報設定処理は、サービス利用端末104及びアプリケーションサーバ101によって行われる。尚、本処理の説明は、その処理主体をCPU201に当該処理を行わせるモジュールとして説明することにする。   Next, processing for setting the tenant role definition information 323 will be described with reference to FIG. The tenant role definition information setting process illustrated in FIG. 15 is performed by the service using terminal 104 and the application server 101. In the description of this processing, the processing subject is described as a module that causes the CPU 201 to perform the processing.

まず、サービス利用端末104のCPU201は、テナントロール定義情報変更要求をアプリケーションサーバ101に対して送信する(ステップS1501)。その際には、ブラウザ303を利用して、管理アプリケーション305にアクセスすることになる。またこのアクセス要求には、テナントIDのようなアクセス元のテナントを識別する情報が含まれる。テナントIDをアクセス要求に含める方法としては、例えばHTTP CookieやURL内のクエリストリングあるいは、HTTP POSTデータに含める方法が考えられる。管理アプリケーション305においては、前記のアクセス元のテナントの表明が偽装される攻撃に備えて、十分な対策がなされるべきであることは言うまでもない。   First, the CPU 201 of the service using terminal 104 transmits a tenant role definition information change request to the application server 101 (step S1501). At that time, the browser 303 is used to access the management application 305. The access request includes information for identifying the access source tenant such as the tenant ID. As a method of including the tenant ID in the access request, for example, a method of including the HTTP Cookie, a query string in the URL, or HTTP POST data can be considered. In the management application 305, needless to say, sufficient countermeasures should be taken in preparation for an attack in which the assertion of the access source tenant is spoofed.

アプリケーションサーバ101の管理アプリケーション305が変更要求を受信する(ステップS1502)と、ステップS1503で現在登録されているテナントロール定義情報323のデータを取得するために、アクセス制御部302を呼び出す。このデータ取得要求は、アクセス制御部302の内部でテナントロール定義プロバイダモジュール313に伝えられる。   When the management application 305 of the application server 101 receives the change request (step S1502), the access control unit 302 is called to acquire the data of the tenant role definition information 323 currently registered in step S1503. This data acquisition request is transmitted to the tenant role definition provider module 313 inside the access control unit 302.

ステップ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 management application 305 calls the access control unit 302 in order to acquire tenant role definition data of the corresponding tenant. When calling, the management application 305 takes out the tenant ID included in the access request and passes it to the access control apparatus 302 as an argument. This data acquisition request is transmitted together with the argument to the tenant role definition provider module 313 through the access authority management module 311 inside the access control unit 302. In step S1504, the tenant role definition provider module 313 reads all records corresponding to the tenant ID passed as an argument from the tenant role definition information 323, and returns this data (hereinafter D2a) to the caller. In step S1505, the management application 305 that has received D2a from the access control unit 302 creates an HTML document of the tenant role definition information management screen 900 reflecting D2a, and returns this HTML document as a response of the browser 303 (step S1506). ). This HTML document is transmitted to the network 103 and received by the browser 303 (step S1507). The tenant role definition information management screen 900 in which D2a is set is displayed by the function of the browser 303 (step S1508).

そしてその後、管理画面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 transmission button 905 on the management screen 900 is accepted, the input data (hereinafter D2b) is transmitted to the network 103 by the function of the browser 303 (step S1510), and the management application 305 receives it (step S1511). . In step S1511, the management application 305 that has received D2b passes D2b and the tenant ID to the access control unit 302 as arguments in order to make this data permanent. This persistence request is transmitted to the tenant role definition provider module 313 through the access authority management module 311 inside the access unit 302 together with the argument. Note that the tenant ID delivered as part of the argument is sent from the browser 303 in the same way as in the access request described above, or is managed at the time of the access request using the session state management function of the application server 101. 305 may store the tenant ID and take it out for use. In step S1512, the tenant role definition provider module 313 replaces the record corresponding to the tenant ID of the argument in the tenant role definition information 323 with the contents of the received D2b (step S1512: data update).

そして、管理アプリケーション305はその処理結果をアクセス制御部302より取得し、取得した処理結果をサービス利用端末104のブラウザ304に対して送信する(ステップS1513)。そして、サービス利用端末104のブラウザ303は受信した処理結果を表示する(ステップS1514)。以上がテナントロール定義設定処理の説明である。   Then, the management application 305 acquires the processing result from the access control unit 302, and transmits the acquired processing result to the browser 304 of the service using terminal 104 (step S1513). Then, the browser 303 of the service using terminal 104 displays the received processing result (step S1514). The above is the description of the tenant role definition setting process.

次に、図16を参照して、ユーザロール定義情報322を設定する処理について説明する。図16に示すユーザロール定義情報設定処理は、サービス利用端末104及びアプリケーションサーバ101によって行われる。尚、本処理の説明は、その処理主体をCPU201に当該処理を行わせるモジュールとして説明することにする。   Next, processing for setting the user role definition information 322 will be described with reference to FIG. The user role definition information setting process illustrated in FIG. 16 is performed by the service using terminal 104 and the application server 101. In the description of this processing, the processing subject is described as a module that causes the CPU 201 to perform the processing.

まず、サービス利用端末104のCPU201は、ユーザロール定義情報変更要求をアプリケーションサーバ101に対して送信する(ステップS1601)。その際には、ブラウザ303を利用して、管理アプリケーション305にアクセスすることになる。またこのアクセス要求には、テナントIDのようなアクセス元のテナントを識別する情報が含まれる。テナントIDをアクセス要求に含める方法としては、例えばHTTP CookieやURL内のクエリストリングあるいは、HTTP POSTデータに含める方法が考えられる。管理アプリケーション305においては、前記のアクセス元のテナントの表明が偽装される攻撃に備えて、十分な対策がなされるべきであることは言うまでもない。   First, the CPU 201 of the service using terminal 104 transmits a user role definition information change request to the application server 101 (step S1601). At that time, the browser 303 is used to access the management application 305. The access request includes information for identifying the access source tenant such as the tenant ID. As a method of including the tenant ID in the access request, for example, a method of including the HTTP Cookie, a query string in the URL, or HTTP POST data can be considered. In the management application 305, needless to say, sufficient countermeasures should be taken in preparation for an attack in which the assertion of the access source tenant is spoofed.

アプリケーションサーバ101の管理アプリケーション305が変更要求を受信する(ステップS1602)と、ステップS1603で現在登録されているユーザロール定義情報322のデータを取得するために、アクセス制御部302を呼び出す。このデータ取得要求は、アクセス制御部302の内部でユーザロールプロバイダモジュール312に伝えられる。   When the management application 305 of the application server 101 receives the change request (step S1602), the access control unit 302 is called to acquire data of the user role definition information 322 currently registered in step S1603. This data acquisition request is transmitted to the user role provider module 312 inside the access control unit 302.

ステップS1603で、管理アプリケーション305は、該当するユーザのユーザロール定義のデータを取得するために、アクセス制御部302を呼び出す。呼び出しにあたって、管理アプリケーション305は、アクセス要求に含まれるテナントIDとユーザIDを取り出して、アクセス制御部302に引数として受け渡す。このデータ取得要求は引数とともに、アクセス制御部302の内部で、アクセス権限管理モジュール311を介して、ユーザロールプロバイダモジュール312に伝えられる。ステップS1604でユーザロールプロバイダモジュール312は、引数として受け渡されたテナントIDに該当する全てのレコードを、ユーザロール定義情報322から読み込んで、このデータ(以下 D3a)を呼出元に返す。   In step S1603, the management application 305 calls the access control unit 302 to acquire user role definition data of the corresponding user. When calling, the management application 305 extracts the tenant ID and user ID included in the access request and passes them to the access control unit 302 as arguments. The data acquisition request is transmitted to the user role provider module 312 via the access authority management module 311 inside the access control unit 302 together with the argument. In step S1604, the user role provider module 312 reads all the records corresponding to the tenant ID passed as an argument from the user role definition information 322, and returns this data (hereinafter D3a) to the caller.

アクセス制御部302からD3aを受け取った管理アプリケーション305はステップS1605で、D3aを反映したユーザロール定義情報の管理画面800のHTML文書を作成し、このHTML文書をブラウザ303の応答として返す(ステップS1606)。このHTML文書はネットワーク103に送信され、ブラウザ303が受信する(ステップS1607)。ブラウザ303の機能により、D3aが設定されたたユーザロール定義情報の管理画面800が表示される(ステップS1608)。   In step S1605, the management application 305 that has received D3a from the access control unit 302 creates an HTML document of the user role definition information management screen 800 reflecting D3a, and returns this HTML document as a response of the browser 303 (step S1606). . This HTML document is transmitted to the network 103 and received by the browser 303 (step S1607). With the function of the browser 303, the user role definition information management screen 800 in which D3a is set is displayed (step S1608).

そしてその後、管理画面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 transmission button 803 on the management screen 800 is accepted, input data (hereinafter D3b) is transmitted to the network 103 by the function of the browser 303 (step S1610), and the management application 305 receives this (step S1611). . The management application 305 that has received D3b passes D3b, the tenant ID, and the user ID to the access control apparatus 302 as arguments in order to make this data permanent. This persistence request is transmitted to the user role provider module 312 via the access authority management module 311 inside the access control apparatus 302 together with the argument. Note that the tenant ID and user ID delivered as part of the argument are sent from the browser 303 in the same way as in the access request described above, or when the access request is issued using the session state management function of the application server. The management application 305 may store the tenant ID and extract and use it. In step S1612, the user role provider module 312 replaces the record corresponding to the argument tenant ID and user ID in the user role definition information 322 with the contents of the received D3b (step S1612: data update).

そして、管理アプリケーション305はその処理結果をアクセス制御部302より取得し、取得した処理結果をサービス利用端末104のブラウザ304に対して送信する(ステップS1613)。そして、サービス利用端末104のブラウザ303は受信した処理結果を表示する(ステップS1614)。以上がユーザロール定義設定処理の説明である。   Then, the management application 305 acquires the processing result from the access control unit 302, and transmits the acquired processing result to the browser 304 of the service using terminal 104 (step S1613). Then, the browser 303 of the service using terminal 104 displays the received processing result (step S1614). The above is the description of the user role definition setting process.

次に、図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 service use terminal 104, the access control unit 302 shown in FIG. An example of a screen provided by the service application 301 displayed on the service use terminal 104 used by the user after execution will be described. FIG. 10 is an example of the menu screen of the service application 301. Using this screen, the service user inputs an instruction for starting the business function to be used to the CPU 201. For example, it is possible to perform an input by giving an operation instruction to controls such as the business function 1 button (1002) to the business function 4 (1004) button shown in the figure. Using the information acquired from the access control device 302, the service application 301 can switch the availability of the buttons on the menu screen 1000. That is, “USER1”, a user belonging to the tenant “TA”, assumes that role 1 is assigned, and the authority given to “role 1” in the tenant “TA” is “AP authority− When “1”, “AP authority-2”, “AP authority-3”, and “AP authority-4”, this user is permitted to access “business function 1” and “business function 2”. Menu buttons corresponding to “business function 1” and business authority “2” can be validated, and menu buttons of business functions without authority can be invalidated.

図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 menu screen 1000. For example, for a user whose access right to “business function 1” is a reference / editing authority (R / W), the service application 301 activates a button related to data change as in the screen example 1100, For a user who has the reference right (R) for the access right to the function 1 ″, a function corresponding to the access right of the user can be provided by deactivating a button related to data change as in the screen of 1200. . Note that the access authority information provided by the access control device 302 is applicable not only to screen control but also to various aspects of access control.

以上説明したように、本実施形態によれば、情報資源に対する操作権限の情報を定義したアクセス権限定義情報と、テナント毎のロールの分類とロールに付与する権限を定義したテナントロール定義情報、またこのロールのユーザへの割り当てを定義したユーザロール定義情報を記憶しておき、これらの情報を組み合わせて結びつけることで、アプリケーションは単一のプログラムを用いて情報資源に対するユーザのアクセス制御を実現できる。   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 SYMBOLS 101 Application server 102 Service management terminal 103 Network 104-1 and 104-2 Service utilization terminal 201 CPU
202 RAM
203 ROM
204 System Bus 205 Input Controller 206 Video Controller 207 Memory Controller 208 Communication I / F (Interface) Controller 209 Input Device 210 Display Device 211 External Memory

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の決定手段は、前記認証手段で認証されたユーザが、当該ユーザが属するテナントにおいて有するロールを前記ユーザ−ロール定義情報より全て取得し、取得した前記ロールがテナントにおいて有するユーザの権限を前記テナント−ロール定義情報から全て取得し、前記取得した全てのユーザの権限を前記ユーザの権限として決定する
ことを特徴とする請求項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.
前記第2の決定手段より決定したユーザが利用できるアプリケーションの機能に応じて、前記受付手段で実行要求を受け付けた前記アプリケーションにより提供される画面に含まれるコントロールの使用の可否を制御する制御手段
をさらに備えることを特徴とする請求項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.
JP2009288423A 2009-12-18 2009-12-18 Apparatus and method for processing information, and computer program Pending JP2011128994A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (20)

* Cited by examiner, † Cited by third party
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