Operation execution system, operation execution method, and program
The operation execution system addresses security risks in automated business system operations by managing account IDs and passwords through temporary and permanent change requests, enhancing security and reducing leakage risks.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- NTT TECHNOCROSS CORP
- Filing Date
- 2025-03-27
- Publication Date
- 2026-04-27
AI Technical Summary
Existing automation technologies for business systems using account IDs pose security risks, particularly for organizations with strict security requirements, as users can access these IDs, compromising system security.
An operation execution system that includes a management device and an execution device, where the execution device sends requests for temporary and permanent password changes, and a determination unit in the management device decides on the changes based on script information integrity, ensuring secure password management.
This system enhances security by reducing the risk of account information leakage and ensuring timely password updates without human intervention, thus improving the security of automated operations.
Smart Images

Figure 0007852116000001 
Figure 0007852116000002 
Figure 0007852116000003
Abstract
Description
Technical Field
[0001] The present invention relates to an operation execution system, an operation execution method, and a program.
Background Art
[0002] In recent years, various business systems have been used in companies. For example, in banks, various business systems such as accounting systems and information systems are used to conduct banking operations. Since routine operations such as maintenance work are often performed regularly in these business systems, workers in charge need the account IDs of these business systems for these operations.
[0003] On the other hand, there is a known technique for centrally managing the account IDs of business systems on a server and lending out the account IDs (and their passwords) to workers in charge in response to applications from the responsible persons.
[0004] By the way, in recent years, techniques for automating operations for various tasks that were originally performed manually have become known. For example, a technique for automating operations in the operation of IT systems is known (Patent Document 1). Also, a technique for automatically executing operations for various tasks that were originally performed manually by executing a program described in a script language (hereinafter also simply referred to as a "script") is known, and it is also sold and distributed as a product. In addition to these, techniques such as RPA (Robotic Process Automation) are also known as techniques for automatically executing operations for various tasks that were originally performed manually.
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
Summary of the Invention
[0006] In this case, when automating an operation for a business system, it is necessary to grant execution privileges to the entity performing the operation, based on the account ID (and password) of the business system.
[0007] However, in this case, for example, users of terminals equipped with scripts or RPA that perform the above operations may be able to access the account ID, which poses a security risk. This is particularly problematic for companies and other organizations that impose strict security requirements.
[0008] One embodiment of the present invention has been made in view of the above points, and aims to improve security when automating operations that utilize accounts. [Means for solving the problem]
[0009] To achieve the above objective, an operation execution system according to one embodiment includes a management device for managing account information and an operation execution device that executes one or more scripts, each realizing an operation to change the password included in the account information, wherein the operation execution device has a request unit that, by executing the one or more scripts, sends a request for a temporary change representing a temporary change of the password to the management device, and if the temporary change is successful, sends a request for a permanent change representing a non-temporary change of the password to the management device, wherein the management device has a determination unit that, upon receiving the request for a temporary change or the request for a permanent change, determines whether or not to perform the temporary change or the permanent change, and a response unit that, if it is determined to perform the temporary change or the permanent change, performs the temporary change or the permanent change and sends the result of the temporary change or the permanent change to the operation execution device, wherein the determination unit determines to perform the temporary change or the permanent change if there is no change in the information regarding the one or more scripts. [Effects of the Invention]
[0010] This can improve security when automating operations that utilize accounts. [Brief explanation of the drawing]
[0011] [Figure 1] This figure shows an example of the overall configuration of the operation script execution system according to this embodiment. [Figure 2] This is a diagram (part 1) illustrating an example of a set of scripts (scenarios). [Figure 3] This is a diagram (part 2) illustrating an example of a set of scripts (scenarios). [Figure 4] This figure shows an example of account information. [Figure 5] This figure shows an example of application information. [Figure 6] This is a sequence diagram illustrating an example of the workflow from application to approval. [Figure 7] This sequence diagram illustrates an example of the process when executing a scenario that utilizes account information. [Figure 8] This sequence diagram illustrates an example of the process involved in a scenario where you need to change the password included in your account information. [Modes for carrying out the invention]
[0012] Hereinafter, an embodiment of the present invention (this embodiment) will be described in detail. This embodiment focuses on the case where operations using accounts are automated by script, and describes an operation script execution system 1 that can improve security when automating such operations. In this embodiment, the operation script execution system 1 makes the account specified in the application and approval available based on the application and approval for executing the script, and acquires and uses that account when the script is executed. This makes it possible to improve security when executing a script that automates operations using accounts.
[0013] However, automating account usage operations using scripts is just one example; this embodiment is equally applicable when automation is carried out using RPA or other technologies (for example, machine learning technologies that realize AI (Artificial Intelligence), etc.).
[0014] Hereafter, a script that performs a specific operation will also be referred to as an "operation script." An "operation script" includes, for example, the code, commands, and applications themselves that run a computer, or the instructions that call a program. Furthermore, a set of operation scripts consisting of one or more operation scripts that perform operations to accomplish a single task will be called a "script group" or "scenario."
[0015] <Overall configuration of operation script execution system 1> First, the overall configuration of the operation script execution system 1 according to this embodiment will be described with reference to Figure 1. Figure 1 is a diagram showing an example of the overall configuration of the operation script execution system 1 according to this embodiment.
[0016] As shown in FIG. 1, the operation script execution system 1 according to the present embodiment includes one or more operation script execution terminals 10, an account management device 20, one or more application terminals 30, one or more approval terminals 40, and one or more target servers 50. Further, these terminals, devices, and servers are communicably connected via a communication network N such as the Internet or a LAN (Local Area Network).
[0017] The target server 50 is various business systems and the like that are the targets of operation scripts. The target server 50 is also called a target. A business system is a computer or computer system that provides various functions and applications used in a company's business activities. Note that the business system may include a computer system called a backbone system. Examples of business systems include an accounting system, an accounting system, an information system, a sales management system, a production management system, an inventory management system, an expense settlement system, a personnel management system, and the like.
[0018] Here, the account of the target server 50 (that is, the account ID such as a user ID and the password corresponding to the account ID) is managed by the account management device 20 as account information.
[0019] In addition, in order to perform an operation on the target server 50 by an operation script, it is necessary to grant the execution entity of the operation script the authority corresponding to the operation. Such authority is determined by the account ID used when the execution entity logs in to the target server 50. Account IDs include, for example, IDs with administrator authority such as "root" and "administrator" (so-called "privileged IDs") and other IDs (so-called "general IDs"). Also, even general IDs may have different authorities depending on the account ID.
[0020] The application terminal 30 is a terminal device that submits a workflow application as an application to execute an operation script. Various terminal devices such as a PC (personal computer), smartphone, or tablet can be used as the application terminal 30.
[0021] The application terminal 30 has an application processing unit 301 as its functional unit. The application processing unit 301 executes the processing necessary for submitting a workflow application. The application processing unit 301 is realized by processing that one or more programs installed on the application terminal 30 have the CPU (Central Processing Unit) execute.
[0022] The approval terminal 40 is a terminal device that performs approval (workflow approval) for workflow applications submitted by the application terminal 30. Various terminal devices such as PCs, smartphones, and tablet devices can be used as the approval terminal 40.
[0023] The approval terminal 40 has an approval processing unit 401 as a functional unit. The approval processing unit 401 executes processing for approving workflow applications. The approval processing unit 401 is executed by processing that one or more programs installed on the approval terminal 40 have the CPU execute.
[0024] The account management device 20 is a computer or computer system that manages account information for the target server 50, as well as workflow application information.
[0025] The account management device 20 has a workflow processing unit 201, a response unit 202, and a check unit 203 as its functional units. The account management device 20 also has a storage unit 204.
[0026] The workflow processing unit 201 performs processing related to workflow applications and approvals. For example, the workflow processing unit 201 stores the application information submitted through the workflow application in the storage unit 204, and updates the application information in accordance with the workflow approval (i.e., updates the application information to "approved"). Here, the application information refers to information representing the content of the application submitted through the workflow application and its status (e.g., "pending," "approved," etc.).
[0027] The response unit 202 transmits a response to a request from the operation script execution terminal 10. Examples of requests from the operation script execution terminal 10 include, as described later, requests to obtain account information, requests for temporary registration of a new password, and requests for final registration of a new password.
[0028] The checking unit 203 makes a determination in response to a request from the operation script execution terminal 10 to determine whether or not it is permissible to execute the process corresponding to that request (hereinafter, this determination is also referred to as a "validity check"). For example, in response to an account information acquisition request, the checking unit 203 makes a validity check to determine whether or not it is permissible to acquire the account information related to that request. Similarly, for example, in response to a temporary registration request for a new password, the checking unit 203 makes a validity check to determine whether or not it is permissible to temporarily register the new password related to that request. Similarly, for example, in response to a final registration request for a new password, the checking unit 203 makes a validity check to determine whether or not it is permissible to final register the new password related to that request. Here, temporary registration of a new password means temporarily registering the new password as a temporary password in the account information, and final registration of a new password means changing the password included in the account information to the new password.
[0029] The memory unit 204 stores various types of information. Examples of information stored in the memory unit 204 include account information and application information. Details regarding account information and application information will be described later.
[0030] The workflow processing unit 201, response unit 202, and check unit 203 are implemented by processing that one or more programs installed on the account management device 20 have the CPU execute. The storage unit 204 can be implemented using a storage device provided by the account management device 20 (for example, an auxiliary storage device such as an HDD (Hard Disk Drive) or SSD (Solid State Drive)) or a storage device connected to the account management device 20 via a communication network.
[0031] The operation script execution terminal 10 is a terminal device that executes each operation script that makes up the scenario. Various terminal devices such as PCs, smartphones, and tablet devices can be used as the operation script execution terminal 10.
[0032] The operation script execution terminal 10 has, as functional units, a startup control unit 101, an execution control unit 102, and a request unit 103. The operation script execution terminal 10 also has a storage unit 104.
[0033] The startup control unit 101 controls the startup of a scenario. Here, the startup control unit 101 controls the startup of a scenario by any method. For example, the startup control unit 101 may start a scenario in response to a startup command operation from the user, start a scenario according to a scheduler or the like, or start a scenario corresponding to certain conditions when those conditions are met.
[0034] When a scenario is started by the startup control unit 101, the execution control unit 102 executes each operation script that constitutes the scenario. As a result, each operation script that constitutes the scenario performs a predetermined operation on the target (for example, the target server 50). In this embodiment, at least one of the operation scripts that constitute the scenario includes an instruction statement that implements an operation to obtain account information, etc., of a certain target server 50 (hereinafter also referred to as an "information acquisition instruction statement"), or an instruction statement that implements an operation to provisionally register a new password for a certain target server 50 (hereinafter also referred to as a "provisional registration instruction statement") and an instruction statement that implements an operation to formally register the new password for the target server 50 (hereinafter also referred to as a "formal registration instruction statement").
[0035] The request unit 103 transmits a request (account information acquisition request, temporary registration request for a new password, or final registration request for a new password) corresponding to an instruction based on a predetermined instruction statement (information acquisition instruction statement, temporary registration instruction statement, or final registration instruction statement) included in the operation script executed by the execution control unit 102 to the account management device 20.
[0036] Here, the target of the operation script may be not only the target server 50, but also various application programs installed on the operation script execution terminal 10 (hereinafter also referred to as "local applications 60"). Examples of local applications 60 include various utilities such as file compression / decompression software, and document applications such as spreadsheet software and word processing software. By targeting local applications 60, it becomes possible to process the results of operations on the target server 50 using the local applications 60 (for example, decompressing compressed files using file compression / decompression software, processing them using spreadsheet software, etc.).
[0037] The memory unit 104 stores various types of information. Examples of information stored in the memory unit 104 include information used to execute operation scripts (account ID and password, various parameters, etc.), and information indicating the execution results of operation scripts or the results of intermediate processing.
[0038] The startup control unit 101, execution control unit 102, and request unit 103 are implemented by processes that one or more programs installed on the operation script execution terminal 10 have the CPU execute. The storage unit 104 can be implemented using the storage device (for example, auxiliary storage device such as an HDD or SSD, various types of memory, etc.) provided by the operation script execution terminal 10.
[0039] The configuration of the operation script execution system 1 shown in Figure 1 is an example and is not limited to this configuration; other configurations are also possible. For example, the application terminal 30 and the approval terminal 40 do not need to be separate; the same terminal may function as either the application terminal 30 or the approval terminal 40 depending on the user who has logged into the account management device 20. Alternatively, the application terminal 30 may function as the operation script execution terminal 10. Furthermore, for example, the storage unit 204 of the account management device 20 may be implemented by multiple storage units or a DB (database).
[0040] <Scripts (Scenarios)> Here, we will explain two specific examples of scripts (scenarios), (1) and (2) below.
[0041] (1) Scenario name: Performance information acquisition scenario A scenario in which performance information is acquired from one target server 50 (hereinafter referred to as "Target Server A") and another target server 50 (hereinafter referred to as "Target Server B"), and a report is generated. (2) Scenario name: Password change scenario A scenario to change the passwords of target server A and target server B. ≪Performance Information Acquisition Scenarios≫ An example of a performance information acquisition scenario is shown in Figure 2. The performance information acquisition scenario shown in Figure 2 consists of three operation scripts: operation script 1-1, operation script 1-2, and operation script 1-3, which are executed in the order of operation script 1-1, operation script 1-2, and operation script 1-3.
[0042] First, operation script 1-1 executes the following operations 1-1-1 to 1-1-5 in order.
[0043] Operation 1-1-1: Operation to retrieve account information for target server A. Operation 1-1-2: Log in to target server A. Operation 1-1-3: Operation to execute the performance information output command Operation 1-1-4: Compress the results of the performance information output command and create a compressed file. Operation 1-1-5: Operation to send a compressed file to the operation script execution terminal 10. Note that the above operation 1-1-1 is implemented by an information acquisition command statement.
[0044] Next, operation script 1-2 executes operations 1-2-1 to 1-2-6 in order, for example.
[0045] Operation 1-2-1: Operation to obtain account information for target server B. Operation 1-2-2: Log in to target server B. Operation 1-2-3: For example, operations to obtain a list of files using commands such as dir or ls. Operation 1-2-4: Operation to obtain performance monitor information Operation 1-2-5: Compressing the file list and performance monitor information to create a compressed file. Operation 1-2-6: Operation to send a compressed file to the operation script execution terminal 10. Note that the above operation 1-2-1 is implemented by an information acquisition command statement.
[0046] Finally, operation script 1-3 executes operations 1-3-1 to 1-3-2 in order, for example.
[0047] Operation 1-3-1: Decompress a compressed file received from target server A and a compressed file received from target server B. Operation 1-3-2: Process the unzipped files using a local application 60 (e.g., spreadsheet software) to create a report showing performance information for target server A and target server B. In this way, when each operation script that makes up the scenario is executed on the operation script execution terminal 10, the work content represented by the scenario (in the example shown in Figure 2, the work of acquiring performance information) is realized. At this time, when each operation script that makes up the scenario is executed, the account information necessary for its execution is acquired (for example, operations 1-1-1 and 1-2-1 above). Therefore, the operation script execution terminal 10 does not retain account information for a long period of time, and as a result, it is possible to reduce the risk of leakage of account information, etc.
[0048] ≪Password Change Scenario≫ An example of a password change scenario is shown in Figure 3. The password change scenario shown in Figure 3 consists of operation script 2-1 and operation script 2-2, and operation script 2-1 is executed in that order, followed by operation script 2-2.
[0049] First, operation script 2-1 executes the following operations 2-1-1 to 2-1-5 in order.
[0050] Operation 2-1-1: Operation to obtain account information for target server A. Operation 2-1-2: Operation to generate a new password for target server A. Operation 2-1-3: Operation to temporarily register the new password for target server A in account management device 20. Operation 2-1-4: Change the password of target server A to a new password. Operation 2-1-5: Operation to formally register the new password for target server A in account management device 20. Furthermore, operation 2-1-1 above is implemented by an information acquisition command, operation 2-1-3 above by a provisional registration command, and operation 2-1-5 above by a final registration command.
[0051] Then, operation script 2-2 executes operations 2-2-1 to 2-2-5 in order, for example.
[0052] Operation 2-2-1: Operation to obtain account information for target server B Operation 2-2-2: Operation to generate a new password for target server B. Operation 2-2-3: Operation to temporarily register the new password for target server B in account management device 20. Operation 2-2-4: Change the password of target server B to a new password. Operation 2-2-5: Operation to formally register the new password for target server B in account management device 20. Furthermore, operation 2-2-1 above is implemented by an information acquisition command, operation 2-2-3 above by a provisional registration command, and operation 2-2-5 above by a final registration command.
[0053] In this way, when each operation script that makes up the scenario is executed on the operation script execution terminal 10, the work content represented by the scenario (in the example shown in Figure 3, the password change operation) is realized. At this time, when each operation script that makes up the scenario is executed, the account information necessary for its execution is obtained (for example, operations 2-1-1 and 2-2-1 above). Therefore, the operation script execution terminal 10 does not retain account information for a long period of time, and as a result, the risk of account information leakage is reduced. Furthermore, since the new password is automatically generated by the operation script and the password of the target server 50 is changed, password changes can be made without human intervention, and as a result, the risk of human-induced password leakage (for example, the risk of leakage due to leaving the changed password as a memo) is reduced.
[0054] <Account Information> Next, we will explain account information with reference to Figure 4. Figure 4 is a diagram showing an example of account information. Note that one or more account information entries are stored in the storage unit 204 of the account management device 20.
[0055] As shown in Figure 4, account information includes data items (also referred to as information items or attributes) such as "target server," "account ID," "password," and "temporary password."
[0056] The "Target Server" field contains information that identifies the target server 50 (for example, a target name representing the name of the target server 50). The "Account ID" field contains the account ID of the target server 50. The "Password" field contains the password corresponding to the account ID (the registered password). The "Temporary Password" field contains a temporary password corresponding to the account ID. Note that the passwords (registered password and temporary password) are encrypted before being set in the account information.
[0057] Thus, account information consists of information that identifies the target server 50, an account ID, and a password, with at least these associated items. In addition to the data items described above, account information may also include data items such as "domain," which specifies the domain (or group) to which the account ID belongs.
[0058] <Application information> Next, the application information will be explained with reference to Figure 5. Figure 5 is a diagram showing an example of application information. Note that one or more application information items are stored in the storage unit 204 of the account management device 20.
[0059] As shown in Figure 5, the application information includes data items such as "Application ID," "Applicant Login ID," "Status," "Applicant," "Application Name," "Execution Terminal Name," and "Start Date and Time."
[0060] The "Application ID" field is set to the application ID, which is information that identifies the workflow. The "Applicant Login ID" field is set to the login ID of the applicant who submitted the workflow (i.e., the login ID used by the user operating the application terminal 30 when logging into the account management device 20 (or the workflow processing unit 201 of the account management device 20)). The "Status" field is set to the status of the workflow, such as "Pending" or "Approved". Here, "Pending" indicates, for example, that the workflow has not yet been approved. On the other hand, "Approved" indicates, for example, that the workflow has been approved.
[0061] The "Applicant" field is set to the name of the applicant who submitted the workflow (e.g., full name). The "Application Name" field is set to the application name specified when the workflow was submitted. The "Execution Terminal Name" field is set to information indicating the operation script execution terminal 10 specified when the workflow was submitted (e.g., the name, IP (Internet Protocol) address, MAC (Media Access Control) address, etc., of the operation script execution terminal 10). The execution of each operation script constituting the scenario is permitted for the operation script execution terminal 10 set in this "Execution Terminal Name". The "Start Date and Time" field is set to the date and time specified when the workflow was submitted. The execution of each operation script constituting the scenario is permitted from the date and time set in this "Start Date and Time".
[0062] As described above, the application information includes various information specified when the workflow is submitted. For example, the above data items are just examples. If a scenario to be executed on the operation script execution terminal 10 is specified when the workflow is submitted, the "Scenario Name" field, which contains the scenario name, may be included as a data item. Also, if a period during which the execution of the scenario is permitted is specified, in addition to the "Start Date and Time," the "End Date and Time" field may be included as a data item, which contains the date and time during which the execution of each operation script constituting the scenario will no longer be permitted. The "End Date and Time" field is set to the date and time specified when the workflow was submitted, and the execution of each operation script constituting the scenario is permitted from the date and time set in the "Start Date and Time" until the date and time set in the "End Date and Time" arrives. In addition, for example, the "Script Name" field, which contains the script name (file name) of each operation script constituting the scenario, may be included as a data item. Furthermore, for example, the "Keyword" field, which contains the correct keyword for the keyword described later (hereinafter also referred to as the correct keyword), and the account ID of the target server 50 may be included as data items.
[0063] <Processing flow> Next, the processing flow executed by the operation script execution system 1 according to this embodiment will be described.
[0064] Workflow application and approval In the following sections, the process for submitting and approving a workflow will be explained with reference to Figure 6. Figure 6 is a sequence diagram illustrating an example of the workflow from submission to approval.
[0065] First, the application processing unit 301 of the application terminal 30 displays the workflow application screen (step S101). Here, the workflow application screen is a screen for making a workflow application. The workflow application screen includes, for example, a specification field for specifying at least the "application name," "execution terminal name," and at least one of the "start date and time" and "end date and time" from among the data items included in the application information. The user (applicant) of the application terminal 30 can specify the desired value or information in these specification fields. Note that, regarding the "start date and time" and "end date and time," either only the "start date and time" or the "end date and time" may be specified, or both the "start date and time" and the "end date and time" may be specified. If only the "start date and time" is specified, the execution of each operation script is permitted from the start date and time until the end date and time. If only the "end date and time" is specified, the execution of each operation script is permitted from the approval of the workflow until the end date and time. If both the "start date and time" and the "end date and time" are specified, the execution of each operation script is permitted for the period from the start date and time until the end date and time arrives.
[0066] Next, the application processing unit 301 of the application terminal 30 accepts the workflow application operation on the workflow application screen (step S102). The applicant can perform the workflow application operation by specifying various information (for example, application name, execution terminal name, start date and time, etc.) on the workflow application screen and then pressing the application button, etc. In addition to the above information, the workflow application screen may also allow the applicant to specify, for example, users who can approve the workflow (approvers).
[0067] When the application processing unit 301 of the application terminal 30 receives a workflow application operation, it sends the workflow application to the account management device 20 (step S103). The workflow application includes various information specified by the applicant on the workflow application screen (e.g., application name, execution terminal name, start date and time, etc.) and information identifying the applicant (e.g., login ID, name, etc.).
[0068] When the workflow processing unit 201 of the account management device 20 receives a workflow application, it creates application information from the various information contained in the workflow application (for example, application name, execution terminal name, start date and time, applicant's login ID and name, etc.) (step S104). That is, the workflow processing unit 201 generates an application ID and then creates application information that includes this application ID and the various information mentioned above. At this time, the "status" of the application information is set to, for example, "pending," indicating that it has not yet been approved.
[0069] Although the application information is created using the account management device 20, it may also be created using the application terminal 30.
[0070] Next, the workflow processing unit 201 of the account management device 20 saves the application information to the storage unit 204 (step S105). As a result, application information with a status of "in progress" is stored in the storage unit 204.
[0071] When approving a workflow, the approval processing unit 401 of the approval terminal 40 displays the workflow approval screen (step S106). Here, the workflow approval screen is a screen for performing workflow approval. The workflow approval screen displays, for example, a list of workflows that the user (approver) of the approval terminal 40 can approve.
[0072] Next, the approval processing unit 401 of the approval terminal 40 receives a workflow approval operation on the workflow approval screen (step S107). The approver can perform the workflow approval operation by specifying or selecting the desired workflow from the list of appropriable workflows and then pressing the approval button or the like.
[0073] When the approval processing unit 401 of the approval terminal 40 receives a workflow approval operation, it sends the workflow approval to the account management device 20 (step S108). The workflow approval includes, for example, the application ID of the workflow for which the workflow approval operation was performed by the approver on the workflow approval screen.
[0074] When the workflow processing unit 201 of the account management device 20 receives a workflow approval, it updates the status of the application information stored in the storage unit 204 to approved (step S109). That is, for example, the workflow processing unit 201 updates the status of the application information indicated by the application ID included in the workflow approval, among the application information stored in the storage unit 204, to approved.
[0075] Based on the above, a workflow for executing each operation script that constitutes the scenario on the operation script execution terminal 10 is submitted and approved. Note that submitting and approving application information through a workflow is just one example, and application information may be submitted and approved by other methods. For example, application information may be submitted when it is stored in the application folder, and approved when the application information in the application folder is stored in the approval folder.
[0076] Furthermore, for example, the account management device 20 may register and update application information based on application information submitted or approved by an external workflow management system that approves workflows. More specifically, when information regarding the workflow is notified from an external workflow management system, or at predetermined timings or intervals, the device may connect to the workflow management system or its related database and register and update application information, including the status. In this case, if the status is omitted in the application information, the application information may be treated as approved.
[0077] ≪Execution of a scenario that uses account information≫ In the following section, we will explain the process of executing a scenario in which account information is acquired, such as the performance information acquisition scenario shown in Figure 2, and some work is performed using that account information, referring to Figure 7. Figure 7 is a sequence diagram illustrating an example of the process when executing a scenario that uses account information. In the following, it is assumed that each operation script constituting the scenario acquires account information for a target server 50, and then performs a predetermined operation on that target server 50 using that account information.
[0078] The startup control unit 101 of the operation script execution terminal 10 starts a scenario (for example, the performance information acquisition scenario shown in Figure 2) (step S201). As a result, the execution control unit 102 of the operation script execution terminal 10 executes the following steps S202 to S208 using each operation script that constitutes the scenario. The following describes the case in which steps S202 to S208 are executed by a certain operation script.
[0079] First, the execution control unit 102 of the operation script execution terminal 10 instructs the request unit 103 to request the acquisition of account information of the target server 50 using the information acquisition command statement of the operation script (step S202). At this time, the execution control unit 102 instructs the request unit 103 to request the acquisition of account information by specifying, for example, the target name, account ID, keyword, etc. Here, the keyword is a predetermined arbitrary string and is used for validity checking by the check unit 203. The keyword may also be called a password or the like, and may be a meaningful string or a meaningless random string.
[0080] When the request unit 103 of the operation script execution terminal 10 is instructed to request the acquisition of account information, it sends the account information acquisition request to the account management device 20 (step S203). Here, the account information acquisition request includes the target name, account ID, and keywords specified in the above instruction. In addition to this, it may also include various other information used for the validity check described later (for example, the name of the execution terminal, the script name (file name) of the operation script, etc.).
[0081] When the check unit 203 of the account management device 20 receives an account information acquisition request from the operation script execution terminal 10, it performs a validity check (step S204). In this validity check, for example, one or more of the following conditions 1 to 5 are used to determine whether or not all of these conditions are met. If all of these conditions are met, the validity check is considered successful; otherwise, the validity check is considered a failure.
[0082] Condition 1: The application information stored in the memory unit 204 has been approved. Here, the application information can be identified using the application name, application ID, applicant, applicant login ID, execution terminal name of the operation script execution terminal 10, operation script name, and location where the operation script is stored (e.g., file path including computer name, URL, etc.).
[0083] Condition 2: If only a start date and time are specified in the application information, the start date and time have started. If only an end date and time are specified in the application information, the status is "Approved" and the end date and time have not yet arrived. If both a start date and time and an end date and time are specified in the application information, the start date and time have started, and the end date and time have not yet arrived.
[0084] Condition 3: The execution terminal name (one or more of the following: name, IP address, MAC address, etc.) of the operation script execution terminal 10 is correct. That is, the execution terminal name included in the application information matches the execution terminal name of the operation script execution terminal 10.
[0085] Condition 4: The information regarding the operation script is correct. That is, for example, the application information includes the script name, and the script name included in the application information matches the script name included in the account information retrieval request. In addition to the script name, other information such as the location where the operation script is stored (e.g., a file path including the computer name, a URL, etc.), the size (capacity) of the operation script, and its hash value may also be used.
[0086] Condition 5: The keyword is correct. That is, for example, the application information contains the correct keyword, and the correct keyword contained in the application information matches the keyword contained in the account information acquisition request. Note that the correct keyword is not set in the application information, but may be uniquely determined by, for example, the operation script execution system 1, or uniquely determined for the group to which the operation script execution terminal 10 belongs, or the group to which the scenario belongs, etc.
[0087] The number and type of each of the above conditions 1 to 5 to be used for the validity check are predetermined. During these validity checks, the account management device 20 requests the operation script to transmit various information from the operation script, or receives and obtains the necessary information from the operation script and compares it with the information submitted in advance.
[0088] If the validity check in step S204 above is successful, the response unit 202 of the account management device 20 retrieves the account information related to the account information acquisition request from the storage unit 204 (step S205). That is, the response unit 202 retrieves the account information stored in the storage unit 204 that has the target name and account ID included in the account information acquisition request set.
[0089] Then, the response unit 202 of the account management device 20 transmits the account information obtained in step S205 to the operation script execution terminal 10 (step S206).
[0090] If the validity check in step S204 above fails, the response unit 202 of the account management device 20 will not acquire or transmit account information, but will instead send information to the operation script execution terminal 10 indicating that the validity check failed.
[0091] The execution control unit 102 of the operation script execution terminal 10 sets the account ID and password (or only the password if an account ID has already been set) included in the account information received from the account management device 20 to the operation script (step S207). Here, since the password included in the account information is encrypted, the execution control unit 102 decrypts the password in memory, for example, and sets the decrypted password in the operation script. This makes it possible to hide the account ID and password used to execute the operation script from the user of the operation script execution terminal 10, for example. For example, the operation script has variables defined to which the account ID and password are set, and the execution control unit 102 only needs to set the account ID and password for these variables.
[0092] Then, the execution control unit 102 of the operation script execution terminal 10 executes each operation on the target server 50 or local application 60 using the operation script for which the account ID and password were set in step S207 (step S208).
[0093] As described above, in the operation script execution system 1 according to this embodiment, information necessary for the execution of each operation script constituting the scenario (for example, a password corresponding to the account ID) is acquired when the script is executed. Therefore, the password is only held on the operation script execution terminal 10 when the operation script is executed, thereby reducing the risk of password leakage, etc. Furthermore, even if the password of the target server 50 is changed periodically, for example, the latest password can always be obtained, thus preventing execution failures of operation scripts due to incorrect passwords, etc.
[0094] In step S205 of Figure 7, account information is obtained from the storage unit 204, but this is not limited to this. For example, information such as parameters necessary for executing the relevant operation script may be obtained along with the account information. As a result, in step S206 of Figure 7, the parameters are sent to the operation script execution terminal 10 along with the password, so in step S207 of Figure 7, in addition to the password, the parameters necessary for executing the operation script can also be set in the operation script.
[0095] ≪Execution of a scenario to change account information≫ In the following sections, we will explain the process of executing a scenario in which account information is obtained, such as the password change scenario shown in Figure 3, and the password is changed, referring to Figure 8. Figure 8 is a sequence diagram illustrating an example of the process when executing a scenario in which the password included in the account information is changed.
[0096] The startup control unit 101 of the operation script execution terminal 10 starts a scenario (for example, the password change scenario shown in Figure 3) (step S301). As a result, the execution control unit 102 of the operation script execution terminal 10 executes the following steps S302 to S315 using each operation script that constitutes the scenario. The following describes the case in which steps S302 to S315 are executed by a certain operation script.
[0097] First, the execution control unit 102 of the operation script execution terminal 10 obtains the account information of the target server 50 using the operation script (step S302). Here, the execution control unit 102 may, for example, obtain the account information previously provided to the operation script execution terminal 10 from the storage unit 104, or it may obtain the account information by the same process as steps S202 to S206 in Figure 7. The password included in the account information obtained in this step is the password to be changed, and will be referred to as the "old password" below.
[0098] Next, the execution control unit 102 of the operation script execution terminal 10 generates a new password using the operation script (step S303). Here, the execution control unit 102 can generate the new password by any method. For example, the execution control unit 102 can randomly generate a string of random length greater than or equal to a certain length (or a string of random length greater than or equal to a certain length but less than a certain length) and use that string as the new password.
[0099] Next, the execution control unit 102 of the operation script execution terminal 10 instructs the request unit 103 to request temporary registration of the new password generated in step S303 using the temporary registration command statement of the operation script (step S304). At this time, the execution control unit 102 instructs the request unit 103 to request temporary registration of the new password by specifying, for example, the target name, account ID, new password, keyword, etc.
[0100] When the request unit 103 of the operation script execution terminal 10 is instructed to request temporary registration of a new password, it sends a request for temporary registration of a new password to the account management device 20 (step S305). Here, the request for temporary registration of a new password includes the target name, account ID, new password, and keyword specified in the above instruction. In addition to this, it may also include various other information used for the validity check described later (for example, the name of the execution terminal, the script name (file name) of the operation script, etc.).
[0101] When the check unit 203 of the account management device 20 receives a temporary registration request for a new password from the operation script execution terminal 10, it performs a validity check (step S306) in the same manner as step S204 in Figure 7. That is, the check unit 203 uses, for example, one or more of the above conditions 1 to 5 to determine whether all or more of those conditions are met.
[0102] If the validity check in step S306 above is successful, the response unit 202 of the account management device 20 provisionally registers the new password included in the provisional registration request for the new password (step S307). That is, the response unit 202 sets the new password included in the provisional registration request for the "provisional password" of the account information stored in the storage unit 204 that has the target name and account ID included in the provisional registration request for the new password set.
[0103] Then, the response unit 202 of the account management device 20 sends a provisional registration completion response to the operation script execution terminal 10 indicating that the provisional registration in step S307 has been completed (step S308).
[0104] If the legitimacy check in step S306 above fails, the response unit 202 of the account management device 20 will not provisionally register the new password, but will instead send information to the operation script execution terminal 10 indicating that the legitimacy check failed.
[0105] The execution control unit 102 of the operation script execution terminal 10 sends a password change request to the target server 50 using the operation script (step S309). Here, the password change request includes the account ID of the target server 50, the old password corresponding to that account ID, and the new password generated in step S303 above. As a result, the password corresponding to the account ID on the target server 50 is changed from the old password to the new password.
[0106] If the above password change is successful, the target server 50 sends, for example, a password change completion response to the operation script execution terminal 10 indicating that the password change has been completed (step S310). If the above password change fails, the target server 50 sends, for example, a password change failure response to the operation script execution terminal 10 indicating that the password change failed.
[0107] When the execution control unit 102 of the operation script execution terminal 10 receives a password change completion response from the target server 50, it instructs the request unit 103 to formally register the new password generated in step S303 using the formal registration command statement of the operation script (step S311). At this time, the execution control unit 102 instructs the request unit 103 to formally register the new password by specifying, for example, the target name, account ID, keyword, etc.
[0108] When the request unit 103 of the operation script execution terminal 10 is instructed to request the formal registration of a new password, it sends the formal registration request for the new password to the account management device 20 (step S312). Here, the formal registration request for the new password includes the target name, account ID, and keyword specified in the above instruction. In addition to this, it may also include various other information used for the validity check described later (for example, the name of the execution terminal, the script name (file name) of the operation script, etc.).
[0109] When the check unit 203 of the account management device 20 receives a formal registration request for a new password from the operation script execution terminal 10, it performs a validity check (step S313) in the same manner as in step S306 above. That is, the check unit 203 uses, for example, one or more of the above conditions 1 to 5 to determine whether all or more of those conditions are met.
[0110] If the validity check in step S313 above is successful, the response unit 202 of the account management device 20 officially registers the new password for the account information in which the target name and account ID included in the new password registration request have been set (step S314). That is, the response unit 202 sets the password (new password) set in the "temporary password" of the account information in which the target name and account ID included in the new password registration request have been set among the account information stored in the storage unit 204 to "password", and then deletes the password set in "temporary password".
[0111] Then, the response unit 202 of the account management device 20 sends a registration completion response to the operation script execution terminal 10 indicating that the registration in step S314 has been completed (step S315).
[0112] As described above, the operation script execution system 1 according to this embodiment can automatically generate and change the password of the target server 50, and update the password registered in the account management device 20 with the changed password. This makes it possible to change the password without human intervention, and as a result, it is possible to reduce the risk of password leakage due to human error (for example, the risk of leakage due to leaving the changed password as a memo).
[0113] Furthermore, when updating a password registered in the account management device 20, the new password is temporarily registered, and then officially registered only if the password change on the target server 50 is successful. This eliminates the need to roll back the account information registered in the account management device 20, even if, for example, the password change on the target server 50 fails. Note that the temporary password may be deleted, for example, after official registration, if official registration is not completed within a predetermined period, or if a valid official registration application is not submitted.
[0114] <Variation> The following describes some modifications of this embodiment. Note that the modifications described below may be combined in any way, one or more of them as appropriate.
[0115] • Variation 1 The keywords used for the validity check in the checking unit 203 may be constructed by combining some or all of the various pieces of information described in the validity check conditions 2 to 4. For example, the name of the execution terminal 10 of the operation script and the hash value of the operation script may be combined to form a keyword. In particular, by constructing a keyword using information about the operation script execution terminal 10 and the operation script, and matching it with the application information submitted in advance, it is possible to confirm whether the operation script is as submitted, whether it has been modified, etc.
[0116] • Variation 2 The login ID and keywords related to the operation script application can be included in the operation script itself, or they can be referenced from separate external files, such as a login file and a keyword file, which contain the login ID and keywords. This eliminates the need to edit the operation script itself each time it is executed, and allows for updating only the information corresponding to the application without changing file information such as the operation script's update date, file size, and hash value. Furthermore, security can be enhanced by restricting the access permissions for the login file and keyword file more than those for the operation script.
[0117] • Modification example 3 In the validity check (steps S306 and S13) during the provisional registration request or the final registration request for a new password, a check may be added to verify whether the new password meets the required conditions. Here, the required conditions are, for example, the number of characters in the password, the types of characters used in the password (alphanumeric characters, symbols, etc.), and the fact that the password does not contain words that are listed in dictionaries, etc., as well as other pre-configured security policies.
[0118] If the conditions for requiring a new password are not met, registration will be prevented, thus preventing the use of passwords that do not meet the necessary security strength or are inappropriate.
[0119] Furthermore, in the generation of a new password (step S303), a password corresponding to the security policy of the account to be registered may be generated by a function within the account management device 20 or a function provided by an external system. In this case, the operation script should call this password generation function to receive the generated password and notify the account management device 20 of the password along with the information necessary for validity checks via the operation script or the password generation function.
[0120] • Modification 4 Figure 8 illustrates the process of changing a password, but it may also be possible to register, modify, and delete other account information (e.g., attribute information, roles, account permissions, etc.). For example, it may be possible to use information specified by the user or information generated by some algorithm to provisionally register (temporarily store) or permanently register (store) such information in the account information, or to modify or delete it from the account information.
[0121] The present invention is not limited to the embodiments specifically disclosed above, and various modifications, changes, and combinations with known technologies are possible without departing from the scope of the claims. [Explanation of Symbols]
[0122] 1. Operation Script Execution System 10 Operation script execution terminal 20 Account Management Devices 30 Application terminals 40 Approval terminals 50 Target Servers 60 local apps 101 Startup Control Unit 102 Execution Control Unit 103 Request part 104 Storage section 201 Workflow Processing Unit 202 Response Section 203 Check Section 204 Storage section 301 Application Processing Section 401 Approval Processing Unit N Communication Network
Claims
1. An operation execution system comprising a management device for managing account information and an operation execution device that executes one or more scripts, each for implementing an operation to change the password included in the account information, The aforementioned operation execution device is The system includes a request unit that, by executing one or more of the above-mentioned scripts, sends a request for a temporary change representing a temporary change of the password to the management device, and if the temporary change is successful, sends a request for a permanent change representing a non-temporary change of the password to the management device. The aforementioned control device is Upon receiving the aforementioned request for provisional modification or the aforementioned request for final modification, a determination unit determines whether or not to perform the provisional modification or the aforementioned final modification. The system includes a response unit that, when it is determined that the provisional change or the final change should be made, makes the provisional change or the final change and transmits the result of the provisional change or the final change to the operation execution device, The determination unit, An operation execution system that determines to perform the provisional change or the final change if there are no changes to the information regarding the one or more scripts mentioned above.
2. The operation execution system according to claim 1, wherein the provisional change and the password after the final change are information different from the information relating to the one or more scripts, and are included in the information that can be referenced by the execution of the one or more scripts.
3. The response unit is The operation execution system according to claim 1 or 2, wherein if a request for the final change is not received within a predetermined period after the provisional change has been made, the password after the provisional change is deleted.
4. An operation execution method used in an operation execution system which includes a management device for managing account information and an operation execution device that executes one or more scripts that implement operations for changing the password included in the account information, The aforementioned operation execution device By executing one or more of the above scripts, a request procedure is performed in which a request for a temporary change representing a temporary change of the password is sent to the management device, and if the temporary change is successful, a request for a permanent change representing a non-temporary change of the password is sent to the management device. The aforementioned control device When a request for the aforementioned provisional change or the aforementioned final change is received, a determination procedure is provided to determine whether or not to perform the aforementioned provisional change or the aforementioned final change. If it is determined that the aforementioned provisional change or the aforementioned final change should be made, the response procedure is executed to make the provisional change or the aforementioned final change and to transmit the result of the provisional change or the aforementioned final change to the operation execution device. The aforementioned determination procedure is: An operation execution method which determines to perform the provisional change or the final change if there are no changes to the information regarding the one or more scripts mentioned above.
5. A program that causes a computer to function as an operation execution system according to any one of claims 1 to 3.
Citation Information
Patent Citations
Management server
JP2005018234A
Operation work automation system, operation work automation method and operation work automation program
JP2014048860A
Information processing system, and authentication method
JP2016091210A