Database access control system, computer, method and program
The database access control system distributes access control responsibilities between a security server and client-side agents to manage database security without overburdening the server, ensuring effective access control and system reliability.
Patent Information
- Application Number
- JP2024119490
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-25
- Publication Date
- 2026-02-05
AI Technical Summary
Existing database access control systems struggle to perform access control without imposing a security-related load on the database server, making it difficult to block unauthorized access effectively.
A database access control system that distributes the responsibility of access control between a security server computer and a security agent on the client computer, sharing the check processing to reduce the load on the database server.
The system effectively controls access to the database server without imposing a security-related load, enhancing security while minimizing the risk of system bottlenecks and improving availability and maintainability.
Smart Images

Figure 2026018254000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a database access control system, a client computer, a security server computer, a database access control method, and a program. [Background technology]
[0002] Patent document 1 discloses a database access history acquisition system that aims to acquire access history without omissions, and to acquire which records were accessed in real time without degrading the performance of normal operations even when a large number of items are acquired. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2009-276930 Summary of the Invention [Problem to be solved by the invention]
[0004] However, although the system described in Patent Document 1 can detect unauthorized access, it is difficult to perform access control such as blocking access. Furthermore, it is desirable that such access control imposes a small load on the database server.
[0005] Therefore, there is a need for the development of technology that controls access to a database server without imposing a security burden on the database server.
[0006] An object of the present disclosure is to provide a database access control system and the like that can control access to a database server without imposing a security-related load on the database server. [Means for solving the problem]
[0007] The database access control system according to the present disclosure comprises a database server computer having a database server that manages a database, and a security server computer that is installed independently of a client computer that accesses the database, wherein the client computer has a security client that manages security for access to the database server, and the database server computer has a security agent that manages security for access to the database server, and the security server computer, the security client, and the security agent share the responsibility of performing check processing associated with access to the database, and after passing the check processing, execution data indicating instructions to the database server and data indicating a response to the instructions are sent and received between the client computer and the database server.
[0008] The client computer according to the present disclosure is a computer that accesses a database, and the check processing associated with accessing the database is shared and performed by a database server computer equipped with a database server that manages the database, a security server computer installed independently of the client computer, a security client equipped on the client computer that manages security for access to the database server, and a security agent equipped on the database server computer that manages security for access to the database server, and after passing the check processing, execution data indicating instructions to the database server and data indicating a response to the instructions are sent and received between the client computer and the database server.
[0009] The security server computer of the present disclosure is installed independently of a database server computer equipped with a database server that manages a database and a client computer that accesses the database, and the check process associated with access to the database is shared and performed by the security server computer, a security client equipped in the client computer that manages security for access to the database server, and a security agent equipped in the database server computer that manages security for access to the database server, and the check process includes a process in which the security client first makes an access permission request to the security server computer and the security server computer performs access permission control at the network level to the security agent.
[0010] The database access control method disclosed herein is a method in which a client computer accessing a database divides the check processing associated with accessing the database among a database server computer equipped with a database server that manages the database, a security server computer installed independently of the client computer, a security client equipped on the client computer that manages security for access to the database server, and a security agent equipped on the database server computer that manages security for access to the database server, and after passing the check processing, sends and receives execution data indicating instructions to the database server and data indicating a response to the instructions between the client computer and the database server.
[0011] Another database access control method according to the present disclosure is a method in which a database server computer equipped with a database server that manages a database and a security server computer installed independently of client computers that access the database share and execute a check process associated with access to the database among the security server computer, a security client provided on the client computer that manages security for access to the database server, and a security agent provided on the database server computer that manages security for access to the database server, and the check process includes a process in which the security client first makes an access permission request to the security server computer, and the security server computer then controls access permission at the network level to the security agent.
[0012] The program of the present disclosure causes a client computer accessing a database to execute a check process associated with accessing the database, the check process being shared among a database server computer equipped with a database server that manages the database, a security server computer installed independently of the client computer, a security client equipped on the client computer that manages security for access to the database server, and a security agent equipped on the database server computer that manages security for access to the database server; and a process of sending and receiving execution data indicating instructions to the database server and data indicating a response to the instructions between the database server and the client computer after the check process has passed.
[0013] Another program related to the present disclosure is a program that causes a database server computer equipped with a database server that manages a database and a security server computer installed independently of client computers that access the database to perform check processing associated with access to the database, with the check processing being shared among the security server computer, a security client provided on the client computer that manages security for access to the database server, and a security agent provided on the database server computer that manages security for access to the database server, and the check processing includes processing in which the security client first makes an access permission request to the security server computer and the security server computer then performs access permission control at the network level on the security agent. [Effects of the Invention]
[0014] According to the present disclosure, it is possible to provide a database access control system or the like that is capable of controlling access to a database server without imposing a security-related load on the database server. [Brief explanation of the drawings]
[0015] [Figure 1] 1 is a block diagram showing a configuration example of a DB system according to the present disclosure. [Figure 2] FIG. 10 is a flow diagram illustrating an example of processing by a DB security client according to the present disclosure. [Figure 3] FIG. 10 is a flow diagram illustrating an example of processing by a DB security server according to the present disclosure. [Figure 4] FIG. 2 is a block diagram illustrating an example configuration of a DB server computer according to the present disclosure. [Figure 5] FIG. 2 is a block diagram illustrating an example configuration of a DB security server computer according to the present disclosure. [Figure 6]FIG. 2 is a block diagram illustrating an example configuration of a DB client computer according to the present disclosure. [Figure 7] FIG. 10 is a flow diagram illustrating an example of processing in the DB system according to the present disclosure. [Figure 8] This is a flow chart continuing from FIG. 7. [Figure 9] FIG. 1 is a diagram illustrating an example of a hardware configuration of a computer according to the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0016] Hereinafter, embodiments will be described with reference to the drawings. In the embodiments, the same or equivalent elements may be denoted by the same reference numerals, and redundant description will be omitted as appropriate.
[0017] <First Embodiment> An example configuration of a database (hereinafter referred to as DB) system 1 will be described using Fig. 1. Fig. 1 is a block diagram showing an example configuration of a DB system according to the present disclosure. In the following description, when simply referring to a "client" and a "server," they refer to a client program and a server program, respectively, and are distinguished from a client computer and a server computer, respectively.
[0018] 1 includes a DB server computer 11, a DB security server computer 12, and three DB client computers 131, 132, and 133, which are connected via a network. Note that in FIG. 1 and the following description, an example including three DB client computers 131, 132, and 133 is given, but the DB system 1 may include one or two DB client computers, or may include four or more DB client computers.
[0019] The DB server computer 11 includes a DB server 112, which is DB software that is the target of security, and a DB security agent 111 that performs security control for the DB server 112. The DB server computer 11 also includes a firewall 113. The DB security agent 111 manages security for access to the DB server 112, and can be called a security agent or a security management unit.
[0020] The DB server 112 may be commercially available DB software, such as Oracle Database or Microsoft SQL Server. Oracle, Oracle Database, Microsoft, and Microsoft SQL Server are all registered trademarks. SQL stands for Structured Query Language.
[0021] DB client computer 131 includes DB client 131a and DB security client 131b. Similarly, DB client computer 132 includes DB client 132a and DB security client 132b. Furthermore, DB client computer 133 includes DB client 133a and DB security client 133b. The DB security client manages security for access to DB server 112, and can be called a security client or a security management unit.
[0022] The DB clients 131a, 132a, and 133a basically have the same configuration, and the DB security clients 131b, 132b, and 133b also basically have the same configuration. Therefore, in the following, the DB clients 131a, 132a, and 133a will be described without distinction as the DB client 13a. Also, in the following, the DB security clients 131b, 132b, and 133b will be described without distinction as the DB security client 13b. Of course, the DB client computers 131, 132, and 133 may differ from one another in configurations other than the DB client 13a and DB security client 13b, but in the following, they will all be described without distinction as the DB client computer 13.
[0023] The DB client computer 13 includes, as a DB client 13a, a program such as commercially available software or specially developed business software that accesses the DB server 112 used in business and uses the DB managed by the DB server 112. The DB client computer 13 also includes a DB security client 13b that controls access from the DB client 13a to the DB server 112 in order to realize DB security according to this embodiment.
[0024] The DB security server computer 12 is a computer that performs overall security control of DB security, and includes as its main component a DB security server 121. The DB security server 121 is configured with software that performs DB security control, which is the core of security measures.
[0025] Each of the DB server computer 11, DB security server computer 12, and DB client computer 13 may include a control unit (not shown). This control unit controls the entire computer. This control unit may include, for example, a processing unit such as a CPU or GPU, a working memory, and a storage device that stores control programs, parameters, etc. Note that CPU stands for Central Processing Unit, and GPU stands for Graphics Processing Unit. This control unit may be configured to store control programs in an executable state.
[0026] If the computer is the DB server computer 11, DB security agent 111, DB server 112, and firewall 113 are stored executable as the control programs. If the computer is the DB security server computer 12, DB security server 121 is stored executable as the control program. If the computer is the DB client computer 13, DB client 13a and DB security client 13b are stored executable as the control programs.
[0027] However, the control unit of the computer may be configured to store part or all of the control program as a circuit configuration such as an FPGA (field-programmable gate array), or may be configured as a dedicated circuit. As an example, the DB server computer 11 may store the DB security agent 111, DB server 112, and part of the firewall 113 as the control program in an executable manner. In this case, the DB server computer 11 may be provided with the remaining part of the firewall 113 as a hardware-type, i.e., gateway-type, firewall.
[0028] The above-described DB system 1 may be referred to as a DB access control system because it controls access to a DB. However, the DB access control system according to this embodiment only needs to include at least the DB security agent 111, DB security client 13b, and DB security server computer 12 of the DB system 1.
[0029] Next, access control in the DB system 1 will be described using Figures 2 and 3. Note that this access control is control related to DB security, and therefore can also be referred to as security control. Here, using Figure 2, an example of processing by the DB client computer 13 in the DB system 1 will be described, focusing on an example of processing by the DB security client 13b. At the same time, using Figure 3, an example of processing by the DB security server computer 12 in the DB system 1 will be described, focusing on an example of processing by the DB security server 121. Figure 2 is a flow diagram for describing an example of processing by the DB security client 13b according to the present disclosure. Figure 3 is a flow diagram for describing an example of processing by the DB security server 121 according to the present disclosure.
[0030] In the following, control from the DB client computer 131 out of the multiple DB client computers 13 will be described as an example, but control from other DB client computers such as the DB client computers 132 and 133 is similar.
[0031] First, a user uses DB client 131a, such as a business application, to perform a connection operation to DB server 112. When DB client 131a connects to DB server 112, the access from DB client 131a is executed via DB security client 131b. Therefore, DB security client 131b determines whether or not this connection operation has been received from DB client 131a (step S1). If the answer is NO in step S1, that is, if the connection operation has not been received, the DB security client 131b waits for reception.
[0032] When the result of step S1 is YES, DB security client 131b inquires of DB security server 121 whether or not access to DB server 112, which is the connection destination from DB client 131a, is permitted (step S2).
[0033] The DB security server 121 determines whether or not a query has been received from a DB client 13a such as the DB client 131a (step S3). If the answer is NO in step S3, that is, if a query has not been received, the DB security server 121 waits for reception.
[0034] When the result of step S3 is YES, DB security server 121 checks whether DB client 13a that made the inquiry is permitted to access DB server 112 (step S4). In this example, the source of the inquiry is DB client 131a. If the result of step S4 is NO, DB security server 121 returns a message indicating that the access is not permitted, and then ends the process.
[0035] If the answer is YES in step S4, the DB security server 121 notifies the DB security agent 111 of the DB server computer 11 that connection to the inquired DB client 131a is permitted (step S5).
[0036] Upon receiving this notification of permission to connect, DB security agent 111 controls firewall 113 to enable DB client 131a to access DB server 112. DB security agent 111 then notifies DB security server 121 that connection is now permitted.
[0037] Therefore, DB security server 121 determines whether or not such a notification has been received (step S6). If the result in step S6 is NO, DB security server 121 waits for the notification. If the result in step S6 is YES, that is, if DB security server 121 receives notification from DB security agent 111 that connection is now possible, DB security server 121 notifies DB security client 131b that connection permission has been granted (step S7), and ends the process.
[0038] Following step S2, DB security client 131b determines whether or not the notification sent in step S7 has been received (step S8). If the result in step S8 is NO, DB security client 131b notifies DB client 131a that connection permission has not been granted, and ends the process.
[0039] If the answer is YES in step S8, that is, if DB security client 131b receives notification from DB security server 121 that connection is permitted, DB security client 131b establishes a connection between DB client 131a and DB server 112 (step S9) and terminates the process. The connection is established in step S9 by DB security client 131b passing the connection request from DB client 131a to DB server 112 via firewall 113.
[0040] After the connection is established in step S9, data is transmitted and received between the DB client computer 13 and the DB server 112. That is, in this embodiment, after passing through a check process such as access control, transmission and reception of execution data indicating an instruction to the DB server 112 and data indicating a response to that instruction are performed between the DB client computer 13 and the DB server 112. In other words, in this embodiment, only transmission and reception of the execution data and data indicating a response are performed between the DB client computer 13 and the DB server 112 after passing through a check process.
[0041] The following describes the processing in the DB system 1 regarding malicious security bypass operations. In the above-mentioned connection processing, if an unauthorized DB client 131a makes a connection request to the DB server 112, the DB system 1 can respond as follows: In this case, the DB security agent 111 controls access to the DB server 112, preventing the DB client 131a from connecting to the DB server 112.
[0042] Furthermore, the DB system 1 can respond as follows to unauthorized access that bypasses security by, for example, stopping the DB security client 131b on the DB client computer 131. That is, in response to such unauthorized access, an access permission request is not sent to the DB security server 112, so that access is blocked on the DB server computer 11 side, and access due to unauthorized operations on the DB client 131a side can be avoided.
[0043] As described above, the DB system 1 is a DB system that uses the commonly used DB server 112, and introduces the DB security client 13b and DB security agent 111 as DB security software. Furthermore, the DB system 1 is provided with a DB security server computer 12 that includes a DB security server 121 that controls the DB security software, and coordinates and controls the software. Through this coordinated control, the DB system 1 can prevent unauthorized access from the DB client 13a to the DB server 112, that is, achieve DB security that protects the DB server 112 from such unauthorized access.
[0044] In particular, in the DB system 1, the function of protecting the DB from unauthorized acquisition or tampering of data due to unauthorized access to the DB can be performed by access control that does not impose a security load on the DB server 112. Then, in the DB system 1, after a secure connection is established, the DB client 13a accesses the DB server 112 without going through the DB security server 121, thereby avoiding a high load on the DB server 112.
[0045] As described above, according to this embodiment, access control to DB server 112 can be performed without imposing a security-related load on DB server 112. That is, according to this embodiment, the security of DB server 112 can be maintained through access control while avoiding load concentration on DB security server 121 and DB security agent 111.
[0046] More specifically, in this embodiment, DB access control can be achieved in communication between the DB client 13a and the DB server 112 without going through a single DB security server 121. This is because access control is achieved by a method in which it is performed on the DB client computer 13 side.
[0047] In this embodiment, DB security control is performed on the DB client computer 13 side, thereby making it possible to reduce the load on the DB server 112. The reason for this is that, unlike a method in which security checks for all DB accesses from DB clients are performed on the DB server or DB security server, in this embodiment, load balancing is performed. In this embodiment, this load balancing is realized by performing the security check, which imposes the greatest load, within each DB client computer 13.
[0048] Furthermore, in this embodiment, the cost of introducing DB security can be reduced. This is because there is little configuration required on the DB server 112, the DB security server computer 12 can be installed anywhere network communication is possible, and there is no need to simultaneously configure the DB clients 13a that use the DB server 112. Furthermore, the DB clients 13a can achieve access control without requiring changes to the network path. This is because the structure of this embodiment allows it to be introduced without changing the existing network configuration. Furthermore, for these reasons, it can be said that this embodiment can be easily introduced in stages into an existing DB system.
[0049] In this embodiment, by introducing such DB security, security can be strengthened in the following situations: In other words, this embodiment can strengthen security for systems in which DBs are installed in companies, strengthen security for protecting personal information in systems that handle personal information in DBs, and take measures against unauthorized information leaks within a company by employees.
[0050] In addition, in this embodiment, since the network load of the DB security server 121 itself is small, the DB security server computer 12 can be installed in environments where network performance is poor, such as remote locations, and disaster recovery measures are also easy to implement.
[0051] To supplement the effects of this embodiment, methods according to comparative examples 1 to 3 will be described as methods for realizing DB security.
[0052] In the method according to Comparative Example 1, when a DB client accesses a DB server, a DB security server is installed on the communication path, and access to the DB server is made via that server. This method is a gateway method in which all communications from the DB client to the DB server are analyzed within the DB security server to detect and block unauthorized access. With this method, the DB security server temporarily receives and analyzes all communications from the DB client, so the performance of the DB security server becomes a bottleneck. Furthermore, with this method, there is a significant risk that if a failure occurs in the DB security server, all access to the DB server will be stopped, causing system operations to come to a halt.
[0053] The method according to Comparative Example 2 is an unauthorized access detection method that uses DB server log analysis software installed in the DB server. This method performs DB server log analysis within the DB server, which not only places a heavy load on the DB server itself, but also makes it difficult to ensure high performance when saving logs to files and analyzing those logs. Furthermore, even if this method can detect unauthorized access, it is difficult to perform access control such as blocking access.
[0054] The method according to Comparative Example 3 is a packet capture method that analyzes communication data by capturing data on a network. This method does not put a load on the DB server, so performance can be ensured, but even if unauthorized access is detected, it does not serve as a means to block the access.
[0055] As described above, there are problems with performance and access control functions in the methods according to Comparative Examples 1 to 3. In contrast, the present embodiment solves the problems that arise in the methods according to Comparative Examples 1 to 3, and can control access to a DB server without placing a heavy load on the DB server.
[0056] In fact, not only is personal information leaking due to external hacking of DB systems a problem, but leaks of personal information by company employees are also becoming a problem, and DB security products are being developed to address this issue.
[0057] However, as explained in Comparative Examples 1 to 3, the DB security functions currently on the market are difficult to build, and there are cases where the DB security functions become a bottleneck due to insufficient performance caused by increased DB access load. In addition, there are concerns that the business itself may be halted due to a system failure caused by the aforementioned high load on the DB security function itself, and so while the need for DB security itself is understood, there is a strong tendency to shy away from it.
[0058] These factors are due to the fact that database security functions are implemented by placing them on or in front of the database server as a gateway through which communications are routed, which can become a bottleneck in performance and system reliability, and requires a review of the network, making implementation more difficult.
[0059] On the other hand, in this embodiment, DB security is realized by placing control that could become a bottleneck in DB security functions on the DB client side, which is a terminal. In this embodiment, by placing DB security client 13b in DB client 13a, it is possible to distribute the load of DB security control and there is an advantage in that the scope of system shutdown in the event of a failure can be minimized. Furthermore, in this embodiment, such a configuration makes it possible to move away from a configuration in which data passes through a specific single point, thereby eliminating system bottlenecks and enabling improved availability and maintainability through system multiplexing.
[0060] In addition, placing the DB security client 13b on the DB client computer 13 side also makes it easier to collect DB client information, and by automatically sending this information to the DB security server 121, it becomes possible to automatically collect and set information on the DB client 13a and DB server 112 to be monitored, thereby simplifying operations.
[0061] <Embodiment 2> The second embodiment will be described, focusing on the differences from the first embodiment. The DB server computer 21, DB security server computer 22, and DB client computer 23 will be described using Figures 4, 5, and 6, respectively. Figure 4 is a block diagram showing an example configuration of a DB server computer according to the present disclosure. Figure 5 is a block diagram showing an example configuration of a DB security server computer according to the present disclosure. Figure 6 is a block diagram showing an example configuration of a DB client computer according to the present disclosure.
[0062] The DB system according to this embodiment can be configured by connecting a DB server computer 21 shown in Fig. 4, a DB security server computer 22 shown in Fig. 5, and a DB client computer 23 shown in Fig. 6 via a network. Each configuration example of this DB system will be described below, focusing on the differences from embodiment 1. For example, the components shown in Figs. 4 to 6 that have the same names as the components in Fig. 1 can be referenced in the description of each component in Fig. 1, so the differences between them will be mainly described.
[0063] [DB Server Computer 21] The DB server computer 21 shown in Fig. 4 is an example of the DB server computer 11 in Fig. 1. The DB server computer 21 is a computer on which a DB server 212, which is commercially available software, and a DB security agent 211, which is separately installed software, are installed, and is a computer to be protected by security functions.
[0064] [DB Security Agent 211] The DB security agent 211 is software that communicates with the DB security client 231 of the DB client computer 23 and controls access to the DB server 212, and is software on the DB server computer 21. The DB security agent 211 includes an access control unit 2111 and an operation check control unit 2112.
[0065] [Access control unit 2111] The access control unit 2111 communicates with the DB security client 231 and the DB security server 221 on the DB security server computer 22 , and controls the firewall 213 to perform security control on the DB server 212 .
[0066] [Operation check control section 2112] The operation check control unit 2112 monitors the operation status of the DB security client 231 and the DB security server 221, and notifies the access control unit 2111 of the overall status of the DB system.
[0067] [DB Server 212] The DB server 212 is commercially available DB server software, and is software that is subject to security.
[0068] [Firewall 213] The firewall 213 is a network firewall implemented in the operating system of the DB server computer 21 .
[0069] [DB Security Server Computer 22] The DB security server computer 22 shown in Fig. 5 is an example of the DB security server computer 12 in Fig. 1. The DB security server computer 22 is a computer installed for DB security, and has a DB security server 221 installed therein.
[0070] [DB Security Server 221] The DB security server 221 centrally manages the DB server 212 that is the monitoring target for security protection. For this management, the DB security server 221 manages access permissions to the DB server 221 from the DB client 232 and the control method from the DB client 232 in accordance with the security policy 2204 of the DB security server 221. The DB security server 221 manages the above security policy 2204 and authentication data 2207. The DB security server 221 also includes an access control unit 2201, an authentication control unit 2202, a security policy (SP) data synchronization processing unit 2203, a DB security management control unit 2205, and an operation check control unit 2206.
[0071] [Access control unit 2201] The access control unit 2201 of the DB security server 221 is a program that receives an access permission / denial command from the DB client 232 and controls whether or not to permit access from the DB client 232 .
[0072] This access control unit 2201 receives an access permission / denial command from the access control unit 2111 of the DB security agent 211, and controls whether or not to grant access from the DB client 232 based on that command. The access control unit 2201 also has a function of receiving an access permission / denial command from the operation check control unit 2112 of the DB security agent 211 when, for example, an abnormality occurs in the DB security server 221.
[0073] [Authentication control unit 2202] The authentication control unit 2202 is a program that executes the following when the DB client 232 accesses the DB server 212. That is, the authentication control unit 2202 is a program for confirming connection permission to determine whether the DB client 232 is permitted to access, based on the authentication data 2207. The authentication control unit 2202 is also a program for requesting the DB security server 221 to control access to the DB server 212.
[0074] [SP data synchronization processing unit 2203] The SP data synchronization control unit 2203 transmits the security policy 2204 managed by the DB security server 221 to the DB security client 231 running on each DB client computer 23. The operation of this SP data synchronization control unit 2203 maintains the consistency of security for the DB server 212 of the entire DB system.
[0075] [Security Policy 2204] The security policy 2204 is information defined to determine whether data transmission or reception is permitted for access data to the DB server 212. The security policy 2204 is information defined to deny access to a specific table in the DB in the DB server 212, deny access from a specific DB user, or to determine and control based on a combination of these pieces of information.
[0076] [DB Security Management Control Unit 2205] The DB security management control unit 2205 is an integrated control unit that controls the overall security of the DB system. The DB security management control unit 2205 centrally manages the DB servers 212, DB clients 232, and security policies 2204 and 2304 that are the monitoring targets. The DB security management control unit 2205 controls and manages the entire DB system, targeting the monitoring targets that exist within the DB system network.
[0077] [Operation check control section 2206] The operation check control unit 2206 is a control unit that performs keep-alive communication between the DB client computer 23, the DB server computer 21, and the DB security server computer 22, and checks whether each computer is operating normally. The operation check control unit 2206 uses the access control unit 2201 to control access between each computer according to the operating status of each computer.
[0078] [Authentication Data 2207] The authentication data 2207 is data indicating information defining access permission from the DB client 232 to the DB server 212. The authentication data 2207 can be data indicating information defining, for example, a range of IP (Internet Protocol) addresses or a user ID for which access is permitted. The authentication data 2207 is acquired by the authentication control unit 2202 and used as determination information for authentication processing. The authentication data 2207 can be referenced by the security policy 2204 and used.
[0079] [DB client computer 23] The DB client computer 23 shown in Fig. 6 is an example of the DB client computer 13 shown as DB client computers 131, 132, and 133 in Fig. 1. The DB client computer 23 includes a DB client, i.e., a DB client program, provided by a DB developer / manufacturer, and a DB security client, i.e., a DB security client program. The DB client computer 23 is a computer that is subject to security monitoring.
[0080] In the DB client computer 23, a DB client 232, which is software provided by the manufacturer of the DB server 212, and a DB security client 231, which is software that monitors the communications of the DB client 232, are installed.
[0081] [DB Security Client 231] The DB security client 231 is software for realizing DB security on the DB client computer 23. The DB security client 231 relays and monitors access from the DB client 232, and performs access control.
[0082] The DB security client 231 operates based on the settings of the DB security server 221, receives and analyzes communications from users of the DB client 232, and has the function of controlling access to the DB server 212 according to the analysis results. The DB security client 231 manages a security policy 2304 and includes an access control unit 2301, an authentication control unit 2302, an SP data synchronization processing unit 2303, an operation check control unit 2306, and an access data analysis unit 2307.
[0083] [Access control unit 2301] The access control unit 2301 on the DB security client 231 is a program that captures communication data from the DB client 232 to the DB server 212 and controls the transmission and reception of data to and from the DB server 212 according to the data content.
[0084] The access control unit 2301 determines whether or not data can be transmitted or received by sending the received data to the access data analysis unit 2307 to have the access data analysis unit 2307 determine whether or not access is permitted.
[0085] Furthermore, the access control unit 2301 acquires the operating status from the operation check control unit 2306 and detects abnormalities in the DB security server 221. If the access control unit 2301 detects an abnormality, it executes a control command that is specified in advance for the access control unit 2301, and operates so that access from the DB client 232 operates in accordance with the security policy 2304. When an abnormality occurs in the DB security server 221, the access control unit 2301 functions as a control unit that ensures appropriate operation of the entire DB system and prevents user operations from being interrupted.
[0086] [Authentication control unit 2302] The authentication control unit 2302 of the DB security client 231 is a control unit that verifies the authentication of access to the specified DB server 212 from the authentication control unit 2202 of the DB security server 221. The authentication control unit 2302 receives a connection request to the DB server 212 sent from the authentication control unit 2202 of the DB security server 221. In accordance with this connection request, the authentication control unit 2302 controls the access control unit 2111 of the DB security agent 211 to allow or deny access from the DB client 232.
[0087] [SP data synchronization processing unit 2303] The SP data synchronization processing unit 2303 acquires the security policy 2204 from the DB security server 221 as data for the security policy 2304 of the DB security client 231. The SP data synchronization processing unit 2303 then controls synchronization of the acquired security policy 2204 with the security policy 2304 on the DB security client 231.
[0088] [Security Policy 2304] The security policy 2304 of the DB security client 231 is data that is a copy and synchronization of the security policy 2204 of the DB security server 221 .
[0089] [Operation check control section 2306] An operation check control unit 2306 of the DB security client 231 communicates with an operation check control unit 2206 of the DB security server 221, checks the operating status of the DB security server 221, and notifies the access control unit 2301 of the check status.
[0090] [Access Data Analysis Section 2307] The access data analysis unit 2307 is a data analysis unit that analyzes whether or not access data to the DB server 212, which is transmitted from the DB client 232 via the access control unit 2301, violates the security policy 2304. The access data analysis unit 2307 then determines whether or not an access violation has occurred based on the analysis results. The access data analysis unit 2307 uses the communication data of the DB client 232 and the data of the security policy 2304 as input data to be analyzed, collates them, and performs access judgment, returning the result to the access control unit 2301.
[0091] [DB Client 232] This is software installed in the DB client computer 23 for accessing the DB managed by the DB server 212. The DB client 232 is created and provided by a DB manufacturer or a DB user. The DB client 232 is an interface that enables users of the DB system to access the DB server 212.
[0092] Next, a processing example in the DB system described above will be described with reference to Fig. 7 and Fig. 8. Fig. 7 is a flow diagram for explaining an example of processing in the DB system according to the present disclosure. Fig. 8 is a flow diagram following Fig. 7.
[0093] In the DB system according to this embodiment, first, access control is performed to allow DB clients to access the DB server.
[0094] [Access Control (Permission Control)] When a connection request is made from the DB client 232 to the DB server 212 (step S311), the DB security client 231 checks the DB security server 221 for abnormalities (step S321).
[0095] Regarding this abnormality check, it is advisable to provide a keep-alive function for DB security server 221 within the systems of DB security client 231 and DB security agent 211. This makes it possible for this abnormality check to detect whether or not an abnormality has occurred in DB security server 221.
[0096] If no abnormality is found in step S321, that is, if the result is normal, DB security client 231 checks whether the stored security policy 2304 is up to date (step S322). Furthermore, after the control of step S341, the process also proceeds to step S322. The process of step S322 may be performed periodically.
[0097] If security policy 2304 is not the latest, DB security client 231 obtains the latest security policy from DB security server 221. After updating security policy 2304 to the latest state, DB security client 231 checks security policy 2304. Then, DB security client 231 determines whether DB security client 231 installed in DB client computer 23 is permitted by DB security server 221 to access DB server 212.
[0098] The security policy 2304 holds information indicating a policy that defines permission from the DB client 232 to the DB server 212. If the access is permitted by this security policy 2304, the DB security client 231 queries the DB security server 221.
[0099] In step S322, DB security client 231 not only checks security policy 2304, but also determines whether DB security server 221 is normal or abnormal. For example, if security policy 2304 cannot be updated or checked, DB security server 221 can be determined to be abnormal. Note that in Figure 7, DB security server is abbreviated as DBSS.
[0100] If the DB security server 221 is abnormal, the DB security client 231 requests the DB security agent 211 installed on the DB server computer 21 side to grant access permission (step S323).
[0101] If DB security server 221 is normal, DB security client 231 notifies DB security server 221 of this fact. Upon receiving this notification, DB security server 221 checks the security policy to determine whether or not access to DB server 212 is permitted from the inquired DB client 232 (step S331). In step S331, whether or not access is permitted is determined by checking security policy 2204 in DB security server 221.
[0102] If the access does not violate security policy 2204, that is, if access is permitted, DB security server 221 requests DB security agent 211 to grant access (step S332). On the other hand, if the access does violate security policy 2204, DB security server 221 notifies DB client 232 that access is denied.
[0103] In response to the access permission request in step S323 or step S332, DB security agent 211 checks whether to grant permission, that is, whether to open access (step S342). If DB security agent 211 does not grant permission, it notifies DB client 232 of the denial.
[0104] If the DB security agent 211 issues permission, it controls the firewall 213 of the operating system (step S343). This control allows the DB client 232 to connect to the DB server 212 (step S351).
[0105] In step S351, DB security agent 211, which has changed the settings to allow access from DB client 232, returns an access permission response to DB security server 221. Upon receiving this response, DB security server 221 returns an access permission response to DB security client 231. Upon receiving the access permission response from DB security server 221, access control unit 2301 of DB security client 231 performs control to allow access to DB server 212 from DB client 232. This control enables access to DB server 212 from DB client 232.
[0106] [Access to DB server 212 (data acquisition, update)] In this state where the connection between the DB client 232 and the DB server 212 is established, the DB client 232 accepts a DB operation from the user, and executes the SQL that indicates the DB operation (step S312).
[0107] In step S312, the execution of SQL from the DB client 232 to the DB server 212 is performed via the DB security client 231. That is, the DB client 232 passes SQL indicating a DB operation to the DB security client 231. The DB operation is an operation including access from the DB client 232 to the DB server 212.
[0108] Upon receiving the SQL, the DB security client 231 checks the received SQL (step S324). In step S324, the DB security client 231 first captures the execution data indicated by the SQL, compares it with the security policy 2304, and checks for any violation of the security policy. This check can be a check for any violation of the policy regarding the SQL described in the security policy 2304.
[0109] If there is a security policy violation, DB security client 231 returns a message to that effect to DB client 232. On the other hand, if there is no security policy violation, access control unit 2301 of DB security client 231 sends SQL to DB server 212. Upon receiving this SQL, the DB server executes the SQL by processing the execution command indicated by the SQL (step S352), generates return data as a response, and returns it to DB security client 231 (step S353).
[0110] Upon receiving the return data, DB security client 231 checks whether the return data violates security policy 2304 (step S325). If there is no problem, DB security client 231 transmits the return data to DB client 232 (step S326). Upon receiving the return data, DB client 232 acquires the return data as the SQL execution result (step S313) and terminates the process.
[0111] As explained in the processing from step S351 onwards, after passing through check processing such as access control and security policy check, SQL execution and the transmission and reception of the returned data are carried out between the DB client computer 23 and the DB server 212. The SQL execution and the returned data are examples of execution data indicating an instruction to the DB server 212 and data indicating a response to that instruction. In other words, in this embodiment, only SQL execution and the transmission and reception of the returned data after passing through check processing are carried out between the DB client computer 23 and the DB server 212.
[0112] On the other hand, if the check in step S325 finds a problem, the DB security client 231 returns an error to the DB client 232 and disconnects the connection between the DB client 232 and the DB server 212. As a result, the connection between the DB client 232 and the DB server 212 is cut off.
[0113] [DB Security Server 221 Abnormality] If an abnormality is detected in DB security server 221 in step S321, DB security client 231 notifies DB security agent 211 of the abnormality. Upon receiving the abnormality, DB security agent 211 performs abnormality control (step S341) to control whether or not access from DB client 232 is permitted.
[0114] In this case, if a method different from the method of this embodiment were used, for example, via a DB security server, the communication path would be cut off, making it impossible to access the DB server and causing operation to stop. However, in this embodiment, communication between the DB client 232 and the DB server 212 does not go through the DB security server 221, and the DB client computer 23 can directly access the DB server computer 21. Therefore, in this embodiment, if priority is placed on continuing DB operation, the following control can also be performed. That is, the operation check control unit 2112 of the DB security agent 211 can control fail software to allow the access control unit 2111 to allow connection from the DB client 232. By using this control, the connection from the DB client 232 can be released, preventing operation from stopping.
[0115] When all of the following first to fourth conditions are met, DB security agent 211 may permit the connection request from DB client 232 to allow communication from DB client 232 to continue with DB server 212. The first condition is that DB security server 221 is abnormal. The second condition is that the access is permitted by security policy 2304 held in DB security client 231. The third condition is that the connection request is direct from DB client 232. The fourth condition is that fail-soft control is set.
[0116] As such, this embodiment is advantageous in that it can build a fail-soft configuration that prevents business interruptions even in the unlikely event that a failure occurs in the DB security server 221. In fact, the DB system according to this embodiment is structured so that the main control in terms of the configuration is located on the DB client computer 23 side. Therefore, in this embodiment, even when fail-soft control is implemented in the event of a failure in the DB security server 221, a structure can be added in which the DB security client 231 collects access records. Therefore, it is possible to create a mechanism that continues to collect DB access records even under fail-soft control.
[0117] Furthermore, regarding control in the event of an abnormality, multiplexing, such as duplication of DB security servers 221, can be easily achieved by deploying multiple DB security servers 221. If the access control unit 2301 holds information about the multiple DB security servers 221 to be multiplexed, processing by the DB security client 231 is possible. This makes it possible to improve availability without changing the access path from the DB client 232 to the DB server 212. This also eliminates the need for the above-mentioned fail-soft control.
[0118] The reason that multiplexing can be easily achieved is that in this embodiment, the computers or programs that make up the DB system are loosely coupled, and communication with DB client 232 does not go through DB security client 231. This is because, when DB security client 231 makes an access control request to DB security server 221, if an abnormality is detected in the first DB security server 221, an inquiry can be made to another of the multiple installed DB security servers 221.
[0119] [Unauthorized access control] For example, if DB security is processed on the DB client side, it is possible that the DB server may be accessed illegally by bypassing the security functions, for example by forcibly stopping the DB security client. However, in the method of this embodiment, the DB security client 231 first issues an access permission request to the DB security server 221. Furthermore, in the method of this embodiment, the DB security server 221 controls access permission at the network level to the DB security agent 211 of the DB server computer 21. Therefore, in the method of this embodiment, the DB client 232 cannot access the DB server 212 by illegally bypassing communication, making it possible to prevent unauthorized access.
[0120] [Encryption process] Furthermore, in the method of this embodiment, since both the DB client 232 and the DB server 212 communicate via an access control unit, communication is possible even if a cryptographic processing unit is added to each access control unit. The cryptographic processing unit performs encryption and decryption processes. Therefore, in this embodiment, such a cryptographic processing unit may be added, and by such addition, data on the network can be encrypted. In this case, data exchanged between the DB client computer 23 and the DB server computer 21 is data encrypted by the cryptographic processing unit.
[0121] In fact, recent DB systems independently encrypt data on the network, which makes it impossible for DB security systems to collect DB transmission / reception data on the network. In response to this, incorporating encryption processing units into the access control units on both sides, as described above, provides the following effects. This makes it possible to obtain DB transmission / reception data only in the DB system according to this embodiment, and even if there are multiple types of DB servers 212 on the system, it becomes possible to achieve encrypted communication only in the DB system according to this embodiment.
[0122] The DB system according to this embodiment has been described above. In addition to the effects described in the first embodiment, the DB system according to this embodiment also provides the following effects, for example.
[0123] Furthermore, DB security server 221 checks the operating status of DB security client 231. If DB security server 221 detects any unauthorized operation, such as stopping DB security client 231 after a connection has been established, DB security server 221 notifies DB security agent 211. Upon receiving this notification, DB security agent 211 can then control firewall 213 to cut off the connection.
[0124] This embodiment can also handle abnormal operation due to a system problem in the DB system 1. First, in this embodiment, the DB security client 231 and DB security agent 211 constantly check the operating status of the DB security server 221. Then, in this embodiment, the security policy, which is security definition information held in the DB security server 221, is kept up to date on the DB security client 231 side as well.
[0125] Therefore, if a problem with DB security server 221 prevents DB client 232 from accessing DB server 112, DB security client 231 detects that an abnormality has occurred in DB security server 221. In this case, DB security agent 211 also detects that an abnormality has occurred in DB security server 221. If business is to be given priority at this time, fail-soft control can be enabled by setting DB security agent 211 to control firewall 213 and temporarily open access from DB client 232. DB security client 231 then switches control to direct access to DB server 212 based on security policy 2304 stored internally, making it possible to continue accessing DB server 212.
[0126] In this embodiment, these controls enable complete access control for the security of DB server 212 while avoiding load concentration on DB security server 221 and DB security agent 211. Furthermore, in this embodiment, such access control can also be introduced in stages into existing systems.
[0127] Furthermore, in this embodiment, it is also possible to monitor the content of data sent from the DB client 232 to the DB server 212. Specifically, after connecting to the DB server 212, the DB security client 231 can check all execution data, such as SQL, sent from the DB client 232 via the DB security client 231. At this time, the DB security client 231 allows access to the DB server 212 only when permitted SQL is executed, thereby realizing DB security. Particularly in this embodiment, this control is not performed by the DB server or DB security server, but is controlled on the DB client computer 23 side using the control method described above, thereby ensuring security while enabling system load distribution.
[0128] <Other> In each embodiment, a DB system, a DB access control system, and a DB access control method have been described. However, the system configuration, the configuration of each computer that constitutes the system, and the processing procedures are not limited to those exemplified, and may include any device functions and method steps. Furthermore, each computer described in each embodiment may have the following hardware configuration. Figure 9 is a diagram showing an example of the hardware configuration of a computer according to the present disclosure.
[0129] The computer 1000 shown in FIG. 9 may include a processor 1001, a memory 1002, and an interface (I / F) 1003. The processor 1001 may be, for example, a microprocessor, a microprocessor unit (MPU), a CPU, or a GPU. The processor 1001 may include multiple processors. The memory 1002 is configured, for example, by a combination of a volatile memory and a non-volatile memory. The functions of each computer described in each embodiment are realized by the processor 1001 reading and executing a program stored in the memory 1002. In this case, for example, information can be sent and received with other computers via a communication interface serving as the I / F 1003. Furthermore, input and output for operating the computer 1000 can be performed via an input / output interface serving as the I / F 1003.
[0130] Some or all of the processes in each computer described above can be implemented as a computer program. The program described above includes instructions (or software code) that, when loaded into a computer, cause the computer to perform one or more functions described in the embodiments. The program may be stored in a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, computer-readable media or tangible storage media include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD-ROM, digital versatile disc (DVD), Blu-ray (registered trademark) disc or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may also be transmitted on a transitory computer-readable medium or communication medium. By way of example and not limitation, transitory computer-readable media or communication media include electrical, optical, acoustic, or other forms of propagated signals.
[0131] Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, each embodiment can be combined with other embodiments as appropriate.
[0132] Each drawing is merely an example for describing one or more embodiments. Each drawing may relate not only to one particular embodiment, but also to one or more other embodiments. As will be understood by those skilled in the art, various features or steps described with reference to any one drawing can be combined with features or steps shown in one or more other drawings to create, for example, an embodiment not explicitly shown or described. Not all features or steps shown in any one drawing are necessary to describe an exemplary embodiment, and some features or steps may be omitted. The order of steps described in any drawing may be changed as appropriate.
[0133] A part or all of the above-described embodiments can be described as, but not limited to, the following supplementary notes. (Appendix 1) a database server computer having a database server that manages a database, and a security server computer that is installed independently of client computers that access the database; the client computer includes a security client that manages security for access to the database server; the database server computer includes a security agent that manages security for access to the database server; a check process associated with access to the database is shared and executed by the security server computer, the security client, and the security agent; After passing the check process, execution data indicating an instruction to the database server and data indicating a response to the instruction are transmitted and received between the client computer and the database server. Database access control system. (Appendix 2) the checking process includes a process of first making an access permission request from the security client to the security server computer, and then having the security server computer perform access permission control at a network level to the security agent; 10. The database access control system of claim 1. (Appendix 3) each of the security client and the security agent includes a cryptographic processing unit, and data transmitted and received between the client computer and the database server computer is encrypted by the cryptographic processing unit; 3. The database access control system according to claim 1 or 2. (Appendix 4) The check process includes a security policy check. 3. The database access control system according to claim 1 or 2. (Appendix 5) A client computer that accesses a database, a security server computer installed independently of the client computer, a security client installed in the client computer and managing security for access to the database server, and a security agent installed in the database server computer and managing security for access to the database server, the security server computer sharing the check processing associated with access to the database being performed by the client computer; After passing the check process, execution data indicating an instruction to the database server and data indicating a response to the instruction are transmitted and received between the database server and the database server. Client computer. (Appendix 6) A database server computer having a database server that manages a database and a security server computer that is installed independently of a client computer that accesses the database, a security client provided in the client computer for managing security for access to the database server, and a security agent provided in the database server computer for managing security for access to the database server, and the security server computer and the security agent are responsible for the execution of a check process associated with access to the database; the checking process includes a process of first making an access permission request from the security client to the security server computer, and then having the security server computer perform access permission control at a network level to the security agent; Security server computer. (Appendix 7) The client computer accessing the database a security server computer installed independently of the client computer, a security client installed in the client computer and managing security for access to the database server, and a security agent installed in the database server computer and managing security for access to the database server, the security server computer sharing the check processing associated with access to the database being performed by the client computer; After passing the check process, execution data indicating an instruction to the database server and data indicating a response to the instruction are transmitted and received between the database server and the database server. Database access control methods. (Appendix 8) a database server computer having a database server for managing a database and a security server computer installed independently of a client computer accessing the database, a security client provided in the client computer for managing security for access to the database server, and a security agent provided in the database server computer for managing security for access to the database server, and the security server computer and the security agent are responsible for the execution of a check process associated with access to the database; the checking process includes a process of first making an access permission request from the security client to the security server computer, and then having the security server computer perform access permission control at a network level to the security agent; Database access control methods. (Appendix 9) On the client computer that accesses the database, a process of executing a check process associated with access to the database by sharing the tasks among a database server computer having a database server that manages the database, a security server computer that is installed independently of the client computer, a security client that is installed in the client computer and manages security for access to the database server, and a security agent that is installed in the database server computer and manages security for access to the database server; a process of transmitting and receiving execution data indicating an instruction to the database server and data indicating a response to the instruction between the database server and the database server after passing the check process; A program that executes the following. (Appendix 10) A database server computer having a database server that manages a database and a security server computer that is installed independently of client computers that access the database, a security client provided in the client computer and managing security for access to the database server, and a security agent provided in the database server computer and managing security for access to the database server, and the security server computer and managing security for access to the database server share and execute the check processing associated with the access to the database; the checking process includes a process of first making an access permission request from the security client to the security server computer, and then having the security server computer perform access permission control at a network level to the security agent; program.
[0134] Some or all of the elements (e.g., configurations and functions) described in Appendices 2 to 4 that are dependent on the database access control system of Appendix 1 may also be dependent on the client computer of Appendix 5, the database access control method of Appendix 7, and the program of Appendix 9 in the same dependency relationship as Appendices 2 to 4. Some or all of the elements (e.g., configurations and functions) described in Appendices 3 to 4 that are dependent on the database access control system of Appendix 1 may also be dependent on the security server computer of Appendix 6, the database access control method of Appendix 8, and the program of Appendix 10 in the same dependency relationship as Appendices 2 to 4. Some or all of the elements described in any Appendices may be applied to various hardware, software, recording means for recording software, systems, and methods. [Explanation of symbols]
[0135] 1 DB system 11, 21 DB server computer 12, 22 DB security server computer 13, 23, 131, 132, 133 DB client computers 111, 211 DB Security Agent 112, 212 DB servers 113, 213 Firewall (FW) 121, 221 DB security server 131a, 132a, 133a, 232 DB Client 131b, 132b, 133b, 231 DB Security Client 2111 Access control section 2112, 2206, 2306 Operation check control section 2201, 2301 Access control section 2202, 2302 Authentication control unit 2203, 2303 Security policy (SP) data synchronization processing unit 2204, 2304 Security Policy 2205 Database Security Management Control Unit 2207 Authentication Data 2307 Access Data Analysis Department 1000 computers 1001 processor 1002 memory 1003 Interface
Claims
1. a database server computer having a database server that manages a database, and a security server computer that is installed independently of a client computer that accesses the database; the client computer includes a security client that manages security for access to the database server; the database server computer includes a security agent that manages security for access to the database server; a check process associated with access to the database is shared and executed by the security server computer, the security client, and the security agent; After passing the check process, execution data indicating an instruction to the database server and data indicating a response to the instruction are transmitted and received between the client computer and the database server. Database access control system.
2. the checking process includes a process of first making an access permission request from the security client to the security server computer, and then having the security server computer perform access permission control at a network level on the security agent; The database access control system according to claim 1 .
3. each of the security client and the security agent includes a cryptographic processing unit, and data transmitted and received between the client computer and the database server computer is encrypted by the cryptographic processing unit; 3. The database access control system according to claim 1.
4. The check process includes a security policy check.
3. The database access control system according to claim 1.
5. a client computer, the client computer is a computer that accesses a database, a security server computer installed independently of the client computer, a security client installed in the client computer and managing security for access to the database server, and a security agent installed in the database server computer and managing security for access to the database server, the security server computer sharing the check processing associated with access to the database being performed by the client computer; After passing the check process, execution data indicating an instruction to the database server and data indicating a response to the instruction are transmitted and received between the database server and the database server. Client computer.
6. 1. A security server computer, comprising: the security server computer is installed independently of a database server computer having a database server that manages a database and a client computer that accesses the database; a security client provided in the client computer for managing security for access to the database server, and a security agent provided in the database server computer for managing security for access to the database server, and the security server computer and the security agent are responsible for carrying out a check process associated with access to the database server; the checking process includes a process of first making an access permission request from the security client to the security server computer, and then having the security server computer perform access permission control at a network level on the security agent; Security server computer.
7. The client computer accessing the database a security server computer installed independently of the client computer, a security client installed in the client computer and managing security for access to the database server, and a security agent installed in the database server computer and managing security for access to the database server, the security server computer sharing the check processing associated with access to the database being performed by the client computer; After passing the check process, execution data indicating an instruction to the database server and data indicating a response to the instruction are transmitted and received between the database server and the database server. Database access control methods.
8. a database server computer having a database server for managing a database and a security server computer installed independently of a client computer accessing the database, a security client provided in the client computer for managing security for access to the database server, and a security agent provided in the database server computer for managing security for access to the database server, and the security server computer and the security agent are responsible for carrying out a check process associated with access to the database server; the checking process includes a process of first making an access permission request from the security client to the security server computer, and then having the security server computer perform access permission control at a network level on the security agent; Database access control methods.
9. On the client computer that accesses the database, a process of executing a check process associated with access to the database by sharing the tasks among a database server computer having a database server that manages the database, a security server computer that is installed independently of the client computer, a security client that is installed in the client computer and manages security for access to the database server, and a security agent that is installed in the database server computer and manages security for access to the database server; a process of transmitting and receiving execution data indicating an instruction to the database server and data indicating a response to the instruction between the database server and the database server after passing the check process; A program that executes the following.
10. A database server computer having a database server that manages a database and a security server computer that is installed independently of client computers that access the database, a security client provided in the client computer and managing security for access to the database server, and a security agent provided in the database server computer and managing security for access to the database server, and the security server computer and managing security for access to the database server share and execute the check processing associated with the access to the database; the checking process includes a process of first making an access permission request from the security client to the security server computer, and then having the security server computer perform access permission control at a network level on the security agent; program.
Citation Information
Patent Citations
Database access history acquisition system
JP2009276930A