This topic describes how to use your enterprise's internal approval workflow to approve DMS database tickets.
The solution in this topic applies only to instances in security collaboration mode. For instances in other control modes, data changes do not require ticket approval.
Background information
To ensure the security of your enterprise's production environment and data, DMS provides a built-in approval system for tickets. For example, when you submit a data change ticket, you can perform the data change only after the ticket is approved.
Most enterprises use their own internal approval workflow system. If you submit data change tickets in DMS, you need to coordinate between the DMS and internal approval workflows. This can be inconvenient and may complicate future audits.
Integrating DMS with your internal approval workflow improves operational efficiency.
Prerequisites
-
The target database instance must be in security collaboration mode.
-
Add the following DMS IP addresses to the IP whitelist of the server where your webhook is deployed:
8.136.163.64/29, 116.62.200.158.
Solution overview
-
Create a dedicated approval workflow
Create an approval node and an approval template in DMS for your enterprise personnel.
-
Configure security rules
Associate the dedicated approval template with the security rules of the target instance. All subsequent changes to the instance must comply with these rules.
-
Configure approval notifications
Select the functional modules that should send notifications to your enterprise system, and configure the webhook URL to receive these messages.
-
Submit a database ticket
-
Approve the ticket in your enterprise system
When a user creates a ticket in DMS and initiates the approval process, DMS sends a message to your enterprise system through the configured webhook.
-
Perform the data change in DMS
After your enterprise system approves the ticket, the user can proceed with the data change in DMS.
Interaction diagram
Step 1: Create a dedicated approval workflow
Step 1.1: Create an approval node
Log in to DMS 5.0.
-
Move the pointer over the
icon in the upper-left corner and choose . NoteIf you use the DMS console in normal mode, choose in the top navigation bar.
-
On the Approval Node tab, click Add Approval Node.
NoteIf an approval node for the target approver already exists, you can skip this step.
-
Configure the Node Name, Remarks, and Approver, and then click Submit.
Step 1.2: Create an approval template
-
On the Approval Template tab, click Create Approval Template.
NoteIf a relevant approval template already exists, you can skip this step.
-
Configure the Template Name, Remarks, and Approval Node, and then click Submit.
The approval nodes are configured in a table that includes columns for Approval Order, Node Type (for example, Custom), and Node Name. You can add a new node by clicking Add Node or remove an existing one by clicking Remove.
Step 2: Configure security rules
-
Move the pointer over the
icon in the upper-left corner and choose . NoteIf you use the DMS console in normal mode, choose in the top navigation bar.
-
Find the security rules for the target instance in security collaboration mode, and click Edit next to the rule.
NoteIn the database instance area on the left side of the DMS console, you can right-click the instance name and select View Details to view the security rules associated with the instance.
-
From the list of features, select the feature for which you want to set the approval template (such as data export or permission request), and then edit its rule.
The following example shows how to change the approval template for a data change:
-
In the left-side navigation pane, click SQL Correct.
-
Click Edit next to the default approval template for data changes.
-
Click Switch Approval Template, select the template you created, and then click Submit.
In the edit pane for the Default approval template for data changes setting, the area displays the workflow node details for the selected template, including Approval Order, Node Type, and Node Name.
-
Step 3: Configure approval notifications
Step 3.1: Enable module notifications
-
Mover the pointer over the
icon in the upper-left corner and choose . NoteIf you use the DMS console in normal mode, choose in the top navigation bar.
-
Enable notifications for the functional module that you want to integrate with your internal approval workflow.
In the Module/Business Type filter box, select the target module, such as Ticket/Data Change. Then, in the Status column of the notification list, turn on the switch for the corresponding item.
Step 3.2: Configure user notifications
In DMS, configure webhook notifications for the target approver (the approver you added to the approval node in Step 1). When a user initiates a ticket approval request, DMS sends a message to the webhook.
For instructions on how to configure webhook notifications, see Use custom webhook notifications and Configure personal information and notification method.
Step 4: Submit a database ticket in DMS
For more information, see Data solution overview.
Step 5: (Optional) Redirect DMS approval to an internal system
After the approval workflow is established in DMS or your internal system, you can call the SetWorkflowExtraInfo API to set the URL of your internal approval workflow in DMS. If you want to hide the approval action buttons for the ticket, you can set the relevant parameters to false. For example, to disable the agree button, set the RenderAgree parameter to false.
After you set the approval workflow URL, you can click View approval details in the DMS ticket approval section to open your internal approval workflow page.
Step 6: Approve DMS tickets in your enterprise system
Step 6.1: Identify the event trigger condition
When the messageEvent.event field in the POST message body from DMS is Pending Approval, an approval event has been triggered. After you identify this trigger condition, your enterprise system can initiate its internal approval workflow. After the workflow is complete, you can proceed with subsequent operations.
Step 6.2: Get the approval workflow ID
Call the GetOrderBaseInfo API to obtain the approval workflow ID for the ticket. For the OrderId parameter, use the value of the messageEvent.taskId field from the webhook message body.
Step 6.3: Approve the ticket
Call the ApproveOrder API to approve the ticket.
Step 7: Perform the data change in DMS
If the ticket is approved in your enterprise system with a result of Agreed, the user can proceed with the next operations in DMS.