JP2022054500A - Information processing program, information processing method, information processing device, and information processing system - Google Patents

Information processing program, information processing method, information processing device, and information processing system Download PDF

Info

Publication number
JP2022054500A
JP2022054500A JP2020161590A JP2020161590A JP2022054500A JP 2022054500 A JP2022054500 A JP 2022054500A JP 2020161590 A JP2020161590 A JP 2020161590A JP 2020161590 A JP2020161590 A JP 2020161590A JP 2022054500 A JP2022054500 A JP 2022054500A
Authority
JP
Japan
Prior art keywords
authentication information
information processing
container
information
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020161590A
Other languages
Japanese (ja)
Inventor
拓志 橋田
Takushi Hashida
直樹 林
Naoki Hayashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020161590A priority Critical patent/JP2022054500A/en
Publication of JP2022054500A publication Critical patent/JP2022054500A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

To enhance the protection of authentication information used for access to an external system.SOLUTION: A first information processing device detects, when access from a virtual computer belonging to a first system to a second system different from the first system is performed, first authentication information that is set in the virtual computer and transmits both a first message indicating a request to the second system and first authentication information to a second information processing device. The second information processing device obtains second authentication information that is associated with the first authentication information and that indicates an access authority to the second system which is owned by a first user among a plurality of users who can use the virtual computer; transmits the first message and the second authentication information to the second system; and transfers to the first information processing device a second message indicating a response of the second system.SELECTED DRAWING: Figure 7

Description

本発明は情報処理プログラム、情報処理方法、情報処理装置および情報処理システムに関する。 The present invention relates to an information processing program, an information processing method, an information processing device and an information processing system.

情報処理システムは、コンピュータ仮想化技術を用いて、物理コンピュータ上に1以上の仮想コンピュータを配置することがある。仮想コンピュータは、ゲストOS(Operating System)が実行される狭義の仮想マシンであることもあるし、いわゆるコンテナのようにゲストOSが実行されない軽量型仮想コンピュータであることもある。 The information processing system may arrange one or more virtual computers on a physical computer by using computer virtualization technology. The virtual computer may be a virtual machine in a narrow sense in which a guest OS (Operating System) is executed, or it may be a lightweight virtual computer in which a guest OS is not executed, such as a so-called container.

仮想コンピュータは、その仮想コンピュータが属する情報処理システムとは異なる外部システムを利用することがある。外部システムは、インターネット経由でアクセスを受け付けて情報処理サービスを提供するクラウドシステムであることもある。例えば、仮想コンピュータは、大量のデータを蓄積する外部ストレージシステムや、蓄積されたデータを高速に検索する外部データベースシステムを利用することがある。 The virtual computer may use an external system different from the information processing system to which the virtual computer belongs. The external system may be a cloud system that accepts access via the Internet and provides information processing services. For example, a virtual computer may use an external storage system that stores a large amount of data or an external database system that searches the stored data at high speed.

外部システムは、不正アクセス防止や課金管理などの目的のため、アクセス時に認証情報を受信してユーザ認証を行うことがある。認証情報は、例えば、ユーザに割り当てられた識別子(ID:Identifier)と秘密情報とを含む。よって、仮想コンピュータから外部システムへのアクセスの際には、外部システムに対して認証情報が送信される。 The external system may receive authentication information at the time of access to perform user authentication for the purpose of preventing unauthorized access and managing billing. The authentication information includes, for example, an identifier (ID: Identifier) assigned to the user and confidential information. Therefore, when the virtual computer accesses the external system, the authentication information is transmitted to the external system.

なお、シングルサインオンと同等の認証機能を有する認証連携システムが提案されている。提案の認証連携システムでは、クライアント端末がトークンとMAC(Media Access Control)アドレスを認証サーバに送信し、認証サーバがユーザ認証を行ってトークンとMACアドレスを連携サーバに提供する。認証サーバと連携サーバの機能はWebコンテナ上に実装される。また、ユーザ端末からのサービス要求に含まれるトークンが負荷分散装置に記憶されたトークンと一致する場合に、2以上のサービス提供装置の1つにサービス要求を転送する負荷分散システムが提案されている。 An authentication linkage system having an authentication function equivalent to that of single sign-on has been proposed. In the proposed authentication linkage system, the client terminal sends the token and MAC (Media Access Control) address to the authentication server, and the authentication server performs user authentication and provides the token and MAC address to the linkage server. The functions of the authentication server and the linkage server are implemented on the Web container. Further, a load balancing system has been proposed in which a service request is transferred to one of two or more service providing devices when the token included in the service request from the user terminal matches the token stored in the load balancing device. ..

特開2007-206851号公報Japanese Unexamined Patent Publication No. 2007-206851 特開2011-128731号公報Japanese Unexamined Patent Publication No. 2011-128731

情報処理システムは、1台の仮想コンピュータを複数のユーザが共有することを許可することがあり得る。よって、仮想コンピュータを起動したユーザ以外の他のユーザが、その仮想コンピュータを使用する場合がある。一方、仮想コンピュータは、外部システムを利用する場合がある。そこで、仮想コンピュータから外部システムへのアクセスに用いる認証情報を、どの様に管理すればよいかが問題となる。 The information processing system may allow multiple users to share a virtual computer. Therefore, a user other than the user who started the virtual computer may use the virtual computer. On the other hand, the virtual computer may use an external system. Therefore, the problem is how to manage the authentication information used for accessing the external system from the virtual computer.

1つの方法として、仮想コンピュータから外部システムへのアクセスが発生する毎に、その仮想コンピュータを現在使用しているユーザに認証情報の入力を求める方法が考えられる。しかし、この方法では、ユーザの負担が大きく操作性が低下する。 One method is to require the user who is currently using the virtual computer to input the authentication information every time the virtual computer accesses the external system. However, this method imposes a heavy burden on the user and reduces operability.

他の1つの方法として、仮想コンピュータを起動したユーザなどの代表者の認証情報を仮想コンピュータに保存し、他のユーザが仮想コンピュータを使用しているときも保存された認証情報で外部システムにアクセスする方法が考えられる。しかし、この方法では、他のユーザが代表者の認証情報を入手できるため、代表者の認証情報を悪用して他のユーザが権限外の操作を外部システムに対して行うことができるというリスクがある。 Another method is to store the authentication information of the representative such as the user who started the virtual computer in the virtual computer, and access the external system with the stored authentication information even when other users are using the virtual computer. There is a way to do it. However, in this method, since other users can obtain the authentication information of the representative, there is a risk that the authentication information of the representative can be abused and the other user can perform an operation other than the authority to the external system. be.

1つの側面では、本発明は、外部システムへのアクセスに用いる認証情報の保護を強化することができる情報処理プログラム、情報処理方法、情報処理装置および情報処理システムを提供することを目的とする。 In one aspect, it is an object of the present invention to provide an information processing program, information processing method, information processing apparatus and information processing system capable of enhancing the protection of authentication information used for accessing an external system.

1つの態様では、コンピュータに以下の処理を実行させる情報処理プログラムが提供される。コンピュータで動作する仮想コンピュータから、仮想コンピュータの属する第1のシステムと異なる第2のシステムにアクセスする場合に、仮想コンピュータに設定された情報であって、仮想コンピュータを使用可能な複数のユーザのうちの第1のユーザが有する第2のシステムのアクセス権限を示す第2の認証情報と関連付いた第1の認証情報を検出する。第2の認証情報にアクセス可能な他のコンピュータに、第2のシステムに対する要求を示す第1のメッセージと第1の認証情報とを送信し、他のコンピュータから、第1のメッセージが示す要求に対する第2のシステムの応答を示す第2のメッセージを受信する。 In one aspect, an information processing program is provided that causes a computer to perform the following processes. Information set in the virtual computer when accessing a second system different from the first system to which the virtual computer belongs from a virtual computer running on the computer, among a plurality of users who can use the virtual computer. The first authentication information associated with the second authentication information indicating the access authority of the second system possessed by the first user of the above is detected. A first message indicating a request for the second system and the first authentication information are sent to another computer having access to the second authentication information, and the other computer responds to the request indicated by the first message. Receive a second message indicating the response of the second system.

また、1つの態様では、第1の情報処理装置と第2の情報処理装置とを有するシステムが実行する情報処理方法が提供される。また、1つの態様では、処理部と通信部とを有する情報処理装置が提供される。また、1つの態様では、第1の情報処理装置と第2の情報処理装置とを有する情報処理システムが提供される。 Further, in one aspect, an information processing method executed by a system having a first information processing device and a second information processing device is provided. Further, in one embodiment, an information processing device having a processing unit and a communication unit is provided. Further, in one aspect, an information processing system including a first information processing device and a second information processing device is provided.

1つの側面では、外部システムへのアクセスに用いる認証情報の保護が強化される。 On one side, the protection of credentials used to access external systems is enhanced.

第1の実施の形態の情報処理システムを説明するための図である。It is a figure for demonstrating the information processing system of 1st Embodiment. 第2の実施の形態の情報処理システムの例を示す図である。It is a figure which shows the example of the information processing system of the 2nd Embodiment. サーバ装置のハードウェア例を示すブロック図である。It is a block diagram which shows the hardware example of a server apparatus. データ分析システムのソフトウェア例を示すブロック図である。It is a block diagram which shows the software example of a data analysis system. 外部アクセスの第1の通信例を示すシーケンス図である。It is a sequence diagram which shows the 1st communication example of an external access. 外部アクセスの第2の通信例を示すシーケンス図である。It is a sequence diagram which shows the 2nd communication example of the external access. 外部アクセスの第3の通信例を示すシーケンス図である。It is a sequence diagram which shows the 3rd communication example of the external access. コンテナの仮キーおよび管理サーバのテーブルの例を示す図である。It is a figure which shows the example of the temporary key of a container, and the table of a management server. コンテナ処理の手順例を示すフローチャートである。It is a flowchart which shows the procedure example of a container process. 中継サーバ処理の手順例を示すフローチャートである。It is a flowchart which shows the procedure example of a relay server processing. 管理サーバ処理の手順例を示すフローチャートである。It is a flowchart which shows the procedure example of management server processing. 管理サーバ処理の手順例を示すフローチャート(続き)である。It is a flowchart (continued) which shows the procedure example of the management server processing.

以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
The first embodiment will be described.

図1は、第1の実施の形態の情報処理システムを説明するための図である。
第1の実施の形態の情報処理システム1は、コンピュータ仮想化技術を用いて、物理コンピュータに1以上の仮想コンピュータを配置する。仮想コンピュータは、情報処理システム1と異なる外部システム3にアクセスすることがある。
FIG. 1 is a diagram for explaining the information processing system of the first embodiment.
The information processing system 1 of the first embodiment uses computer virtualization technology to arrange one or more virtual computers on a physical computer. The virtual computer may access an external system 3 different from the information processing system 1.

情報処理システム1は、特定の企業が保有するオンプレミスシステムでもよいし、データセンタに配置されるクラウドシステムでもよい。情報処理システム1は、例えば、蓄積されたデータを人工知能技術を用いて分析するデータ分析システムである。外部システム3は、ネットワーク経由でアクセスを受け付けて情報処理サービスを提供する。外部システム3は、データセンタに配置されるクラウドシステムでもよい。外部システム3は、例えば、大量のデータを蓄積するストレージシステム、または、蓄積されたデータを高速に検索するデータベースシステムである。 The information processing system 1 may be an on-premises system owned by a specific company or a cloud system arranged in a data center. The information processing system 1 is, for example, a data analysis system that analyzes accumulated data using artificial intelligence technology. The external system 3 accepts access via the network and provides an information processing service. The external system 3 may be a cloud system located in a data center. The external system 3 is, for example, a storage system that stores a large amount of data, or a database system that searches the stored data at high speed.

情報処理システム1は、情報処理装置10,20を有する。情報処理装置10,20は、例えば、サーバコンピュータである。情報処理装置10,20は、それぞれ記憶部、処理部および通信部を有してもよい。記憶部は、RAM(Random Access Memory)などの揮発性半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。処理部は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサでもよい。また、処理部は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定の電子回路を含んでもよい。 The information processing system 1 has information processing devices 10 and 20. The information processing devices 10 and 20 are, for example, server computers. The information processing devices 10 and 20 may have a storage unit, a processing unit, and a communication unit, respectively. The storage unit may be a volatile semiconductor memory such as a RAM (Random Access Memory) or a non-volatile storage such as an HDD (Hard Disk Drive) or a flash memory. The processing unit may be a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a DSP (Digital Signal Processor). Further, the processing unit may include a specific electronic circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

プロセッサは、メモリに記憶されたプログラムを実行する。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。通信部は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、アクセスポイントや基地局などの無線通信装置に接続される無線通信インタフェースでもよい。 The processor executes the program stored in the memory. A collection of multiple processors may be referred to as a "multiprocessor" or simply a "processor." The communication unit may be a wired communication interface connected to a wired communication device such as a switch or a router, or may be a wireless communication interface connected to a wireless communication device such as an access point or a base station.

情報処理装置10では、仮想コンピュータ11が動作する。仮想コンピュータ11は、ゲストOSが実行される狭義の仮想マシンでもよいし、ゲストOSが実行されないコンテナでもよい。仮想コンピュータ11が狭義の仮想マシンである場合、情報処理装置10は、仮想マシンを制御するための管理OSまたはハイパーバイザを実行することがある。仮想コンピュータ11がコンテナである場合、情報処理装置10は、コンテナを制御するためのコンテナエンジンを実行することがある。代表者を含む複数のユーザが仮想コンピュータ11を使用することができる。代表者は、例えば、仮想コンピュータ11を起動したユーザまたは仮想コンピュータ11を定義したオーナーである。 In the information processing apparatus 10, the virtual computer 11 operates. The virtual computer 11 may be a virtual machine in a narrow sense in which the guest OS is executed, or may be a container in which the guest OS is not executed. When the virtual computer 11 is a virtual machine in a narrow sense, the information processing apparatus 10 may execute a management OS or a hypervisor for controlling the virtual machine. When the virtual computer 11 is a container, the information processing apparatus 10 may execute a container engine for controlling the container. A plurality of users including the representative can use the virtual computer 11. The representative is, for example, the user who started the virtual computer 11 or the owner who defined the virtual computer 11.

情報処理装置10は、仮想コンピュータ11が外部システム3にアクセスするとき、仮想コンピュータ11に設定された認証情報12を検出する。認証情報12は、代表者が有する外部システム3のアクセス権限を示す認証情報22と関連付いた情報である。認証情報12は、仮想コンピュータ11の起動時に設定されてもよい。認証情報12は、仮想コンピュータ11の環境変数の値であってもよい。認証情報12は、例えば、情報処理装置10が有するメモリの記憶領域のうち仮想コンピュータ11の記憶領域に記憶される。 When the virtual computer 11 accesses the external system 3, the information processing apparatus 10 detects the authentication information 12 set in the virtual computer 11. The authentication information 12 is information associated with the authentication information 22 indicating the access authority of the external system 3 possessed by the representative. The authentication information 12 may be set when the virtual computer 11 is started. The authentication information 12 may be the value of an environment variable of the virtual computer 11. The authentication information 12 is stored, for example, in the storage area of the virtual computer 11 in the storage area of the memory of the information processing apparatus 10.

認証情報12は、代表者のユーザIDとパスワードを含んでもよい。また、認証情報12は、仮想コンピュータ11の識別子を含んでもよい。また、認証情報12は、代表者がオーナーであるプロジェクトの識別子を含んでもよい。また、認証情報12は、仮想コンピュータ11によって偽造されないように暗号化されていてもよい。例えば、情報処理装置20または情報処理装置20と通信する他の情報処理装置が認証情報12を発行する。 The authentication information 12 may include the user ID and password of the representative. Further, the authentication information 12 may include an identifier of the virtual computer 11. Further, the authentication information 12 may include an identifier of a project owned by the representative. Further, the authentication information 12 may be encrypted so as not to be forged by the virtual computer 11. For example, the information processing device 20 or another information processing device that communicates with the information processing device 20 issues the authentication information 12.

認証情報12を検出すると、情報処理装置10は、メッセージ13と認証情報12を情報処理装置20に送信する。メッセージ13は、外部システム3に対する要求を示す。例えば、メッセージ13は、データベースシステムに対する検索要求を示すクエリである。メッセージ13は、仮想コンピュータ11により生成されてもよい。メッセージ13は、外部システム3に代えて情報処理装置20に送信される。 When the authentication information 12 is detected, the information processing apparatus 10 transmits the message 13 and the authentication information 12 to the information processing apparatus 20. Message 13 indicates a request to the external system 3. For example, message 13 is a query indicating a search request to the database system. The message 13 may be generated by the virtual computer 11. The message 13 is transmitted to the information processing apparatus 20 instead of the external system 3.

すると、情報処理装置10は、メッセージ23を情報処理装置20から受信する。メッセージ23は、メッセージ13が示す要求に対する外部システム3の応答を示す。メッセージ23は、外部システム3のデータ処理結果を含んでもよい。例えば、メッセージ23は、クエリによって検索されたデータを含む。メッセージ23は、仮想コンピュータ11に渡される。上記の情報処理装置10の処理は、仮想コンピュータ11で実行される通信ライブラリで規定されていてもよい。また、上記の情報処理装置10の処理は、代表者以外のユーザが仮想コンピュータ11を使用しているときも実行され得る。よって、認証情報12が示すアクセス権限が、代表者以外のユーザにも委譲されている。 Then, the information processing apparatus 10 receives the message 23 from the information processing apparatus 20. The message 23 indicates the response of the external system 3 to the request indicated by the message 13. The message 23 may include the data processing result of the external system 3. For example, message 23 contains the data retrieved by the query. The message 23 is passed to the virtual computer 11. The processing of the information processing apparatus 10 may be defined by a communication library executed by the virtual computer 11. Further, the process of the information processing apparatus 10 may be executed even when a user other than the representative is using the virtual computer 11. Therefore, the access authority indicated by the authentication information 12 is delegated to a user other than the representative.

情報処理装置20は、情報処理装置10と外部システム3との間の通信を中継する。情報処理装置20が、中継サーバやプロキシサーバと呼ばれてもよい。情報処理装置20は、情報処理装置10からメッセージ13と認証情報12を受信する。 The information processing device 20 relays communication between the information processing device 10 and the external system 3. The information processing device 20 may be called a relay server or a proxy server. The information processing device 20 receives the message 13 and the authentication information 12 from the information processing device 10.

すると、情報処理装置20は、認証情報12と関連付いた認証情報22を取得する。例えば、情報処理装置20は、認証情報12を復号し、認証情報12に含まれる識別子を用いて認証情報22を取得する。情報処理装置20は、認証情報22を記憶していてもよい。また、情報処理装置20は、情報処理システム1に含まれる他の情報処理装置に問い合わせて、他の情報処理装置から認証情報22を受信してもよい。また、情報処理装置20は、外部システム3に、一時的認証情報として認証情報22の発行を要求してもよい。認証情報22は、キーIDと秘密情報を含んでもよい。 Then, the information processing apparatus 20 acquires the authentication information 22 associated with the authentication information 12. For example, the information processing apparatus 20 decodes the authentication information 12 and acquires the authentication information 22 by using the identifier included in the authentication information 12. The information processing device 20 may store the authentication information 22. Further, the information processing apparatus 20 may inquire of another information processing apparatus included in the information processing system 1 and receive authentication information 22 from the other information processing apparatus. Further, the information processing apparatus 20 may request the external system 3 to issue the authentication information 22 as the temporary authentication information. The authentication information 22 may include a key ID and confidential information.

情報処理装置20は、メッセージ13と認証情報22を外部システム3に送信し、メッセージ13に対応するメッセージ23を外部システム3から受信する。そして、情報処理装置20は、メッセージ23を情報処理装置10に転送する。上記の一連の通信の中で、認証情報22は情報処理装置10に提供されない。なお、情報処理装置20は、仮想コンピュータ11が停止したときに認証情報12を無効化してもよく、停止後に認証情報12を受信した場合には認証情報22の取得をエラーとして拒否してもよい。 The information processing apparatus 20 transmits the message 13 and the authentication information 22 to the external system 3, and receives the message 23 corresponding to the message 13 from the external system 3. Then, the information processing device 20 transfers the message 23 to the information processing device 10. In the above series of communications, the authentication information 22 is not provided to the information processing apparatus 10. The information processing apparatus 20 may invalidate the authentication information 12 when the virtual computer 11 is stopped, or may refuse the acquisition of the authentication information 22 as an error when the authentication information 12 is received after the stop. ..

このように、第1の実施の形態の情報処理システム1では、仮想コンピュータ11が外部システム3にアクセスするとき、仮想コンピュータ11に設定された認証情報12が情報処理装置10から情報処理装置20に送信される。認証情報12に関連付いた認証情報22が情報処理装置20において取得され、認証情報22が情報処理装置20から外部システム3に送信される。そして、外部システム3からの応答を示すメッセージ23が情報処理装置20を経由して情報処理装置10に送信される。 As described above, in the information processing system 1 of the first embodiment, when the virtual computer 11 accesses the external system 3, the authentication information 12 set in the virtual computer 11 is transmitted from the information processing device 10 to the information processing device 20. Will be sent. The authentication information 22 associated with the authentication information 12 is acquired by the information processing device 20, and the authentication information 22 is transmitted from the information processing device 20 to the external system 3. Then, the message 23 indicating the response from the external system 3 is transmitted to the information processing device 10 via the information processing device 20.

これにより、代表者を含む複数のユーザが仮想コンピュータ11を使用することが可能となる。このとき、代表者以外のユーザは、そのユーザの認証情報を入力しなくても、代表者のアクセス権限に基づいて、外部システム3へのアクセスを仮想コンピュータ11に実行させることができる。よって、ユーザの負担が軽減され操作性が向上する。 As a result, a plurality of users including the representative can use the virtual computer 11. At this time, a user other than the representative can cause the virtual computer 11 to access the external system 3 based on the access authority of the representative without inputting the authentication information of the user. Therefore, the burden on the user is reduced and the operability is improved.

また、仮想コンピュータ11は、外部システム3のアクセス権限を示す認証情報22そのものを保持せず、認証情報22に関連付いた認証情報12を保持する。よって、代表者以外のユーザから認証情報22が秘匿される。このため、ユーザが認証情報22を悪用して、仮想コンピュータ11の目的から逸脱する操作を外部システム3に対して実行するリスクが低減される。その結果、情報処理システム1のセキュリティが向上する。 Further, the virtual computer 11 does not hold the authentication information 22 itself indicating the access authority of the external system 3, but holds the authentication information 12 associated with the authentication information 22. Therefore, the authentication information 22 is kept secret from users other than the representative. Therefore, the risk that the user misuses the authentication information 22 to perform an operation deviating from the purpose of the virtual computer 11 on the external system 3 is reduced. As a result, the security of the information processing system 1 is improved.

[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
[Second Embodiment]
Next, a second embodiment will be described.
FIG. 2 is a diagram showing an example of an information processing system according to a second embodiment.

第2の実施の形態の情報処理システムは、データ分析システム31、クラウドシステム32および端末装置33,33aを含む複数の端末装置を有する。データ分析システム31、クラウドシステム32および複数の端末装置は、ネットワーク30に接続される。ネットワーク30は、インターネットなどの広域ネットワークを含んでもよい。 The information processing system of the second embodiment has a plurality of terminal devices including a data analysis system 31, a cloud system 32, and terminal devices 33, 33a. The data analysis system 31, the cloud system 32 and the plurality of terminal devices are connected to the network 30. The network 30 may include a wide area network such as the Internet.

データ分析システム31は、人工知能技術を用いてデータを分析する。例えば、データ分析システム31は、蓄積されたデータから訓練データを生成し、機械学習によって訓練データからモデルを生成する。データ分析システム31は、企業が保有するオンプレミスシステムでもよいし、データセンタに配置されるクラウドシステムでもよい。データ分析システム31は、サーバ装置100,100aを含む複数のサーバ装置を有する。データ分析システム31は、第1の実施の形態の情報処理システム1に対応する。サーバ装置100,100aは、第1の実施の形態の情報処理装置10,20に対応する。 The data analysis system 31 analyzes data using artificial intelligence technology. For example, the data analysis system 31 generates training data from the accumulated data and generates a model from the training data by machine learning. The data analysis system 31 may be an on-premises system owned by a company or a cloud system located in a data center. The data analysis system 31 has a plurality of server devices including the server devices 100 and 100a. The data analysis system 31 corresponds to the information processing system 1 of the first embodiment. The server devices 100 and 100a correspond to the information processing devices 10 and 20 of the first embodiment.

データ分析システム31は、コンピュータ仮想化技術を用いてコンテナを配置する。コンテナは、ゲストOSが実行されない軽量型仮想コンピュータである。データ分析システム31は、ユーザからの要求に応じて、コンテナの起動およびコンテナの停止を行う。コンテナは、クラウドシステム32のサービスを利用することがある。 The data analysis system 31 arranges a container using computer virtualization technology. The container is a lightweight virtual computer on which the guest OS is not executed. The data analysis system 31 starts the container and stops the container in response to a request from the user. The container may use the service of the cloud system 32.

クラウドシステム32は、データ分析システム31の外部の情報処理システムである。クラウドシステム32は、データセンタに配置され、ネットワーク30を経由したアクセスに応じて情報処理サービスを提供する。例えば、クラウドシステム32は、大量のデータを蓄積するストレージサービスを提供する。また、例えば、クラウドシステム32は、蓄積されたデータの検索や更新を行うデータベースサービスを提供する。クラウドシステム32は、サーバ装置100b,100cを含む複数のサーバ装置を有する。クラウドシステム32は、第1の実施の形態の外部システム3に対応する。 The cloud system 32 is an information processing system external to the data analysis system 31. The cloud system 32 is located in a data center and provides an information processing service according to access via the network 30. For example, the cloud system 32 provides a storage service for accumulating a large amount of data. Further, for example, the cloud system 32 provides a database service for searching and updating accumulated data. The cloud system 32 has a plurality of server devices including the server devices 100b and 100c. The cloud system 32 corresponds to the external system 3 of the first embodiment.

クラウドシステム32は、契約した正規ユーザを識別するために認証情報を発行する。クラウドシステム32は、要求メッセージと併せて認証情報を受信し、受信した認証情報に基づいてユーザ認証を行う。クラウドシステム32は、ユーザ認証に成功すると要求メッセージを受け入れ、ユーザ認証に失敗すると要求メッセージを拒否する。 The cloud system 32 issues authentication information in order to identify the contracted legitimate user. The cloud system 32 receives the authentication information together with the request message, and performs user authentication based on the received authentication information. The cloud system 32 accepts the request message if the user authentication is successful, and rejects the request message if the user authentication fails.

端末装置33,33aは、ユーザが使用するクライアント装置である。端末装置33,33aは、データ分析システム31へのアクセスに使用され得る。例えば、端末装置33,33aは、コンテナの起動をデータ分析システム31に指示し、起動されたコンテナに接続し、コンテナの停止をデータ分析システム31に指示する。また、端末装置33,33aは、クラウドシステム32へのアクセスに使用され得る。例えば、端末装置33,33aは、認証情報の発行をクラウドシステム32に要求する。発行された認証情報は、端末装置33,33aからデータ分析システム31に登録されることがある。 The terminal devices 33 and 33a are client devices used by the user. The terminal devices 33, 33a may be used to access the data analysis system 31. For example, the terminal devices 33 and 33a instruct the data analysis system 31 to start the container, connect to the started container, and instruct the data analysis system 31 to stop the container. Further, the terminal devices 33 and 33a can be used to access the cloud system 32. For example, the terminal devices 33 and 33a request the cloud system 32 to issue authentication information. The issued authentication information may be registered in the data analysis system 31 from the terminal devices 33, 33a.

図3は、サーバ装置のハードウェア例を示すブロック図である。
サーバ装置100は、CPU101、RAM102、HDD103、画像インタフェース104、入力インタフェース105、媒体リーダ106および通信インタフェース107を有する。サーバ装置100が有するこれらのユニットは、バスに接続されている。他のサーバ装置および端末装置33,33aなどの端末装置も、サーバ装置100と同様のハードウェアを有する。
FIG. 3 is a block diagram showing a hardware example of the server device.
The server device 100 includes a CPU 101, a RAM 102, an HDD 103, an image interface 104, an input interface 105, a medium reader 106, and a communication interface 107. These units included in the server device 100 are connected to the bus. Other server devices and terminal devices such as the terminal devices 33 and 33a also have the same hardware as the server device 100.

CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。サーバ装置100は複数のプロセッサを有してもよい。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。 The CPU 101 is a processor that executes a program instruction. The CPU 101 loads at least a part of the programs and data stored in the HDD 103 into the RAM 102 and executes the program. The server device 100 may have a plurality of processors. A collection of multiple processors may be referred to as a "multiprocessor" or simply a "processor."

RAM102は、CPU101が実行するプログラムやCPU101が演算に使用するデータを一時的に記憶する揮発性半導体メモリである。サーバ装置100は、RAM以外の種類のメモリを備えてもよく、複数のメモリを備えてもよい。 The RAM 102 is a volatile semiconductor memory that temporarily stores a program executed by the CPU 101 and data used by the CPU 101 for calculation. The server device 100 may include a type of memory other than RAM, or may include a plurality of memories.

HDD103は、OSやミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性ストレージである。サーバ装置100は、フラッシュメモリやSSD(Solid State Drive)など他の種類のストレージを備えてもよく、複数のストレージを備えてもよい。 The HDD 103 is a non-volatile storage that stores software programs such as an OS, middleware, and application software, and data. The server device 100 may include other types of storage such as a flash memory and an SSD (Solid State Drive), or may include a plurality of storages.

画像インタフェース104は、CPU101からの命令に従って、サーバ装置100に接続された表示装置111に画像を出力する。表示装置111として、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイ、プロジェクタなど、任意の種類の表示装置を使用することができる。サーバ装置100に、プリンタなど表示装置111以外の出力デバイスが接続されてもよい。 The image interface 104 outputs an image to the display device 111 connected to the server device 100 in accordance with a command from the CPU 101. As the display device 111, any kind of display device such as a CRT (Cathode Ray Tube) display, a liquid crystal display (LCD: Liquid Crystal Display), an organic EL (OEL: Organic Electro-Luminescence) display, and a projector can be used. .. An output device other than the display device 111 such as a printer may be connected to the server device 100.

入力インタフェース105は、サーバ装置100に接続された入力デバイス112から入力信号を受け付ける。入力デバイス112として、マウス、タッチパネル、タッチパッド、キーボードなど、任意の種類の入力デバイスを使用することができる。サーバ装置100に複数の入力デバイスが接続されてもよい。 The input interface 105 receives an input signal from the input device 112 connected to the server device 100. As the input device 112, any kind of input device such as a mouse, a touch panel, a touch pad, and a keyboard can be used. A plurality of input devices may be connected to the server device 100.

媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、半導体メモリなど、任意の種類の記録媒体を使用することができる。媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。 The medium reader 106 is a reading device that reads programs and data recorded on the recording medium 113. As the recording medium 113, any kind of recording medium such as a magnetic disk such as a flexible disk (FD) or HDD, an optical disk such as a CD (Compact Disc) or a DVD (Digital Versatile Disc), or a semiconductor memory is used. Can be done. The medium reader 106, for example, copies a program or data read from the recording medium 113 to another recording medium such as the RAM 102 or the HDD 103. The read program is executed by, for example, the CPU 101. The recording medium 113 may be a portable recording medium and may be used for distribution of programs and data. Further, the recording medium 113 and the HDD 103 may be referred to as a computer-readable recording medium.

通信インタフェース107は、ネットワーク30に接続され、ネットワーク30を介して他のサーバ装置や端末装置33,33aなどの端末装置と通信する。通信インタフェース107は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースである。ただし、通信インタフェース107が、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースであってもよい。 The communication interface 107 is connected to the network 30 and communicates with other server devices and terminal devices such as the terminal devices 33 and 33a via the network 30. The communication interface 107 is a wired communication interface connected to a wired communication device such as a switch or a router. However, the communication interface 107 may be a wireless communication interface connected to a wireless communication device such as a base station or an access point.

図4は、データ分析システムのソフトウェア例を示すブロック図である。
データ分析システム31は、コンテナ121,121aを含む複数のコンテナ、中継サーバ131および管理サーバ132を有する。コンテナ121,121aは、軽量型仮想コンピュータである。コンテナ121,121aは、何れかのサーバ装置に配置される。例えば、コンテナ121,121aは、サーバ装置100に配置される。中継サーバ131および管理サーバ132は、サーバアプリケーションである。中継サーバ131および管理サーバ132は、それぞれ何れかのサーバ装置に配置される。例えば、中継サーバ131および管理サーバ132は、サーバ装置100aに配置される。
FIG. 4 is a block diagram showing a software example of a data analysis system.
The data analysis system 31 has a plurality of containers including the containers 121 and 121a, a relay server 131, and a management server 132. The containers 121 and 121a are lightweight virtual computers. The containers 121 and 121a are arranged in any server device. For example, the containers 121 and 121a are arranged in the server device 100. The relay server 131 and the management server 132 are server applications. The relay server 131 and the management server 132 are respectively arranged in any of the server devices. For example, the relay server 131 and the management server 132 are arranged in the server device 100a.

コンテナ121,121aが配置されるサーバ装置は、コンテナエンジン124とホストOS125を実行する。コンテナエンジン124は、ホストOS125の上で実行される。コンテナ121,121aは、コンテナエンジン124の上で実行される。ホストOS125は、サーバ装置が有するCPU、RAM、HDD、通信インタフェースなどのハードウェアリソースを管理する。コンテナエンジン124は、コンテナ121,121aを制御する。コンテナエンジン124は、ホストOS125が管理するハードウェアリソースの一部をコンテナ121,121aに割り当てる。特に、コンテナエンジン124は、メモリのユーザ空間の一部をコンテナ121,121aに割り当てる。ホストOS125から見て、コンテナ121,121aはそれぞれ1個のプロセスとして実行される。 The server device in which the containers 121 and 121a are arranged executes the container engine 124 and the host OS 125. The container engine 124 runs on the host OS 125. The containers 121 and 121a are executed on the container engine 124. The host OS 125 manages the hardware resources such as the CPU, RAM, HDD, and communication interface of the server device. The container engine 124 controls the containers 121 and 121a. The container engine 124 allocates a part of the hardware resources managed by the host OS 125 to the containers 121 and 121a. In particular, the container engine 124 allocates a part of the user space of the memory to the containers 121 and 121a. Seen from the host OS 125, the containers 121 and 121a are executed as one process, respectively.

コンテナ121では、アプリケーションプログラム122および通信ライブラリ123が実行される。コンテナ121aでは、アプリケーションプログラム122aおよび通信ライブラリ123aが実行される。アプリケーションプログラム122,122aは、ユーザが規定したデータフローを実装したユーザプログラムである。アプリケーションプログラム122,122aは、クラウドシステム32のサービスを利用することがある。その場合、アプリケーションプログラム122は通信ライブラリ123を呼び出す。また、アプリケーションプログラム122aは通信ライブラリ123aを呼び出す。 In the container 121, the application program 122 and the communication library 123 are executed. In the container 121a, the application program 122a and the communication library 123a are executed. The application programs 122 and 122a are user programs that implement the data flow specified by the user. The application programs 122 and 122a may use the service of the cloud system 32. In that case, the application program 122 calls the communication library 123. Further, the application program 122a calls the communication library 123a.

通信ライブラリ123,123aは、クラウドシステム32へのアクセスを制御するライブラリプログラムである。通信ライブラリ123は、アプリケーションプログラム122からの要求に応じて中継サーバ131と通信する。また、通信ライブラリ123aは、アプリケーションプログラム122aからの要求に応じて中継サーバ131と通信する。 The communication libraries 123 and 123a are library programs that control access to the cloud system 32. The communication library 123 communicates with the relay server 131 in response to a request from the application program 122. Further, the communication library 123a communicates with the relay server 131 in response to a request from the application program 122a.

中継サーバ131が配置されるサーバ装置は、ホストOS133を実行する。中継サーバ131は、ホストOS133の上で実行される。ホストOS133は、サーバ装置が有するハードウェアリソースを管理する。ただし、アプリケーションプログラム122,122aと同様に、中継サーバ131をコンテナの中に配置することも可能である。中継サーバ131は、コンテナ121,121aとクラウドシステム32との間の通信を中継する。中継サーバ131がプロキシサーバと呼ばれてもよい。 The server device in which the relay server 131 is arranged executes the host OS 133. The relay server 131 is executed on the host OS 133. The host OS 133 manages the hardware resources of the server device. However, similarly to the application programs 122 and 122a, the relay server 131 can be arranged in the container. The relay server 131 relays communication between the containers 121 and 121a and the cloud system 32. The relay server 131 may be referred to as a proxy server.

管理サーバ132が配置されるサーバ装置は、ホストOS134を実行する。管理サーバ132は、ホストOS134の上で実行される。ホストOS134は、サーバ装置が有するハードウェアリソースを管理する。ただし、アプリケーションプログラム122,122aと同様に、管理サーバ132をコンテナの中に配置することも可能である。管理サーバ132は、コンテナ121,121aの起動および停止を管理する。また、管理サーバ132は、中継サーバ131と連携して、コンテナ121,121aがクラウドシステム32にアクセスするための認証情報を管理する。 The server device in which the management server 132 is arranged executes the host OS 134. The management server 132 is executed on the host OS 134. The host OS 134 manages the hardware resources of the server device. However, it is also possible to arrange the management server 132 in the container as in the application programs 122 and 122a. The management server 132 manages the start and stop of the containers 121 and 121a. Further, the management server 132 manages the authentication information for the containers 121 and 121a to access the cloud system 32 in cooperation with the relay server 131.

第2の実施の形態では、コンテナ121を起動するとき、ユーザは3つのコンテナタイプの中から1つを選択することができる。第1のタイプは、コンテナを起動したユーザのみがそのコンテナに接続できる非共有型である。第2のタイプは、コンテナを起動したユーザ以外の他のユーザもそのコンテナに接続でき、接続したユーザのアクセス権限でクラウドシステム32にアクセスする共有・個別認証型である。第3のタイプは、コンテナを起動したユーザ以外の他のユーザもそのコンテナに接続でき、コンテナに関する代表者のアクセス権限でクラウドシステム32にアクセスする共有・権限委譲型である。代表者は、コンテナを定義したオーナーまたはコンテナを起動した起動者である。以下では、3つのコンテナタイプについて、クラウドシステム32へのアクセスの例を説明する。 In the second embodiment, when starting the container 121, the user can select one of the three container types. The first type is a non-shared type in which only the user who started the container can connect to the container. The second type is a shared / individual authentication type in which users other than the user who started the container can connect to the container and access the cloud system 32 with the access authority of the connected user. The third type is a sharing / delegation type in which users other than the user who started the container can connect to the container and access the cloud system 32 with the access authority of the representative regarding the container. The representative is the owner who defined the container or the invoker who started the container. In the following, examples of access to the cloud system 32 will be described for the three container types.

図5は、外部アクセスの第1の通信例を示すシーケンス図である。
ここでは、コンテナ121が非共有型である場合について説明する。ユーザAは、端末装置33を用いて管理サーバ132にコンテナ起動要求を送信する(S10)。コンテナ起動要求は、ユーザAのユーザ情報を含む。ユーザ情報は、ユーザIDとパスワードを含む。コンテナ起動要求に含まれるユーザ情報は、データ分析システム31の中で使用される認証情報であり、クラウドシステム32で使用される認証情報とは異なる。また、コンテナ起動要求は、コンテナタイプとして非共有型を指定する。
FIG. 5 is a sequence diagram showing a first communication example of external access.
Here, a case where the container 121 is a non-shared type will be described. User A transmits a container start request to the management server 132 using the terminal device 33 (S10). The container start request includes the user information of the user A. The user information includes a user ID and a password. The user information included in the container start request is the authentication information used in the data analysis system 31, and is different from the authentication information used in the cloud system 32. In addition, the container start request specifies a non-shared type as the container type.

管理サーバ132は、コンテナ起動要求に含まれるユーザ情報を用いてユーザAを認証する。ユーザAの認証に成功すると、管理サーバ132は、起動するコンテナ121にコンテナIDを付与し、コンテナ121のプログラムを何れかのサーバ装置に転送し、コンテナ121を起動させる。また、管理サーバ132は、コンテナ起動要求に含まれるユーザ情報からユーザAの仮キーを生成し、コンテナ121に送信する(S11)。コンテナ121は、停止するまでの間、ユーザAの仮キーを保持する。管理サーバ132が発行した仮キーは、コンテナ121が使用するRAMの記憶領域に記憶されてもよい。また、仮キーは、コンテナ121の環境変数に代入されてもよい。 The management server 132 authenticates the user A by using the user information included in the container start request. When the authentication of the user A is successful, the management server 132 assigns a container ID to the container 121 to be started, transfers the program of the container 121 to any server device, and starts the container 121. Further, the management server 132 generates a temporary key of the user A from the user information included in the container start request and transmits it to the container 121 (S11). The container 121 holds the temporary key of the user A until it is stopped. The temporary key issued by the management server 132 may be stored in the storage area of the RAM used by the container 121. Further, the temporary key may be assigned to the environment variable of the container 121.

仮キーは、例えば、ユーザIDとパスワードとコンテナIDを含むデータを暗号化した暗号データである。仮キーはトークンと呼ばれてもよい。暗号化には、管理サーバ132が保持する共通鍵などの暗号鍵が用いられる。コンテナ121はこの暗号鍵を知らないため、仮キーを復号できず、仮キーを偽造することはできない。ユーザAの仮キーは、クラウドシステム32で使用されるユーザAの認証情報とは異なる。このため、コンテナ121は、仮キーを用いてクラウドシステム32に直接アクセスすることはできない。 The temporary key is, for example, encrypted data obtained by encrypting data including a user ID, a password, and a container ID. Temporary keys may be called tokens. For encryption, an encryption key such as a common key held by the management server 132 is used. Since the container 121 does not know this encryption key, the temporary key cannot be decrypted and the temporary key cannot be forged. The temporary key of the user A is different from the authentication information of the user A used in the cloud system 32. Therefore, the container 121 cannot directly access the cloud system 32 by using the temporary key.

ユーザAは、起動されたコンテナ121に接続する(S12)。コンテナ121は、アプリケーションプログラム122を実行する。アプリケーションプログラム122には、クラウドシステム32へのアクセスが規定されている。そこで、コンテナ121は、データベースの検索または更新の要求を示すクエリを生成する。また、コンテナ121は、コンテナ121に設定されたユーザAの仮キーを抽出する。コンテナ121は、クエリとユーザAの仮キーを中継サーバ131に送信する(S13)。 User A connects to the activated container 121 (S12). The container 121 executes the application program 122. The application program 122 defines access to the cloud system 32. The container 121 then generates a query indicating a database search or update request. Further, the container 121 extracts the temporary key of the user A set in the container 121. The container 121 transmits the query and the temporary key of the user A to the relay server 131 (S13).

中継サーバ131は、コンテナ121から受信した仮キーを管理サーバ132に送信する(S14)。管理サーバ132は、中継サーバ131から受信した仮キーの正当性を検証する。例えば、管理サーバ132は、管理サーバ132が保持する共通鍵などの暗号鍵を用いて仮キーを復号し、復号が成功した場合は正当な仮キーと判定し、復号が失敗した場合は正当な仮キーでないと判定する。また、管理サーバ132は、仮キーの有効性を検証する。コンテナ121が停止すると、コンテナ121に設定された仮キーは無効化される。例えば、管理サーバ132は、仮キーから抽出されたコンテナIDが、稼働中のコンテナのコンテナIDであるかを確認する。 The relay server 131 transmits the temporary key received from the container 121 to the management server 132 (S14). The management server 132 verifies the validity of the temporary key received from the relay server 131. For example, the management server 132 decrypts the temporary key using an encryption key such as a common key held by the management server 132, determines that the temporary key is valid if the decryption is successful, and is valid if the decryption fails. Judge that it is not a temporary key. Further, the management server 132 verifies the validity of the temporary key. When the container 121 is stopped, the temporary key set in the container 121 is invalidated. For example, the management server 132 confirms whether the container ID extracted from the temporary key is the container ID of the running container.

受信した仮キーに問題がない場合、管理サーバ132は、仮キーに対応する認証情報を取得する。例えば、管理サーバ132は、仮キーから抽出されたユーザ情報と関連付いた認証情報を取得する。管理サーバ132が取得する認証情報は、クラウドシステム32から発行された認証情報であり、クレデンシャルと呼ばれてもよい。ここでは、コンテナ121を起動したユーザAの認証情報が取得される。認証情報は、例えば、キーIDと秘密情報を含む。管理サーバ132は、認証情報を中継サーバ131に送信する(S15)。 If there is no problem with the received temporary key, the management server 132 acquires the authentication information corresponding to the temporary key. For example, the management server 132 acquires the authentication information associated with the user information extracted from the temporary key. The authentication information acquired by the management server 132 is the authentication information issued by the cloud system 32, and may be called a credential. Here, the authentication information of the user A who started the container 121 is acquired. The authentication information includes, for example, a key ID and confidential information. The management server 132 transmits the authentication information to the relay server 131 (S15).

認証情報を取得するにあたり、管理サーバ132は、ユーザ情報と関連付けて認証情報を記憶していてもよい。また、管理サーバ132は、データ分析システム31が有する他のサーバに問い合わせて、ユーザ情報に対応する認証情報を受信してもよい。また、管理サーバ132は、ユーザ情報をクラウドシステム32に送信し、ユーザAのための一時的認証情報をクラウドシステム32から受信してもよい。なお、中継サーバ131と管理サーバ132とを分離せず、中継サーバ131が管理サーバ132の機能を兼ねてもよい。 In acquiring the authentication information, the management server 132 may store the authentication information in association with the user information. Further, the management server 132 may inquire of another server of the data analysis system 31 and receive the authentication information corresponding to the user information. Further, the management server 132 may transmit user information to the cloud system 32 and receive temporary authentication information for the user A from the cloud system 32. The relay server 131 and the management server 132 may not be separated, and the relay server 131 may also serve as the management server 132.

中継サーバ131は、コンテナ121から受信したクエリと管理サーバ132から受信した認証情報とを、クラウドシステム32に送信する(S16)。クラウドシステム32は、中継サーバ131から受信した認証情報を用いてユーザAを認証し、ユーザAのアクセス権限の範囲で、中継サーバ131から受信したクエリの実行を許可する。クラウドシステム32は、クエリに対応する結果データを生成して中継サーバ131に送信する(S17)。結果データは、例えば、データベースから検索されたデータを含む。 The relay server 131 transmits the query received from the container 121 and the authentication information received from the management server 132 to the cloud system 32 (S16). The cloud system 32 authenticates the user A using the authentication information received from the relay server 131, and permits the execution of the query received from the relay server 131 within the range of the access authority of the user A. The cloud system 32 generates result data corresponding to the query and sends it to the relay server 131 (S17). The result data includes, for example, the data retrieved from the database.

中継サーバ131は、クラウドシステム32から受信した結果データをコンテナ121に転送する(S18)。ただし、以上の一連の通信の中で、クラウドシステム32で使用される認証情報はコンテナ121に提供されない。その後、ユーザAはコンテナ停止要求を管理サーバ132に送信することがある。その場合、管理サーバ132は、コンテナ121を停止させると共に、コンテナ121に設定された仮キーを無効化する。以降、管理サーバ132は、その仮キーを受信してもユーザAの認証情報の提供を拒否する。 The relay server 131 transfers the result data received from the cloud system 32 to the container 121 (S18). However, in the above series of communications, the authentication information used in the cloud system 32 is not provided to the container 121. After that, the user A may send a container stop request to the management server 132. In that case, the management server 132 stops the container 121 and invalidates the temporary key set in the container 121. After that, the management server 132 refuses to provide the authentication information of the user A even if the temporary key is received.

図6は、外部アクセスの第2の通信例を示すシーケンス図である。
ここでは、コンテナ121が共有・個別認証型である場合について説明する。ユーザAは、端末装置33を用いて管理サーバ132にコンテナ起動要求を送信する(S20)。コンテナ起動要求は、ユーザAのユーザ情報を含み、コンテナタイプとして共有・個別認証型を指定する。管理サーバ132は、コンテナ起動要求に含まれるユーザ情報を用いてユーザAを認証し、起動するコンテナ121にコンテナIDを付与し、コンテナ121を起動させる(S21)。コンテナタイプが共有・個別認証型である場合、管理サーバ132は、コンテナ121に対して仮キーを発行しない。よって、コンテナ121は仮キーを保持しない。例えば、コンテナ121の仮キーを示す環境変数が空になる。
FIG. 6 is a sequence diagram showing a second communication example of external access.
Here, a case where the container 121 is a shared / individual authentication type will be described. User A transmits a container start request to the management server 132 using the terminal device 33 (S20). The container start request includes the user information of user A, and specifies the shared / individual authentication type as the container type. The management server 132 authenticates the user A using the user information included in the container start request, assigns a container ID to the container 121 to be started, and starts the container 121 (S21). When the container type is shared / individual authentication type, the management server 132 does not issue a temporary key to the container 121. Therefore, the container 121 does not hold the temporary key. For example, the environment variable indicating the temporary key of the container 121 becomes empty.

コンテナ121を起動したユーザAと異なるユーザBは、端末装置33aを用いてコンテナ121に接続する(S22)。コンテナ121がクラウドシステム32にアクセスするとき、コンテナ121は、コンテナ121の仮キーが空であることを検出する。すると、コンテナ121は、コンテナ121に現在接続しているユーザBにユーザ情報の入力を要求し、ユーザBのユーザ情報を取得する。例えば、コンテナ121は、端末装置33aに対してユーザ情報を要求し、端末装置33aからユーザ情報を受信する。コンテナ121は、ユーザBのユーザ情報を管理サーバ132に送信する(S23)。 User B, which is different from user A who started the container 121, connects to the container 121 by using the terminal device 33a (S22). When the container 121 accesses the cloud system 32, the container 121 detects that the temporary key of the container 121 is empty. Then, the container 121 requests the user B who is currently connected to the container 121 to input the user information, and acquires the user information of the user B. For example, the container 121 requests user information from the terminal device 33a and receives the user information from the terminal device 33a. The container 121 transmits the user information of the user B to the management server 132 (S23).

管理サーバ132は、コンテナ121から受信したユーザ情報を用いてユーザBを認証し、ユーザBの仮キーを生成してコンテナ121に送信する(S24)。仮キーは、例えば、ユーザBのユーザIDとパスワードとコンテナ121のコンテナIDとを含むデータを暗号化した暗号データである。コンテナ121は、クエリとユーザBの仮キーを中継サーバ131に送信する(S25)。ユーザBの仮キーは、コンテナ121に保存されない。仮キーを中継サーバ131に送信した後、コンテナ121は、仮キーを破棄してよい。 The management server 132 authenticates the user B using the user information received from the container 121, generates a temporary key for the user B, and transmits the temporary key to the container 121 (S24). The temporary key is, for example, encrypted data obtained by encrypting data including a user ID of user B, a password, and a container ID of container 121. The container 121 transmits the query and the temporary key of the user B to the relay server 131 (S25). The temporary key of user B is not stored in the container 121. After transmitting the temporary key to the relay server 131, the container 121 may discard the temporary key.

中継サーバ131は、コンテナ121から受信した仮キーを管理サーバ132に送信する(S26)。管理サーバ132は、中継サーバ131から受信した仮キーの正当性および有効性を検証し、仮キーに対応するユーザBの認証情報を取得する。管理サーバ132は、認証情報を記憶していてもよいし、データ分析システム31が有する他のサーバから認証情報を受信してもよいし、一時的認証情報をクラウドシステム32から受信してもよい。管理サーバ132は、認証情報を中継サーバ131に送信する(S27)。 The relay server 131 transmits the temporary key received from the container 121 to the management server 132 (S26). The management server 132 verifies the validity and validity of the temporary key received from the relay server 131, and acquires the authentication information of the user B corresponding to the temporary key. The management server 132 may store the authentication information, may receive the authentication information from another server of the data analysis system 31, or may receive the temporary authentication information from the cloud system 32. .. The management server 132 transmits the authentication information to the relay server 131 (S27).

中継サーバ131は、コンテナ121から受信したクエリと管理サーバ132から受信した認証情報とを、クラウドシステム32に送信する(S28)。クラウドシステム32は、中継サーバ131から受信した認証情報を用いてユーザBを認証し、ユーザBのアクセス権限の範囲で、中継サーバ131から受信したクエリの実行を許可する。クラウドシステム32は、クエリに対応する結果データを生成して中継サーバ131に送信する(S29)。中継サーバ131は、結果データをコンテナ121に転送する(S30)。 The relay server 131 transmits the query received from the container 121 and the authentication information received from the management server 132 to the cloud system 32 (S28). The cloud system 32 authenticates the user B using the authentication information received from the relay server 131, and permits the execution of the query received from the relay server 131 within the range of the access authority of the user B. The cloud system 32 generates result data corresponding to the query and sends it to the relay server 131 (S29). The relay server 131 transfers the result data to the container 121 (S30).

図7は、外部アクセスの第3の通信例を示すシーケンス図である。
ここでは、コンテナ121が共有・権限委譲型である場合について説明する。ユーザAは、端末装置33を用いて管理サーバ132にコンテナ起動要求を送信する(S40)。コンテナ起動要求は、ユーザAのユーザ情報を含み、コンテナタイプとして共有・権限委譲型を指定する。管理サーバ132は、コンテナ起動要求に含まれるユーザ情報を用いてユーザAを認証し、起動するコンテナ121にコンテナIDを付与し、コンテナ121を起動させる。また、管理サーバ132は、コンテナ起動要求に含まれるユーザ情報からユーザAの仮キーを生成し、コンテナ121に送信する(S41)。仮キーは、例えば、ユーザIDとパスワードとコンテナIDを含むデータを暗号化した暗号データである。
FIG. 7 is a sequence diagram showing a third communication example of external access.
Here, a case where the container 121 is a shared / delegated authority type will be described. User A transmits a container start request to the management server 132 using the terminal device 33 (S40). The container start request includes the user information of user A, and specifies the shared / authority delegation type as the container type. The management server 132 authenticates the user A using the user information included in the container start request, assigns a container ID to the container 121 to be started, and starts the container 121. Further, the management server 132 generates a temporary key of the user A from the user information included in the container start request and transmits it to the container 121 (S41). The temporary key is, for example, encrypted data obtained by encrypting data including a user ID, a password, and a container ID.

コンテナ121を起動したユーザAと異なるユーザBは、端末装置33aを用いてコンテナ121に接続する(S42)。コンテナ121がクラウドシステム32にアクセスするとき、コンテナ121は、コンテナ121に設定されたユーザAの仮キーを抽出する。コンテナ121は、クエリと仮キーを中継サーバ131に送信する(S43)。 User B, which is different from user A who started the container 121, connects to the container 121 by using the terminal device 33a (S42). When the container 121 accesses the cloud system 32, the container 121 extracts the temporary key of the user A set in the container 121. The container 121 sends a query and a temporary key to the relay server 131 (S43).

中継サーバ131は、コンテナ121から受信した仮キーを管理サーバ132に送信する(S44)。管理サーバ132は、中継サーバ131から受信した仮キーの正当性および有効性を検証し、仮キーに対応するユーザAの認証情報を取得する。管理サーバ132は、認証情報を記憶していてもよいし、データ分析システム31が有する他のサーバから認証情報を受信してもよいし、一時的認証情報をクラウドシステム32から受信してもよい。管理サーバ132は、認証情報を中継サーバ131に送信する(S45)。 The relay server 131 transmits the temporary key received from the container 121 to the management server 132 (S44). The management server 132 verifies the validity and validity of the temporary key received from the relay server 131, and acquires the authentication information of the user A corresponding to the temporary key. The management server 132 may store the authentication information, may receive the authentication information from another server of the data analysis system 31, or may receive the temporary authentication information from the cloud system 32. .. The management server 132 transmits the authentication information to the relay server 131 (S45).

中継サーバ131は、コンテナ121から受信したクエリと管理サーバ132から受信した認証情報とを、クラウドシステム32に送信する(S46)。クラウドシステム32は、中継サーバ131から受信した認証情報を用いてユーザAを認証し、ユーザAのアクセス権限の範囲で、中継サーバ131から受信したクエリの実行を許可する。クラウドシステム32は、クエリに対応する結果データを生成して中継サーバ131に送信する(S47)。中継サーバ131は、結果データをコンテナ121に転送する(S48)。 The relay server 131 transmits the query received from the container 121 and the authentication information received from the management server 132 to the cloud system 32 (S46). The cloud system 32 authenticates the user A using the authentication information received from the relay server 131, and permits the execution of the query received from the relay server 131 within the range of the access authority of the user A. The cloud system 32 generates result data corresponding to the query and sends it to the relay server 131 (S47). The relay server 131 transfers the result data to the container 121 (S48).

このように、非共有型コンテナは、非共有型コンテナを起動したユーザであって、非共有型コンテナを使用する唯一のユーザの仮キーを保持する。非共有型コンテナは、仮キーを用いて中継サーバにアクセスする。中継サーバは、仮キーから当該ユーザの認証情報を取得し、当該ユーザのアクセス権限に基づいてクラウドシステム32にアクセスする。 In this way, the non-shared container holds the temporary key of the user who started the non-shared container and is the only user who uses the non-shared container. The non-shared container uses the temporary key to access the relay server. The relay server acquires the authentication information of the user from the temporary key and accesses the cloud system 32 based on the access authority of the user.

共有・個別認証型コンテナは、仮キーを保持しない。共有・個別認証型コンテナは、共有・個別認証型コンテナを現在使用しているユーザにユーザ情報を要求し、入力されたユーザ情報に基づいて現在のユーザの仮キーを取得し、中継サーバにアクセスする。中継サーバは、現在のユーザの仮キーから現在のユーザの認証情報を取得し、現在のユーザのアクセス権限に基づいてクラウドシステム32にアクセスする。 Shared / individual authentication type container does not hold temporary key. The shared / individual authentication type container requests user information from the user who is currently using the shared / individual authentication type container, acquires the temporary key of the current user based on the entered user information, and accesses the relay server. do. The relay server acquires the authentication information of the current user from the temporary key of the current user, and accesses the cloud system 32 based on the access authority of the current user.

共有・権限委譲型コンテナは、共有・権限委譲型コンテナを定義したオーナーや非共有型コンテナを起動したユーザなどの代表者の仮キーを保持する。共有・権限委譲型コンテナは、代表者の仮キーを用いて中継サーバにアクセスする。中継サーバは、代表者の仮キーから代表者の認証情報を取得し、現在のユーザのアクセス権限ではなく代表者のアクセス権限に基づいてクラウドシステム32にアクセスする。 The shared / delegated authority container holds a temporary key of a representative such as the owner who defined the shared / delegated authority container and the user who started the non-shared container. The sharing / delegation type container accesses the relay server using the temporary key of the representative. The relay server acquires the authentication information of the representative from the temporary key of the representative, and accesses the cloud system 32 based on the access authority of the representative instead of the access authority of the current user.

図8は、コンテナの仮キーおよび管理サーバのテーブルの例を示す図である。
コンテナ121は、仮キー141を記憶することがある。仮キー141は、コンテナ121が使用するRAMの記憶領域に記憶されてもよく、コンテナ121の環境変数の値であってもよい。仮キー141は、ユーザAのユーザIDと、ユーザAのパスワードと、コンテナ121のコンテナIDとを連結した文字列の暗号文である。
FIG. 8 is a diagram showing an example of a temporary key of a container and a table of a management server.
The container 121 may store the temporary key 141. The temporary key 141 may be stored in the storage area of the RAM used by the container 121, or may be the value of the environment variable of the container 121. The temporary key 141 is a ciphertext of a character string in which the user ID of the user A, the password of the user A, and the container ID of the container 121 are concatenated.

管理サーバ132は、ユーザテーブル142、コンテナテーブル143および認証情報テーブル144を記憶する。ただし、認証情報テーブル144が管理サーバ132以外のサーバに記憶されてもよい。また、管理サーバ132が、クラウドシステム32へのアクセス毎にクラウドシステム32に一時認証情報の発行を要求する場合、データ分析システム31が認証情報テーブル144を保持していなくてもよい。 The management server 132 stores the user table 142, the container table 143, and the authentication information table 144. However, the authentication information table 144 may be stored in a server other than the management server 132. Further, when the management server 132 requests the cloud system 32 to issue temporary authentication information every time the cloud system 32 is accessed, the data analysis system 31 does not have to hold the authentication information table 144.

ユーザテーブル142は、複数のユーザのユーザ情報を記憶する。ユーザテーブル142に記憶されたユーザ情報は、データ分析システム31の中でのユーザ認証に使用される。各ユーザ情報は、ユーザIDとパスワードを含む。コンテナテーブル143は、データ分析システム31で稼働中である1以上のコンテナのコンテナ情報を記憶する。各コンテナ情報は、コンテナIDとコンテナタイプを含む。 The user table 142 stores user information of a plurality of users. The user information stored in the user table 142 is used for user authentication in the data analysis system 31. Each user information includes a user ID and a password. The container table 143 stores the container information of one or more containers operating in the data analysis system 31. Each container information includes a container ID and a container type.

認証情報テーブル144は、複数のユーザの認証情報を記憶する。認証情報テーブル144では、ユーザ情報と認証情報とが対応付けられている。認証情報テーブル144に記憶された認証情報は、クラウドシステム32によって発行された認証情報である。管理サーバ132は、端末装置33,33aからユーザ情報と認証情報を受信して認証情報テーブル144に登録してもよい。各認証情報は、キーIDと秘密情報を含む。管理サーバ132は、あるユーザのユーザIDとパスワードを取得すると、認証情報テーブル144から、対応するキーIDと秘密情報を検索する。 The authentication information table 144 stores authentication information of a plurality of users. In the authentication information table 144, the user information and the authentication information are associated with each other. The authentication information stored in the authentication information table 144 is the authentication information issued by the cloud system 32. The management server 132 may receive user information and authentication information from the terminal devices 33 and 33a and register them in the authentication information table 144. Each authentication information includes a key ID and confidential information. When the management server 132 acquires the user ID and password of a certain user, the management server 132 searches the authentication information table 144 for the corresponding key ID and secret information.

次に、コンテナ121、中継サーバ131および管理サーバ132の処理を説明する。
図9は、コンテナ処理の手順例を示すフローチャートである。
(S50)コンテナ121は、起動後に管理サーバ132から仮キーを受信したか判断する。管理サーバ132から仮キーを受信した場合はステップS51に処理が進み、仮キーを受信していない場合はステップS52に処理が進む。
Next, the processing of the container 121, the relay server 131, and the management server 132 will be described.
FIG. 9 is a flowchart showing an example of a container processing procedure.
(S50) The container 121 determines whether or not the temporary key has been received from the management server 132 after the startup. If the temporary key is received from the management server 132, the process proceeds to step S51, and if the temporary key is not received, the process proceeds to step S52.

(S51)コンテナ121は、受信した仮キーをコンテナ121の中に保存する。
(S52)コンテナ121は、管理サーバ132から停止が指示されたか判断する。管理サーバ132から停止が指示された場合はコンテナ処理が終了し、停止が指示されていない場合は処理がステップS53に進む。
(S51) The container 121 stores the received temporary key in the container 121.
(S52) The container 121 determines whether the stop is instructed by the management server 132. If the management server 132 instructs to stop, the container process ends, and if the stop is not instructed, the process proceeds to step S53.

(S53)コンテナ121は、外部サービスへのアクセスの要求を検出する。
(S54)コンテナ121は、コンテナ121の中に仮キーが保存されているか判断する。コンテナ121の中に仮キーが保存されている場合は処理がステップS57に進み、仮キーが保存されていない場合は処理がステップS55に進む。
(S53) The container 121 detects a request for access to an external service.
(S54) The container 121 determines whether the temporary key is stored in the container 121. If the temporary key is stored in the container 121, the process proceeds to step S57, and if the temporary key is not stored, the process proceeds to step S55.

(S55)コンテナ121は、コンテナ121に現在接続しているユーザに対して、ユーザIDとパスワードを含むユーザ情報の入力を要求する。
(S56)コンテナ121は、入力されたユーザ情報を管理サーバ132に送信し、ユーザ情報に対応する仮キーを管理サーバ132から受信する。
(S55) The container 121 requests the user currently connected to the container 121 to input user information including a user ID and a password.
(S56) The container 121 transmits the input user information to the management server 132, and receives the temporary key corresponding to the user information from the management server 132.

(S57)コンテナ121は、外部サービスへの要求を示すクエリと、ステップS54またはステップS56で得られる仮キーを、中継サーバ131に送信する。
(S58)コンテナ121は、ステップS57に対する外部サービスの応答を示す結果データを、中継サーバ131から受信する。そして、処理がステップS52に戻る。
(S57) The container 121 transmits a query indicating a request to the external service and the temporary key obtained in step S54 or step S56 to the relay server 131.
(S58) The container 121 receives the result data indicating the response of the external service to the step S57 from the relay server 131. Then, the process returns to step S52.

図10は、中継サーバ処理の手順例を示すフローチャートである。
(S60)中継サーバ131は、コンテナ121からクエリと仮キーを受信する。
(S61)中継サーバ131は、仮キーを管理サーバ132に送信し、仮キーに対応する外部サービスの認証情報を管理サーバ132から受信する。
FIG. 10 is a flowchart showing a procedure example of relay server processing.
(S60) The relay server 131 receives the query and the temporary key from the container 121.
(S61) The relay server 131 transmits the temporary key to the management server 132, and receives the authentication information of the external service corresponding to the temporary key from the management server 132.

(S62)中継サーバ131は、クエリと認証情報を外部サービスに送信する。
(S63)中継サーバ131は、クエリに対する応答を示す結果データを外部サービスから受信し、結果データをコンテナ121に転送する。
(S62) The relay server 131 sends a query and authentication information to an external service.
(S63) The relay server 131 receives the result data indicating the response to the query from the external service, and transfers the result data to the container 121.

図11は、管理サーバ処理の手順例を示すフローチャートである。
(S70)管理サーバ132は、ユーザからコンテナ起動要求を受信したか判断する。コンテナ起動要求を受信した場合は処理がステップS71に進み、コンテナ起動要求を受信していない場合は処理がステップS75に進む。
FIG. 11 is a flowchart showing a procedure example of the management server process.
(S70) The management server 132 determines whether or not the container start request has been received from the user. If the container start request is received, the process proceeds to step S71, and if the container start request is not received, the process proceeds to step S75.

(S71)管理サーバ132は、コンテナ起動要求に含まれるユーザ情報の正当性を検証した上で、コンテナIDを割り当ててコンテナ121を起動する。なお、ユーザ情報の検証に失敗した場合、管理サーバ132は、ユーザにエラーを通知する。 (S71) The management server 132 starts the container 121 by assigning the container ID after verifying the validity of the user information included in the container start request. If the verification of the user information fails, the management server 132 notifies the user of the error.

(S72)管理サーバ132は、コンテナ起動要求で指定されたコンテナタイプが共有・個別認証型であるか判断する。共有・個別認証型の場合は処理がステップS75に進み、非要求型または共有・権限委譲型の場合は処理がステップS73に進む。 (S72) The management server 132 determines whether the container type specified in the container start request is a shared / individual authentication type. In the case of the shared / individual authentication type, the process proceeds to step S75, and in the case of the non-request type or the shared / delegated authority type, the process proceeds to step S73.

(S73)管理サーバ132は、ユーザ情報とコンテナIDから仮キーを生成する。
(S74)管理サーバ132は、仮キーをコンテナ121に送信する。
(S75)管理サーバ132は、コンテナ121からユーザ情報を受信したか判断する。コンテナ121からユーザ情報を受信した場合は処理がステップS76に進み、ユーザ情報を受信していない場合は処理がステップS78に進む。
(S73) The management server 132 generates a temporary key from the user information and the container ID.
(S74) The management server 132 transmits the temporary key to the container 121.
(S75) The management server 132 determines whether or not the user information has been received from the container 121. If the user information is received from the container 121, the process proceeds to step S76, and if the user information is not received, the process proceeds to step S78.

(S76)管理サーバ132は、受信したユーザ情報の正当性を検証した上で、ユーザ情報とコンテナ121のコンテナIDから仮キーを生成する。なお、ユーザ情報の検証に失敗した場合、管理サーバ132は、コンテナ121にエラーを通知する。 (S76) The management server 132 generates a temporary key from the user information and the container ID of the container 121 after verifying the validity of the received user information. If the verification of the user information fails, the management server 132 notifies the container 121 of the error.

(S77)管理サーバ132は、仮キーをコンテナ121に送信する。
図12は、管理サーバ処理の手順例を示すフローチャート(続き)である。
(S78)管理サーバ132は、中継サーバ131から仮キーを受信したか判断する。中継サーバ131から仮キーを受信した場合は処理がステップS79に進み、仮キーを受信していない場合は処理がステップS82に進む。
(S77) The management server 132 transmits the temporary key to the container 121.
FIG. 12 is a flowchart (continued) showing an example of the management server processing procedure.
(S78) The management server 132 determines whether or not the temporary key has been received from the relay server 131. If the temporary key is received from the relay server 131, the process proceeds to step S79, and if the temporary key is not received, the process proceeds to step S82.

(S79)管理サーバ132は、仮キーからユーザ情報とコンテナIDを抽出する。
復号に失敗した場合、管理サーバ132は、中継サーバ131にエラーを通知する。
(S80)管理サーバ132は、コンテナIDの有効性を検証する。例えば、管理サーバ132は、コンテナIDがコンテナテーブル143に登録されていることを確認する。検証に失敗した場合、管理サーバ132は、中継サーバ131にエラーを通知する。
(S79) The management server 132 extracts the user information and the container ID from the temporary key.
If the decryption fails, the management server 132 notifies the relay server 131 of the error.
(S80) The management server 132 verifies the validity of the container ID. For example, the management server 132 confirms that the container ID is registered in the container table 143. If the verification fails, the management server 132 notifies the relay server 131 of the error.

(S81)管理サーバ132は、ユーザ情報に対応する認証情報を取得する。例えば、管理サーバ132は、認証情報テーブル144から、ユーザ情報に対応する認証情報を検索する。また、例えば、管理サーバ132は、クラウドシステム32にユーザ情報を送信して、ユーザ情報に対応する一時認証情報の発行を要求する。管理サーバ132は、取得した認証情報を中継サーバ131に送信する。 (S81) The management server 132 acquires the authentication information corresponding to the user information. For example, the management server 132 searches the authentication information table 144 for the authentication information corresponding to the user information. Further, for example, the management server 132 transmits the user information to the cloud system 32 and requests the issuance of the temporary authentication information corresponding to the user information. The management server 132 transmits the acquired authentication information to the relay server 131.

(S82)管理サーバ132は、ユーザからコンテナ停止要求を受信したか判断する。コンテナ停止要求を受信した場合は処理がステップS83に進み、コンテナ停止要求を受信していない場合は管理サーバ処理が終了する。 (S82) The management server 132 determines whether or not the container stop request has been received from the user. If the container stop request is received, the process proceeds to step S83, and if the container stop request is not received, the management server process ends.

(S83)管理サーバ132は、コンテナ121を停止してコンテナIDを無効化する。例えば、管理サーバ132は、コンテナテーブル143からコンテナIDを削除する。
このように、第2の実施の形態のデータ分析システム31は、複数のユーザが使用可能なコンテナを作成することができる。よって、データ分析業務を柔軟に遂行できる。また、複数のユーザのうちの代表者が他のユーザにアクセス権限を委譲することができ、他のユーザが個別に認証情報を入力しなくてもコンテナはクラウドシステム32にアクセスできる。よって、ユーザの負担が軽減されて操作性が向上する。
(S83) The management server 132 stops the container 121 and invalidates the container ID. For example, the management server 132 deletes the container ID from the container table 143.
As described above, the data analysis system 31 of the second embodiment can create a container that can be used by a plurality of users. Therefore, the data analysis work can be performed flexibly. Further, the representative of the plurality of users can delegate the access authority to the other user, and the container can access the cloud system 32 without the other user individually inputting the authentication information. Therefore, the burden on the user is reduced and the operability is improved.

また、コンテナはクラウドシステム32の認証情報そのものを保持しない。よって、代表者の認証情報が他のユーザから秘匿され、他のユーザは代表者の認証情報を取得できない。よって、他のユーザが代表者の認証情報を悪用して、コンテナの目的外の操作をクラウドシステム32に対して実行してしまうリスクが低減される。その結果、認証情報の保護が強化され、データ分析システム31のセキュリティが向上する。また、コンテナが停止すると当該コンテナに割り当てられていた仮キーが無効化される。よって、他のユーザが仮キーをコピーして悪用するリスクも低減される。 Further, the container does not hold the authentication information itself of the cloud system 32. Therefore, the authentication information of the representative is kept secret from other users, and the other users cannot acquire the authentication information of the representative. Therefore, the risk that another user misuses the authentication information of the representative and executes an operation other than the purpose of the container on the cloud system 32 is reduced. As a result, the protection of the authentication information is strengthened and the security of the data analysis system 31 is improved. Also, when the container is stopped, the temporary key assigned to the container is invalidated. Therefore, the risk of another user copying the temporary key and misusing it is also reduced.

1 情報処理システム
3 外部システム
10,20 情報処理装置
11 仮想コンピュータ
12,22 認証情報
13,23 メッセージ
1 Information processing system 3 External system 10, 20 Information processing device 11 Virtual computer 12, 22 Authentication information 13, 23 Message

Claims (8)

コンピュータに、
前記コンピュータで動作する仮想コンピュータから、前記仮想コンピュータの属する第1のシステムと異なる第2のシステムにアクセスする場合に、前記仮想コンピュータに設定された情報であって、前記仮想コンピュータを使用可能な複数のユーザのうちの第1のユーザが有する前記第2のシステムのアクセス権限を示す第2の認証情報と関連付いた第1の認証情報を検出し、
前記第2の認証情報にアクセス可能な他のコンピュータに、前記第2のシステムに対する要求を示す第1のメッセージと前記第1の認証情報とを送信し、
前記他のコンピュータから、前記第1のメッセージが示す前記要求に対する前記第2のシステムの応答を示す第2のメッセージを受信する、
処理を実行させる情報処理プログラム。
On the computer
Information set in the virtual computer when accessing a second system different from the first system to which the virtual computer belongs from a virtual computer operating on the computer, and a plurality of information that can use the virtual computer. The first authentication information associated with the second authentication information indicating the access authority of the second system possessed by the first user among the users of the above is detected.
A first message indicating a request for the second system and the first authentication information are transmitted to another computer having access to the second authentication information.
A second message indicating the response of the second system to the request indicated by the first message is received from the other computer.
An information processing program that executes processing.
前記コンピュータに更に、前記第1のユーザが前記仮想コンピュータを起動する際に、前記第1の認証情報を前記仮想コンピュータに設定する処理を実行させる、
請求項1記載の情報処理プログラム。
Further, when the first user starts the virtual computer, the computer is made to execute a process of setting the first authentication information in the virtual computer.
The information processing program according to claim 1.
前記第1のメッセージおよび前記第1の認証情報の送信では、前記複数のユーザのうちの第2のユーザが前記仮想コンピュータを使用しているときに前記第2のシステムにアクセスする場合であっても、前記第1の認証情報を送信する、
請求項1記載の情報処理プログラム。
In the transmission of the first message and the first authentication information, the second user among the plurality of users accesses the second system while using the virtual computer. Also sends the first authentication information,
The information processing program according to claim 1.
前記コンピュータに更に、前記仮想コンピュータに前記第1の認証情報が設定されていない場合、前記仮想コンピュータを使用している第2のユーザからの入力に基づいて、前記第2のユーザが有する前記第2のシステムのアクセス権限を示す第4の認証情報と関連付いた第3の認証情報を取得し、前記第1のメッセージと前記第3の認証情報とを前記他のコンピュータに送信する処理を実行させ、
前記他のコンピュータは、前記第4の認証情報にアクセス可能である、
請求項1記載の情報処理プログラム。
Further, when the first authentication information is not set in the virtual computer, the second user has the first authentication information based on the input from the second user who is using the virtual computer. The process of acquiring the third authentication information associated with the fourth authentication information indicating the access authority of the second system and transmitting the first message and the third authentication information to the other computer is executed. Let me
The other computer has access to the fourth authentication information,
The information processing program according to claim 1.
前記情報処理プログラムは、前記仮想コンピュータの上で実行され、
前記第1のメッセージおよび前記第1の認証情報の送信では、前記仮想コンピュータの通信先を前記第2のシステムから前記他のコンピュータに変更する、
請求項1記載の情報処理プログラム。
The information processing program is executed on the virtual computer and
In the transmission of the first message and the first authentication information, the communication destination of the virtual computer is changed from the second system to the other computer.
The information processing program according to claim 1.
第1の情報処理装置が、前記第1の情報処理装置で動作する仮想コンピュータから、前記仮想コンピュータの属する第1のシステムと異なる第2のシステムにアクセスする場合に、前記仮想コンピュータに設定された第1の認証情報を検出し、
前記第1の情報処理装置が、前記第2のシステムに対する要求を示す第1のメッセージと前記第1の認証情報とを第2の情報処理装置に送信し、
前記第2の情報処理装置が、前記第1の認証情報と関連付いた情報であって、前記仮想コンピュータを使用可能な複数のユーザのうちの第1のユーザが有する前記第2のシステムのアクセス権限を示す第2の認証情報を取得し、
前記第2の情報処理装置が、前記第1のメッセージと前記第2の認証情報とを前記第2のシステムに送信し、前記第1のメッセージが示す前記要求に対する前記第2のシステムの応答を示す第2のメッセージを前記第1の情報処理装置に転送する、
情報処理方法。
The first information processing device is set in the virtual computer when the virtual computer operating in the first information processing device accesses a second system different from the first system to which the virtual computer belongs. Detects the first authentication information and
The first information processing apparatus transmits a first message indicating a request to the second system and the first authentication information to the second information processing apparatus.
The second information processing apparatus is information related to the first authentication information, and is accessible to the second system by the first user among a plurality of users who can use the virtual computer. Obtain the second authentication information indicating the authority,
The second information processing apparatus transmits the first message and the second authentication information to the second system, and responds to the request indicated by the first message by the second system. The second message shown is transferred to the first information processing apparatus.
Information processing method.
自装置で動作する仮想コンピュータから、前記仮想コンピュータの属する第1のシステムと異なる第2のシステムにアクセスする場合に、前記仮想コンピュータに設定された情報であって、前記仮想コンピュータを使用可能な複数のユーザのうちの第1のユーザが有する前記第2のシステムのアクセス権限を示す第2の認証情報と関連付いた第1の認証情報を検出する処理部と、
前記第2の認証情報にアクセス可能な他の情報処理装置に、前記第2のシステムに対する要求を示す第1のメッセージと前記第1の認証情報とを送信し、前記他の情報処理装置から、前記第1のメッセージが示す前記要求に対する前記第2のシステムの応答を示す第2のメッセージを受信する通信部と、
を有する情報処理装置。
Information set in the virtual computer when accessing a second system different from the first system to which the virtual computer belongs from a virtual computer operating in the own device, and a plurality of information that can use the virtual computer. A processing unit that detects the first authentication information associated with the second authentication information indicating the access authority of the second system possessed by the first user among the users of the above.
A first message indicating a request for the second system and the first authentication information are transmitted to another information processing device that can access the second authentication information, and the other information processing device can send the first message and the first authentication information. A communication unit that receives a second message indicating the response of the second system to the request indicated by the first message, and a communication unit.
Information processing device with.
自装置で動作する仮想コンピュータから、前記仮想コンピュータの属する第1のシステムと異なる第2のシステムにアクセスする場合に、前記仮想コンピュータに設定された第1の認証情報を検出し、前記第2のシステムに対する要求を示す第1のメッセージと前記第1の認証情報とを送信する第1の情報処理装置と、
前記第1のメッセージと前記第1の認証情報とを受信し、前記第1の認証情報と関連付いた情報であって、前記仮想コンピュータを使用可能な複数のユーザのうちの第1のユーザが有する前記第2のシステムのアクセス権限を示す第2の認証情報を取得し、前記第1のメッセージと前記第2の認証情報とを前記第2のシステムに送信し、前記第1のメッセージが示す前記要求に対する前記第2のシステムの応答を示す第2のメッセージを前記第1の情報処理装置に転送する第2の情報処理装置と、
を有する情報処理システム。
When accessing a second system different from the first system to which the virtual computer belongs from a virtual computer operating in the own device, the first authentication information set in the virtual computer is detected, and the second system is detected. A first information processing device that transmits a first message indicating a request to the system and the first authentication information, and a first information processing device.
The first user among a plurality of users who have received the first message and the first authentication information and are associated with the first authentication information and can use the virtual computer The second authentication information indicating the access authority of the second system to be possessed is acquired, the first message and the second authentication information are transmitted to the second system, and the first message indicates. A second information processing apparatus that transfers a second message indicating the response of the second system to the request to the first information processing apparatus, and a second information processing apparatus.
Information processing system with.
JP2020161590A 2020-09-28 2020-09-28 Information processing program, information processing method, information processing device, and information processing system Pending JP2022054500A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020161590A JP2022054500A (en) 2020-09-28 2020-09-28 Information processing program, information processing method, information processing device, and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020161590A JP2022054500A (en) 2020-09-28 2020-09-28 Information processing program, information processing method, information processing device, and information processing system

Publications (1)

Publication Number Publication Date
JP2022054500A true JP2022054500A (en) 2022-04-07

Family

ID=80998062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020161590A Pending JP2022054500A (en) 2020-09-28 2020-09-28 Information processing program, information processing method, information processing device, and information processing system

Country Status (1)

Country Link
JP (1) JP2022054500A (en)

Similar Documents

Publication Publication Date Title
CN108628658B (en) License management method and device for container
US9288213B2 (en) System and service providing apparatus
CN111698228A (en) System access authority granting method, device, server and storage medium
JP4186987B2 (en) Database access control method, database access control device, database access control program, and recording medium storing the program
JP6390123B2 (en) Information processing system and authentication information providing method
US7478220B2 (en) Method, apparatus, and product for prohibiting unauthorized access of data stored on storage drives
CN112433817B (en) Information configuration method, direct storage access method and related device
CN102404314A (en) Remote resources single-point sign on
JP4855516B2 (en) Access control program, access control device, and access control method
US9438629B2 (en) Sensitive information leakage prevention system, sensitive information leakage prevention method, and computer-readable recording medium
JP2013045278A (en) Access management device
US11063922B2 (en) Virtual content repository
US20220070206A1 (en) Secure device selection based on sensitive content detection
CN113342711B (en) Page table updating method and device and related equipment
CN108521424B (en) Distributed data processing method for heterogeneous terminal equipment
US20190361726A1 (en) Computer system and resource access control method
EP2429146B1 (en) Method and apparatus for authenticating access by a service
JP4345309B2 (en) Network storage device
US20220385596A1 (en) Protecting integration between resources of different services using service-generated dependency tags
CN108616517B (en) High-reliability cloud platform service providing method
JP2022054500A (en) Information processing program, information processing method, information processing device, and information processing system
JP5949552B2 (en) Access control information generation system
CN112416525B (en) Device driver initialization method, direct storage access method and related device
CN108449358B (en) Cloud-based low-delay secure computing method
JP2020009274A (en) Application information providing system and application information providing method