Anda dapat mengubah data dengan memasukkan pernyataan SQL pada tab SQLConsole atau mengirimkan tiket perubahan data di konsol Data Management (DMS). Anda juga dapat membuat aturan keamanan kustom untuk mengelola operasi perubahan data di database yang berada di lingkungan berbeda. Topik ini menggunakan empat contoh untuk menjelaskan cara mengonfigurasi aturan keamanan dan mengirimkan tiket perubahan data dalam skenario tipikal.
Persiapan
Dalam empat contoh topik ini, fitur desain skema DMS telah digunakan untuk membuat tabel
data_modifydi database produksipoc_proddan database pengembanganpoc_devyang dikelola dalam Mode Kolaborasi Keamanan. Anda juga dapat membuat tabeldata_modifypada tab SQLConsole tanpa perlu mengirimkan tiket untuk mengeksekusi pernyataan DDL. Untuk informasi lebih lanjut, lihat bagian Konfigurasikan database pengembangan untuk mengeksekusi pernyataan DML tanpa mengirimkan tiket dari topik ini.Set aturan keamanan untuk instance POC_dev adalah Aturan Keamanan untuk Database Pengembangan POC. Set aturan keamanan untuk instance POC_prod adalah Aturan Keamanan untuk Database Produksi POC.
Kirim Tiket untuk Melakukan Operasi Perubahan Data Rutin
Dalam contoh ini, data dimasukkan ke dalam tabel data_modify di database poc_prod dengan mengirimkan tiket.
Masuk ke Konsol DMS V5.0.
Geser pointer ke ikon
di sudut kiri atas konsol DMS dan pilih .CatatanJika Anda menggunakan konsol DMS dalam mode normal, pilih di bilah navigasi atas.
Atur parameter dalam tiket. Informasi berikut menjelaskan beberapa parameter.
SQL text: Masukkan pernyataan SQL yang benar yang dapat dieksekusi. Pisahkan beberapa pernyataan SQL dengan
titik koma (;).Attachment: Hanya lampiran SQL dengan tipe file
.txt,.zip, dan.sqlyang dapat diubah atau dikembalikan. Ukuran file tidak boleh melebihi 15 MB.
Klik Submit.
Setelah Anda mengirimkan tiket, sistem secara otomatis melakukan pra-pemeriksaan pada tiket tersebut. Jika tiket gagal dalam pra-pemeriksaan, modifikasi pernyataan SQL sesuai petunjuk dan kirimkan tiket lagi.
Setelah tiket disetujui, klik Execute Change. Di kotak dialog Task Settings, atur parameter sesuai kebutuhan dan klik Confirm Execution.
CatatanJika Anda mengatur parameter Execution Method menjadi After Audit Approved, Auto Execute di langkah Aplikasi, langkah ini akan dilewati secara otomatis.
Setelah tugas yang ditangguhkan dilanjutkan, skrip dapat dieksekusi dari posisi di mana skrip ditangguhkan.
Parameter
Deskripsi
Execution Strategy
Waktu ketika perubahan data dieksekusi. Nilai valid:
Running immediately: Perubahan data segera dieksekusi setelah tiket dikirimkan. Ini adalah nilai default.
Schedule: Perubahan data dieksekusi sesuai jadwal.
Enable Submit as Single Transaction
Menentukan apakah akan mengontrol pernyataan sebagai transaksi tunggal. Nilai default: off. Nilai valid:
on: Jika pernyataan SQL gagal, semua pernyataan bahasa manipulasi data (DML) yang dieksekusi dalam transaksi yang sama akan dikembalikan. Pernyataan DDL tidak dapat dikembalikan.
off: Pernyataan SQL yang ditentukan dieksekusi secara individual. Jika pernyataan SQL gagal, transaksi dihentikan. Pernyataan SQL lainnya yang dieksekusi dalam transaksi yang sama tidak dikembalikan.
Enable Backup
Menentukan apakah akan mencadangkan data. Nilai default: on. Nilai valid:
CatatanCadangan data didukung hanya untuk pernyataan
UPDATEdanDELETE.Anda tidak dapat mencadangkan data untuk database MongoDB dan Redis.
on: DMS menghasilkan pernyataan spesifik untuk mencadangkan data yang terpengaruh ketika pernyataan
UPDATEatauDELETEdieksekusi.Untuk database MySQL atau MariaDB, DMS menghasilkan pernyataan
REPLACE INTO.CatatanTipe database MySQL yang didukung termasuk ApsaraDB RDS for MySQL, PolarDB for MySQL, PolarDB-X, dan database MySQL yang tidak ada di Alibaba Cloud.
Jika database bukan database MySQL atau MariaDB, DMS menghasilkan pernyataan
INSERT.
off: DMS tidak menghasilkan pernyataan untuk cadangan data.
Opsional. Setelah tiket berhasil dieksekusi, pergi ke tab SQLConsole untuk database poc_prod untuk memeriksa apakah perubahan data sesuai dengan hasil yang diharapkan.
Konfigurasikan aturan keamanan untuk mengizinkan eksekusi pernyataan DML di database pengembangan tanpa tiket yang diperlukan
Jika tiket diperlukan untuk setiap operasi perubahan data di database pengembangan, efisiensi R&D pengembang menurun. Untuk menyelesaikan masalah ini, DMS memungkinkan Anda mengonfigurasi aturan keamanan yang mengizinkan pernyataan DML dieksekusi di tab SQLConsole tanpa perlu mengirimkan tiket. Ini meningkatkan efisiensi R&D dan memastikan keamanan data. Aturan keamanan ini didukung oleh mesin aturan keamanan DMS.
Contoh ini menunjukkan eksekusi pernyataan INSERT di konsol SQL.
Ubah aturan keamanan untuk database poc_dev menjadi aturan database pengembangan POC.
CatatanSecara default, DMS aturan keamanan memerlukan pernyataan DML untuk dieksekusi menggunakan tiket.
Masuk ke Konsol DMS V5.0 sebagai administrator DMS.
Geser pointer ke ikon
di sudut kiri atas dan pilih .CatatanJika Anda menggunakan konsol DMS dalam mode normal, pilih di bilah navigasi atas.
Di halaman Aturan Keamanan, klik Edit di kolom Actions yang sesuai dengan aturan database pengembangan POC.
Di panel navigasi sisi kiri, klik SQL Correct. Pilih SQL execution rules untuk Checkpoints.
Aktifkan Semua DML dapat dieksekusi langsung di SQLConsole dan nonaktifkan All DML must execute by ticket.
Masukkan data ke dalam tabel data_modify.
Di sudut kiri atas konsol DMS, cari instance database poc_dev dengan memasukkan kata kunci di kotak pencarian.
Di tab SQLConsole, masukkan pernyataan
INSERTberikut di editor SQL dan klik Execute: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');Di kotak dialog Execution Confirmation, klik Execute. Jika muncul pesan Executed, aturan keamanan berhasil dimodifikasi.
Konfigurasikan aturan keamanan untuk mengizinkan eksekusi pernyataan SQL berisiko tinggi di database poc_prod dengan tiket yang diperlukan
Anda dapat mengonfigurasi aturan keamanan untuk mendefinisikan proses persetujuan untuk berbagai jenis pernyataan SQL. Misalnya, risiko keamanan dapat terjadi setelah Anda mengeksekusi pernyataan DELETE. Oleh karena itu, Anda harus mengonfigurasi proses persetujuan yang ketat untuk mengeksekusi pernyataan DELETE.
Dalam contoh ini, pernyataan DELETE dikonfigurasi sebagai pernyataan SQL berisiko tinggi dan proses persetujuan tiket ditentukan untuk mengeksekusi pernyataan DELETE.
Konfigurasikan proses persetujuan.
Masuk ke Konsol DMS sebagai administrator DMS.
Geser pointer ke ikon
di sudut kiri atas dan pilih .CatatanJika Anda menggunakan konsol DMS dalam mode normal, pilih di bilah navigasi atas.
Klik Create Approval Template. Di pesan yang muncul, konfigurasikan parameter.
Node Persetujuan: Klik Add Node untuk menambahkan node persetujuan. Anda harus menambahkan node persetujuan dalam urutan menaik. Misalnya, node persetujuan dengan nomor urut 1 dan 2 adalah node persetujuan pertama dan kedua.
Setelah konfigurasi selesai, klik Submit.
Konfigurasikan aturan keamanan.
Geser pointer ke ikon
di sudut kiri atas dan pilih .CatatanJika Anda menggunakan konsol DMS dalam mode normal, pilih di bilah navigasi atas.
Di halaman Aturan Keamanan, klik Edit di kolom Actions di sebelah kanan aturan database produksi POC.
Di halaman Details, klik tab SQL Correct di panel sisi kiri.
Atur parameter Checkpoints menjadi Risk Identification Rules dan klik Create Rule.
Di kotak dialog Create Rule - SQL Correct, atur parameter untuk aturan keamanan.
Informasi berikut menjelaskan beberapa parameter.
Parameter
Deskripsi
Rule Name
Wajib. Dalam contoh ini, masukkan
Lingkungan produksi. Eksekusi pernyataan DELETE merupakan operasi berisiko tinggi.Rule DSL
Wajib. Dalam contoh ini, masukkan kode bahasa domain-spesifik (DSL) berikut:
if @fac.env_type in ['product','pre'] and @fac.sql_type in [ 'DELETE'] then @act.mark_risk 'high' 'Pernyataan SQL berisiko tinggi: DELETE di lingkungan produksi' endKlik Submit.
Temukan aturan Production environments. The execution of DELETE statements is a high-risk operation dan klik Enable di kolom Tindakan. Di pesan yang muncul, klik OK.
Setelah Anda klik OK, aturan mulai berlaku. Semua pernyataan
DELETEdiidentifikasi sebagai operasi berisiko tinggi.Atur parameter Checkpoints ke Risk Approval Rules. Temukan aturan High risk approval process dan klik Edit di kolom Actions.
Di kotak dialog Change Rule - SQL Correct, ubah ID template di bidang DSL Aturan menjadi ID template yang Anda buat di Langkah 1, dan klik Submit.
Temukan aturan High risk approval process dan klik Enable di kolom Tindakan. Di pesan yang muncul, klik OK.
Eksekusi pernyataan
DELETE.Di sudut kiri atas konsol DMS, cari instance database
poc_proddengan memasukkan kata kunci di kotak pencarian.Di tab SQLConsole, masukkan pernyataan
DELETEberikut di editor SQL dan klik Execute:DELETE FROM data_modify WHERE id = 1;Jika area Riwayat Eksekusi menampilkan pesan kesalahan yang menunjukkan kegagalan eksekusi karena aturan keamanan, Anda dapat mengklik Apply for Data Change untuk mengirimkan tiket guna mengeksekusi pernyataan
DELETE.CatatanMenjalankan pernyataan
DELETEdi database produksi adalah operasi berisiko tinggi. Anda harus mengirimkan tiket dan menunggu persetujuan dari approver yang ditentukan dalam Template Persetujuan.
Konfigurasikan aturan keamanan untuk melarang pernyataan TRUNCATE di database poc_prod
Pernyataan TRUNCATE digunakan untuk menghapus semua data dari sebuah tabel. Dalam kebanyakan kasus, pernyataan ini tidak dijalankan di database produksi karena dapat menyebabkan hilangnya data yang parah. Anda dapat mengonfigurasi aturan keamanan untuk melarang pernyataan TRUNCATE.
Contoh ini menunjukkan cara melarang eksekusi pernyataan TRUNCATE di konsol SQL atau dengan mengirimkan tiket.
Ubah aturan keamanan.
Masuk ke Konsol DMS sebagai administrator DMS.
Geser pointer ke ikon
di sudut kiri atas dan pilih .CatatanJika Anda menggunakan konsol DMS dalam mode normal, pilih di bilah navigasi atas.
Di halaman Aturan Keamanan, klik Edit di kolom Actions di sebelah kanan
aturan database produksi POC.Di panel navigasi sisi kiri, klik SQL Correct. Pilih SQL execution rules untuk Checkpoints.
Temukan aturan Allow TRUNCATE to be executed directly in the SQL console dan klik Edit di kolom Actions di sebelah kanan aturan tersebut.
Ubah nama aturan menjadi
Larang pernyataan TRUNCATE. Ganti sintaks DSL asli dengan sintaks DSL berikut, dan klik Submit.if @fac.sql_type in ['TRUNCATE'] then @act.forbid_execute endCatatanSintaks DSL di atas melarang eksekusi pernyataan
TRUNCATEdi konsol SQL atau dengan mengirimkan tiket. Untuk informasi lebih lanjut tentang sintaks DSL untuk aturan keamanan, lihat Sintaks DSL untuk aturan keamanan.Temukan aturan TRUNCATE cannot be executed directly in the SQL console. It must be executed as a ticket. dan klik Enable di kolom Tindakan. Di pesan yang muncul, klik OK.
Eksekusi pernyataan TRUNCATE pada tab SQLConsole.
Di sudut kiri atas konsol DMS, cari instance database
poc_proddengan memasukkan kata kunci di kotak pencarian.Di tab SQLConsole, masukkan pernyataan
TRUNCATEberikut di editor SQL dan klik Execute:TRUNCATE TABLE `data_modify`;Eksekusi Gagal ditampilkan. Karena aturan keamanan, sistem melarang eksekusi pernyataan
TRUNCATEdi konsol SQL.
Kirim tiket untuk mengeksekusi pernyataan TRUNCATE. Untuk informasi lebih lanjut, lihat bagian Kirim tiket untuk melakukan operasi perubahan data rutin dari topik ini.
CatatanTentukan pernyataan SQL berikut untuk parameter Change SQL dalam tiket perubahan data.
TRUNCATE TABLE `data_modify`;Setelah Anda mengirimkan tiket, konfirmasikan hasil pra-pemeriksaan. Jika pra-pemeriksaan gagal, aturan keamanan yang melarang pernyataan
TRUNCATEuntuk dieksekusi dengan mengirimkan tiket sedang berlaku.