Tüm Ürünler
Search
Belge Merkezi

Data Management:Regular data change

Son Güncelleme:Oct 04, 2026

Data Management (DMS) içinde koruma sınırları olmadan veri değiştirmek risklidir; üretim ortamında bir DELETE işlemi ters gidebilir ve yanlışlıkla çalıştırılan bir TRUNCATE geri alınamaz. DMS, bu sorunu SQL ifadelerinin SQLConsole üzerinde doğrudan mı çalıştırılacağını, bilet onayı mı gerektirdiğini yoksa tamamen mi engelleneceğini belirleyen güvenlik ilkeleriyle çözer. Bu konu, her ortam için doğru yönetim ilkesini yapılandırabilmeniz amacıyla Güvenlik İşbirliği modundaki dört yaygın senaryoyu adım adım açıklar.

Nasıl çalışır

DMS üzerindeki her veri değişikliği şu yaşam döngüsünü izler:

Aşama Açıklama
SQL Yazma SQLConsole üzerinde SQL ifadelerini girin veya bir bilette .sql, .txt ya da .zip dosyası ekleyin.
Ön Denetim DMS, çalıştırmadan önce SQL ifadelerini güvenlik ilkelerinize göre otomatik olarak doğrular.
Onay Güvenlik ilkeleri bir bilet gerektiriyorsa değişiklik belirlenen onaylayıcılara (varsayılan olarak veritabanı yöneticilerine) gönderilir.
Execute Değişikliği hemen çalıştırın veya zamanlayın. İsteğe bağlı olarak veri işleme dili (DML) ifadelerini tek bir işlem içinde sarabilirsiniz.
Yedekleme ve geri alma DMS, gerektiğinde geri alabilmeniz için UPDATE ve DELETE işlemlerine yönelik yedekleme ifadeleri oluşturabilir.

Her aşamadaki davranış, her veritabanı örneğine iliştirilebilen yapılandırılabilir ilkeler olan güvenlik kuralları tarafından belirlenir.

Ön koşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

  • Bir DMS yönetici hesabı veya veri değişikliği biletleri gönderme izinleri

  • Güvenlik İşbirliği modunda DMS'ye kayıtlı poc_prod ve poc_dev veritabanı örnekleri

  • Her iki veritabanında da oluşturulmuş data_modify tablosu

data_modify tablosunu oluşturun

Bu konudaki dört örnekte, data_modify tablosunu oluşturmak için DMS'nin Şema tasarımı özelliği kullanılmıştır. Bu ifadeyi SQLConsole üzerinde doğrudan da çalıştırabilirsiniz; geliştirme veritabanlarında DDL ifadelerini çalıştırmak için bilet gerekmez.

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';

Dört senaryonun tamamında kullanılan güvenlik kuralı kümeleri:

Veritabanı örneği Güvenlik kuralı kümesi
poc_dev POC Geliştirme Veritabanları için Güvenlik Kuralları
poc_prod POC Üretim Veritabanları için Güvenlik Kuralları

Düzenli veri değişikliği için bilet gönderin

Bu senaryoda, bir veri değişikliği bileti göndererek poc_prod içindeki data_modify tablosuna satır eklenir.

  1. DMS konsolu V5.0DMS konsolu V5.0 adresinde oturum açın.

  2. Sol üst köşedeki 2023-01-28_15-57-17.png simgesinin üzerine gelin ve All Features > Database Development > Data Change > Normal Data Modify seçeneklerini seçin.

    Normal modda üst gezinti çubuğundan Database Development > Data Change > Normal Data Modify seçeneklerini seçin.
  3. Bilet parametrelerini doldurun. Önemli parametreler:

    Parametre Açıklama
    SQL text Çalıştırılacak SQL ifadesi. Birden çok ifadeyi noktalı virgülle (;) ayırın.
    Attachment Bir .txt, .zip veya .sql dosyası yükleyin. Maksimum dosya boyutu: 15 MB.
  4. Submit düğmesini tıklayın. DMS otomatik olarak ön denetim yapar. Ön denetim başarısız olursa SQL'i isteme göre güncelleyip yeniden gönderin.

  5. Ön denetim başarılı olduktan sonra Submit for Approval düğmesini tıklayın, ardından onay isteminde OK seçeneğini belirleyin.

    Veri değişikliği biletleri varsayılan olarak veritabanı yöneticileri tarafından onaylanır. Varsayılan onay şablonunu değiştirmek için SQL Düzeltme konusundaki Varsayılan onay şablonunu değiştirin bölümüne bakın.
  6. Bilet onaylandıktan sonra Execute Change seçeneğini tıklayın. Task Settings iletişim kutusunda yürütme parametrelerini yapılandırın ve Confirm Execution düğmesini tıklayın.

    Başvuru adımı sırasında Execution Method seçeneğini After Audit Approved, Auto Execute olarak ayarlarsanız bu adım otomatik olarak atlanır. Askıya alınmış bir görev devam ettirildiğinde yürütme kaldığı yerden sürdürülür.
    Parametre Açıklama
    Execution strategy Running immediately (varsayılan): Bilet onaylandığında hemen çalıştırılır. Schedule: Belirtilen zamanda çalıştırılır.
    Enable Submit as Single Transaction Varsayılan: kapalı. Açık: Herhangi bir DML ifadesi başarısız olursa işlemdeki tüm DML ifadeleri geri alınır (DDL ifadeleri geri alınamaz). Kapalı: Her ifade bağımsız olarak çalıştırılır; başarısızlık durumunda yürütme durur ancak önceki ifadeler geri alınmaz.
    Enable Backup Varsayılan: açık. DMS, UPDATE ve DELETE ifadeleri için yedekleme ifadeleri oluşturur. Veritabanına özel ayrıntılar için Yedekleme desteği bölümüne bakın.
  7. İsteğe bağlı. Yürütme tamamlandıktan sonra poc_prod için SQLConsole'u açın ve sonuçları doğrulayın.

Yedekleme desteği

Yedekleme yalnızca UPDATE ve DELETE ifadeleri için geçerlidir. INSERT ve DDL ifadeleri yedeklenmez.

Veritabanı türü Oluşturulan yedekleme ifadesi Notlar
MySQL, MariaDB REPLACE INTO ApsaraDB RDS for MySQL, PolarDB for MySQL, PolarDB-X ve kendi kendine yönetilen MySQL dahil
Desteklenen diğer tüm veritabanları INSERT —
MongoDB, Redis Desteklenmez —

Geliştirme veritabanında DML ifadelerinin doğrudan çalışmasına izin verin

Varsayılan olarak DMS güvenlik ilkeleri tüm DML ifadelerinin bilet üzerinden geçmesini gerektirir. Geliştirme veritabanlarında bu durum yinelemeyi yavaşlatır. Geliştiricilerin her seferinde bilet göndermeden DML ifadelerini doğrudan SQLConsole üzerinde çalıştırabilmesi için güvenlik ilkelerini yapılandırın.

1. Adım: poc_dev için güvenlik ilkelerini güncelleyin

  1. Bir DMS yöneticisi olarak DMS konsolu V5.0DMS konsolu V5.0 adresinde oturum açın.

  2. Sol üst köşedeki 2023-01-28_15-57-17.png simgesinin üzerine gelin ve All Features > Security and disaster recovery (DBS) > Security Rules seçeneklerini seçin.

    Normal modda üst gezinti çubuğundan Security and disaster recovery (DBS) > Security Rules seçeneklerini seçin.
  3. Sol üst köşedeki 2023-01-28_15-57-17.png simgesinin üzerine gelin ve All Features > Security and disaster recovery (DBS) > Security Rules seçeneklerini seçin.

    Not

    DMS konsolunu normal modda kullanıyorsanız üst gezinti çubuğundan Security and disaster recovery (DBS) > Security Rules seçeneklerini seçin.

  4. Sol üst köşedeki 2023-01-28_15-57-17.png simgesinin üzerine gelin ve All Features > Security and disaster recovery (DBS) > Security Rules seçeneklerini seçin.

    Not

    DMS konsolunu normal modda kullanıyorsanız üst gezinti çubuğundan Security and disaster recovery (DBS) > Security Rules seçeneklerini seçin.

  5. Sol üst köşedeki 2023-01-28_15-57-17.png simgesinin üzerine gelin ve All Features > Security and disaster recovery (DBS) > Security Rules seçeneklerini seçin.

    Not

    DMS konsolunu normal modda kullanıyorsanız üst gezinti çubuğundan Security and disaster recovery (DBS) > Security Rules seçeneklerini seçin.

  6. Security Rules sayfasında POC geliştirme veritabanı kurallarını bulun ve Actions sütunundaki Edit seçeneğini tıklayın.

  7. Sol gezinme bölmesinde SQL Correct seçeneğini tıklayın. Checkpoints değerini SQL execution rules olarak ayarlayın.

  8. All DML can execute directly in SQLConsole seçeneğini etkinleştirin ve All DML must execute by ticket seçeneğini devre dışı bırakın.

2. Adım: Kural değişikliğini doğrulayın

  1. DMS konsolunun sol üst köşesinde poc_dev örneğini arayın.

  2. SQLConsole sekmesinde aşağıdaki INSERT ifadelerini çalıştırın:

    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. Execution Confirmation iletişim kutusunda Execute düğmesini tıklayın. Sonuçta Executed görünüyorsa kural değişikliği düzgün çalışıyor demektir.

Üretim veritabanında yüksek riskli SQL için bilet onayı gerektirin

DELETE gibi bazı SQL ifadeleri üretim ortamında önemli risk taşır. DELETE ifadesini yüksek riskli olarak işaretlemek ve ayrı bir onay sürecinden geçmesini sağlamak için güvenlik ilkelerini yapılandırın.

1. Adım: Onay süreci oluşturun

  1. Bir DMS yöneticisi olarak DMS konsoluDMS konsolu adresinde oturum açın.

  2. Sol üst köşedeki 2023-01-28_15-57-17.png simgesinin üzerine gelin ve All Features > Security and disaster recovery (DBS) > Approval Processes seçeneklerini seçin.

    Normal modda üst gezinti çubuğundan Security and disaster recovery (DBS) > Approval Processes seçeneklerini seçin.
  3. Create Approval Template düğmesini tıklayın ve onay düğümlerini yapılandırın. Düğümleri artan sırayla ekleyin; 1. düğüm ilk onaylayıcı, 2. düğüm ikinci onaylayıcıdır ve bu şekilde devam eder.

  4. Submit düğmesini tıklayın.

2. Adım: Risk tanımlama kuralı yapılandırın

  1. Sol üst köşedeki 2023-01-28_15-57-17.png simgesinin üzerine gelin ve All Features > Security and disaster recovery (DBS) > Security Rules seçeneklerini seçin.

    Normal modda üst gezinti çubuğundan Security and disaster recovery (DBS) > Security Rules seçeneklerini seçin.
  2. Security Rules sayfasında POC üretim veritabanı kurallarını bulun ve Actions sütunundaki Edit seçeneğini tıklayın.

  3. Sol gezinme bölmesinde SQL Correct seçeneğini tıklayın. Checkpoints değerini Risk Identification Rules olarak ayarlayın ve Create Rule düğmesini tıklayın.

  4. Create Rule - SQL Correct iletişim kutusunda aşağıdaki parametreleri ayarlayın:

    Parametre Değer
    Rule name Production environments. The execution of DELETE statements is a high-risk operation
    Rule DSL Aşağıdaki DSL koduna bakın
    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. Submit düğmesini tıklayın.

  6. Production environments. The execution of DELETE statements is a high-risk operation kuralını bulun ve Actions sütunundaki Enable seçeneğini tıklayın. Onay mesajında OK düğmesini tıklayın. Kural hemen etkili olur; tüm DELETE ifadeleri yüksek riskli işlemler olarak tanımlanır.

3. Adım: Onay sürecini risk onay kuralına bağlayın

  1. Checkpoints değerini Risk Approval Rules olarak ayarlayın. High risk approval process kuralını bulun ve Actions sütunundaki Edit seçeneğini tıklayın.

  2. Change Rule - SQL Correct iletişim kutusunda Rule DSL alanındaki şablon kimliğini 1. Adımda oluşturduğunuz onay şablonunun kimliğiyle değiştirin. Submit düğmesini tıklayın.

  3. High risk approval process kuralını bulun ve Enable seçeneğini tıklayın. Onaylamak için OK düğmesini tıklayın.

4. Adım: Kuralı doğrulayın

  1. DMS konsolunda poc_prod örneğini arayın.

  2. SQLConsole sekmesinde aşağıdaki ifadeyi çalıştırın:

    DELETE FROM data_modify WHERE id = 1;
  3. Yürütme Geçmişi alanında güvenlik kuralları nedeniyle bir hata iletisi görünüyorsa kural çalışıyor demektir. Bilet göndermek ve onay sürecinden geçmek için Apply for Data Change seçeneğini tıklayın.

    Üretim veritabanında DELETE çalıştırmak yüksek riskli bir işlemdir. Biletin çalıştırılabilmesi için onay şablonunda belirtilen onaylayıcı tarafından onaylanması gerekir.

Üretim veritabanında TRUNCATE ifadelerini engelleyin

TRUNCATE bir tablodaki tüm satırları temizler ve geri alınamaz. Üretim ortamında yanlışlıkla veri kaybını önlemek için hem SQLConsole hem de biletler üzerinden TRUNCATE ifadelerini engelleyen bir güvenlik kuralı yapılandırın.

1. Adım: TRUNCATE'ı engellemek için güvenlik kuralını değiştirin

  1. Bir DMS yöneticisi olarak DMS konsoluDMS konsolu adresinde oturum açın.

  2. Sol üst köşedeki 2023-01-28_15-57-17.png simgesinin üzerine gelin ve All Features > Security and disaster recovery (DBS) > Security Rules seçeneklerini seçin.

    Normal modda üst gezinti çubuğundan Security and disaster recovery (DBS) > Security Rules seçeneklerini seçin.
  3. Security Rules sayfasında POC üretim veritabanı kurallarını bulun ve Actions sütunundaki Edit seçeneğini tıklayın.

  4. Sol gezinme bölmesinde SQL Correct seçeneğini tıklayın. Checkpoints değerini SQL execution rules olarak ayarlayın.

  5. Allow TRUNCATE to be executed directly in the SQL console kuralını bulun ve Actions sütunundaki Edit seçeneğini tıklayın.

  6. Kuralı Forbid TRUNCATE statements olarak yeniden adlandırın. Mevcut alana özgü dili (DSL) aşağıdakiyle değiştirin ve Submit düğmesini tıklayın:

    Bu DSL, hem SQLConsole hem de biletler üzerinden TRUNCATE işlemini engeller. DSL sözdizimi hakkında daha fazla bilgi için Güvenlik kuralları için DSL sözdizimi bölümüne bakın.
    if
        @fac.sql_type in
          ['TRUNCATE']
    then
        @act.forbid_execute
    end
  7. TRUNCATE cannot be executed directly in the SQL console. It must be executed as a ticket. kuralını bulun ve Actions sütunundaki Enable seçeneğini tıklayın. Onaylamak için OK düğmesini tıklayın.

2. Adım: Kuralı SQLConsole'da doğrulayın

  1. DMS konsolunda poc_prod örneğini arayın.

  2. SQLConsole sekmesinde aşağıdaki ifadeyi çalıştırın:

    TRUNCATE TABLE `data_modify`;
  3. Execution Failed görüntülenir. Güvenlik kuralı TRUNCATE ifadesini engelliyor.

3. Adım: Kuralı bilet gönderimleri için doğrulayın

Aşağıdaki SQL ifadesini içeren bir veri değişikliği bileti gönderin (bkz. Düzenli veri değişikliği için bilet gönderin):

TRUNCATE TABLE `data_modify`;

Bileti gönderdikten sonra ön denetim sonuçlarını kontrol edin. Ön denetim başarısız olursa kural TRUNCATE işlemini bilet iş akışı üzerinden de engelliyor demektir.

Sırada ne var