All Products
Search
Document Center

Data Management:Perubahan data reguler

Last Updated:Mar 29, 2026

Dalam Data Management (DMS), melakukan perubahan data tanpa pengaman berisiko tinggi—perintah DELETE di lingkungan produksi dapat menyebabkan kesalahan, dan perintah TRUNCATE yang salah tidak dapat dikembalikan. DMS mengatasi hal ini melalui aturan keamanan yang mengatur pernyataan SQL mana yang dapat dijalankan langsung di SQLConsole, mana yang memerlukan persetujuan tiket, dan mana yang diblokir sepenuhnya. Topik ini menjelaskan empat skenario umum dalam mode Security Collaboration agar Anda dapat mengonfigurasi kebijakan tata kelola yang tepat untuk setiap lingkungan.

Cara kerja

Setiap perubahan data di DMS mengikuti siklus hidup berikut:

TahapDeskripsi
Write SQLMasukkan pernyataan SQL di SQLConsole atau lampirkan file .sql, .txt, atau .zip dalam tiket.
PrecheckDMS secara otomatis memvalidasi SQL terhadap aturan keamanan Anda sebelum dieksekusi.
ApprovalJika aturan keamanan mengharuskan tiket, perubahan tersebut dikirim ke pihak yang ditunjuk sebagai approver (default: DBA).
ExecuteJalankan perubahan segera atau jadwalkan. Secara opsional, bungkus pernyataan data manipulation language (DML) dalam satu transaksi.
Backup and rollbackDMS dapat menghasilkan pernyataan backup untuk operasi UPDATE dan DELETE sehingga Anda dapat melakukan rollback jika diperlukan.

Perilaku pada setiap tahap diatur oleh aturan keamanan—kebijakan yang dapat dikonfigurasi dan dilampirkan pada setiap instans database.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • Akun administrator DMS atau izin untuk mengajukan tiket perubahan data

  • Instans database poc_prod dan poc_dev yang telah didaftarkan di DMS dalam mode Security Collaboration

  • Tabel data_modify yang telah dibuat di kedua database

Buat tabel `data_modify`

Dalam keempat contoh pada topik ini, fitur schema design DMS digunakan untuk membuat tabel data_modify. Anda juga dapat menjalankan pernyataan ini langsung di SQLConsole—pernyataan DDL di database development tidak memerlukan tiket untuk dieksekusi.

CREATE TABLE `data_modify` (
 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary key',
 `name` varchar(256) NOT NULL COMMENT 'Name',
 `phone` varchar(32) DEFAULT NULL COMMENT 'Phone number',
 `sex` varchar(32) DEFAULT NULL COMMENT 'Gender',
 `email` varchar(256) DEFAULT NULL COMMENT 'Email address',
 `remarks` varchar(1024) DEFAULT NULL COMMENT 'Remarks',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Personal information';

Sekumpulan aturan keamanan yang digunakan dalam keempat skenario:

Instans databaseSekumpulan aturan keamanan
poc_devSecurity Rules for POC Development Databases
poc_prodSecurity Rules for POC Production Databases

Kirim tiket untuk perubahan data reguler

Skenario ini menyisipkan baris ke dalam tabel data_modify di poc_prod dengan mengajukan tiket perubahan data.

  1. Masuk ke DMS console V5.0.

  2. Arahkan kursor ke ikon 2023-01-28_15-57-17.png di pojok kiri atas dan pilih All Features > Database Development > Data Change > Normal Data Modify.

    Dalam mode normal, pilih Database Development > Data Change > Normal Data Modify di bilah navigasi atas.
  3. Isi parameter tiket. Parameter utama:

    ParameterDeskripsi
    SQL textPernyataan SQL yang akan dieksekusi. Pisahkan beberapa pernyataan dengan titik koma (;).
    AttachmentUnggah file .txt, .zip, atau .sql. Ukuran maksimum file: 15 MB.
  4. Klik Submit. DMS menjalankan precheck secara otomatis. Jika precheck gagal, perbarui SQL sesuai petunjuk dan ajukan ulang.

  5. Setelah precheck berhasil, klik Submit for Approval, lalu klik OK pada prompt konfirmasi.

    Tiket perubahan data disetujui oleh DBA secara default. Untuk mengubah template persetujuan default, lihat bagian Change the default approval template dalam topik SQL Correct.
  6. Setelah tiket disetujui, klik Execute Change. Di kotak dialog Task Settings, konfigurasi parameter eksekusi dan klik Confirm Execution.

    Jika Anda mengatur Execution Method menjadi After Audit Approved, Auto Execute saat langkah pengajuan, langkah ini dilewati secara otomatis. Setelah tugas yang ditangguhkan dilanjutkan, eksekusi berlanjut dari titik terakhir.
    ParameterDeskripsi
    Execution strategyRunning immediately (default): dieksekusi segera setelah tiket dikonfirmasi. Schedule: dieksekusi pada waktu yang ditentukan.
    Enable Submit as Single TransactionDefault: off. On: jika ada pernyataan DML yang gagal, semua pernyataan DML dalam transaksi tersebut akan di-rollback (pernyataan DDL tidak dapat di-rollback). Off: setiap pernyataan dieksekusi secara independen; eksekusi berhenti saat terjadi kegagalan, tetapi pernyataan sebelumnya tidak di-rollback.
    Enable BackupDefault: on. DMS menghasilkan pernyataan backup untuk pernyataan UPDATE dan DELETE. Lihat Backup support untuk detail spesifik berdasarkan jenis database.
  7. Opsi tambahan. Setelah eksekusi selesai, buka SQLConsole untuk poc_prod dan verifikasi hasilnya.

Dukungan backup

Backup hanya berlaku untuk pernyataan UPDATE dan DELETE. Pernyataan INSERT dan DDL tidak dibackup.

Jenis databasePernyataan backup yang dihasilkanCatatan
MySQL, MariaDBREPLACE INTOTermasuk ApsaraDB RDS for MySQL, PolarDB for MySQL, PolarDB-X, dan self-managed MySQL
Semua database lain yang didukungINSERT
MongoDB, RedisTidak didukung

Izinkan pernyataan DML dijalankan langsung di database development

Secara default, aturan keamanan DMS mengharuskan semua pernyataan DML melalui tiket. Untuk database development, hal ini memperlambat iterasi. Konfigurasikan aturan keamanan agar developer dapat menjalankan pernyataan DML langsung di SQLConsole—tanpa harus mengajukan tiket setiap kali.

Langkah 1: Perbarui aturan keamanan untuk poc_dev

  1. Masuk ke DMS console V5.0 sebagai administrator DMS.

  2. Arahkan kursor ke ikon 2023-01-28_15-57-17.png di pojok kiri atas dan pilih All Features > Security and disaster recovery (DBS) > Security Rules.

    Dalam mode normal, pilih Security and disaster recovery (DBS) > Security Rules di bilah navigasi atas.
  3. Arahkan kursor ke ikon 2023-01-28_15-57-17.png di pojok kiri atas, lalu pilih All Features > Security and disaster recovery (DBS) > Security Rules.

    Catatan

    Jika Anda menggunakan Konsol DMS dalam mode normal, pilih Security and disaster recovery (DBS) > Security Rules pada bilah navigasi atas.

  4. Arahkan kursor ke ikon 2023-01-28_15-57-17.png di pojok kiri atas, lalu pilih All Features > Security and disaster recovery (DBS) > Security Rules.

    Catatan

    Jika Anda menggunakan Konsol DMS dalam mode normal, pilih Security and disaster recovery (DBS) > Security Rules pada bilah navigasi atas.

  5. Arahkan kursor ke ikon 2023-01-28_15-57-17.png di pojok kiri atas, lalu pilih All Features > Security and disaster recovery (DBS) > Security Rules.

    Catatan

    Jika Anda menggunakan Konsol DMS dalam mode normal, pilih Security and disaster recovery (DBS) > Security Rules pada bilah navigasi atas.

  6. Di halaman Security Rules, temukan aturan database development POC dan klik Edit di kolom Actions.

  7. Di panel navigasi kiri, klik SQL Correct. Atur Checkpoints ke SQL execution rules.

  8. Aktifkan All DML can execute directly in SQLConsole dan nonaktifkan All DML must execute by ticket.

Langkah 2: Verifikasi perubahan aturan

  1. Di pojok kiri atas Konsol DMS, cari instans poc_dev.

  2. Di tab SQLConsole, jalankan pernyataan INSERT berikut:

    INSERT INTO data_modify (name, phone, sex) VALUES ('dms_a', '19000001','Male');
    INSERT INTO data_modify (name, phone, sex) VALUES ('dms_b', '19000002','Female');
    INSERT INTO data_modify (name, phone, sex) VALUES ('dms_c', '19000003','Male');
  3. Di kotak dialog Execution Confirmation, klik Executed. Jika muncul status Executed di hasil, perubahan aturan berfungsi dengan benar.

Wajibkan persetujuan tiket untuk SQL berisiko tinggi di database produksi

Beberapa pernyataan SQL—seperti DELETE—mengandung risiko signifikan di lingkungan produksi. Konfigurasikan aturan keamanan untuk menandai DELETE sebagai operasi berisiko tinggi dan mengarahkannya melalui proses persetujuan khusus.

Langkah 1: Buat proses persetujuan

  1. Masuk ke DMS consoleDMS console sebagai administrator DMS.

  2. Arahkan kursor ke ikon 2023-01-28_15-57-17.png di pojok kiri atas dan pilih All Features > Security and disaster recovery (DBS) > Approval Processes.

    Dalam mode normal, pilih Security and disaster recovery (DBS) > Approval Processes di bilah navigasi atas.
  3. Klik Create Approval Template dan konfigurasi node persetujuan. Tambahkan node secara berurutan—node 1 adalah approver pertama, node 2 adalah approver kedua, dan seterusnya.

  4. Klik Submit.

Langkah 2: Konfigurasikan aturan identifikasi risiko

  1. Arahkan kursor ke ikon 2023-01-28_15-57-17.png di pojok kiri atas dan pilih All Features > Security and disaster recovery (DBS) > Security Rules.

    Dalam mode normal, pilih Security and disaster recovery (DBS) > Security Rules di bilah navigasi atas.
  2. Di halaman Security Rules, temukan aturan database produksi POC dan klik Edit di kolom Actions.

  3. Klik SQL Correct di panel navigasi kiri. Atur Checkpoints ke Risk Identification Rules dan klik Create Rule.

  4. Di kotak dialog Create Rule - SQL Correct, atur parameter berikut:

    ParameterNilai
    Rule nameProduction environments. The execution of DELETE statements is a high-risk operation
    Rule DSLLihat kode DSL di bawah
    if
        @fac.env_type in ['product','pre']
        and
        @fac.sql_type in
        [ 'DELETE']
    then
        @act.mark_risk 'high' 'High-risk SQL statements: DELETE in the production environments'
    end
  5. Klik Submit.

  6. Temukan aturan Production environments. The execution of DELETE statements is a high-risk operation dan klik Enable di kolom Actions. Klik OK pada pesan konfirmasi. Aturan langsung berlaku—semua pernyataan DELETE diidentifikasi sebagai operasi berisiko tinggi.

Langkah 3: Hubungkan proses persetujuan ke aturan persetujuan risiko

  1. Atur Checkpoints ke Risk Approval Rules. Temukan aturan High risk approval process dan klik Edit di kolom Actions.

  2. Di kotak dialog Change Rule - SQL Correct, ganti ID template di bidang Rule DSL dengan ID template persetujuan yang Anda buat di Langkah 1. Klik Submit.

  3. Temukan aturan High risk approval process dan klik Enable. Klik OK untuk mengonfirmasi.

Langkah 4: Verifikasi aturan

  1. Di Konsol DMS, cari instans poc_prod.

  2. Di tab SQLConsole, jalankan pernyataan berikut:

    DELETE FROM data_modify WHERE id = 1;
  3. Jika area Execution History menampilkan pesan kegagalan karena aturan keamanan, aturan tersebut berfungsi. Klik Apply for Data Change untuk mengajukan tiket dan menjalani proses persetujuan.

    Menjalankan pernyataan DELETE di database produksi merupakan operasi berisiko tinggi. Tiket harus disetujui oleh approver yang ditentukan dalam template persetujuan sebelum dapat dieksekusi.

Blokir pernyataan TRUNCATE di database produksi

TRUNCATE menghapus semua baris dari sebuah tabel dan tidak dapat dikembalikan. Untuk mencegah kehilangan data akibat kesalahan di lingkungan produksi, konfigurasikan aturan keamanan yang memblokir pernyataan TRUNCATE—baik di SQLConsole maupun melalui tiket.

Langkah 1: Ubah aturan keamanan untuk memblokir TRUNCATE

  1. Masuk ke DMS consoleDMS console sebagai administrator DMS.

  2. Arahkan kursor ke ikon 2023-01-28_15-57-17.png di pojok kiri atas dan pilih All Features > Security and disaster recovery (DBS) > Security Rules.

    Dalam mode normal, pilih Security and disaster recovery (DBS) > Security Rules di bilah navigasi atas.
  3. Di halaman Security Rules, temukan aturan database produksi POC dan klik Edit di kolom Actions.

  4. Di panel navigasi kiri, klik SQL Correct. Atur Checkpoints ke SQL execution rules.

  5. Temukan aturan Allow TRUNCATE to be executed directly in the SQL console dan klik Edit di kolom Actions.

  6. Ubah nama aturan menjadi Forbid TRUNCATE statements. Ganti bahasa domain-spesifik (DSL) yang ada dengan yang berikut dan klik Submit:

    DSL ini memblokir pernyataan TRUNCATE baik di SQLConsole maupun melalui tiket. Untuk informasi lebih lanjut tentang sintaksis DSL, lihat DSL syntax for security rules.
    if
        @fac.sql_type in
          ['TRUNCATE']
    then
        @act.forbid_execute
    end
  7. Temukan aturan TRUNCATE cannot be executed directly in the SQL console. It must be executed as a ticket. dan klik Enable di kolom Actions. Klik OK untuk mengonfirmasi.

Langkah 2: Verifikasi aturan di SQLConsole

  1. Di Konsol DMS, cari instans poc_prod.

  2. Di tab SQLConsole, jalankan pernyataan berikut:

    TRUNCATE TABLE `data_modify`;
  3. Status Execution Failed ditampilkan. Aturan keamanan sedang memblokir pernyataan TRUNCATE.

Langkah 3: Verifikasi aturan untuk pengajuan tiket

Ajukan tiket perubahan data dengan pernyataan SQL berikut (lihat Submit a ticket for a regular data change):

TRUNCATE TABLE `data_modify`;

Setelah Anda mengajukan tiket, periksa hasil precheck. Jika precheck gagal, aturan tersebut juga memblokir pernyataan TRUNCATE melalui alur kerja tiket.

Langkah selanjutnya