Tüm Ürünler
Search
Belge Merkezi

Data Management:İlişkisel veritabanları için SQL Konsolu

Son Güncelleme:Oct 04, 2026

Data Management (DMS), SQL Konsolu modülündeki işlemler için güvenlik kuralları yapılandırmanıza olanak tanır. SQL Konsolu'nda hem ilişkisel hem de ilişkisel olmayan veritabanlarını yönetebilirsiniz. Bu konu, SQL Konsolu'ndaki işlemlere yönelik güvenlik kurallarını açıklar. Bu örnekte, ApsaraDB RDS for MySQL için güvenlik kuralları kullanılmıştır.

SQL Konsolu'ndaki kontrol noktaları


Kontrol Noktası


Açıklama


Basic Configuration Item


Sorgu başına döndürülebilecek maksimum satır sayısı, sonuç kümelerinin değiştirilip değiştirilemeyeceği ve hassas verilerin hesaplanıp hesaplanamayacağı gibi temel yapılandırmaları belirtmenizi sağlar.


SQL Execution Quantity Criteria


Tek seferde gönderilebilecek SQL deyimlerinin sayısını sınırlamanızı sağlar.


DQL SQL Criteria


Veri sorgulama dili (DQL) deyimlerinin yürütülmesi üzerine kısıtlamalar ayarlamanızı sağlar.


Other SQL Criteria


Birden fazla türdeki SQL deyimlerinin yürütülmesi üzerine kısıtlamalar ayarlamanızı sağlar. Örneğin, tanımlanmamış SQL deyimlerinin yürütülmesine izin verebilir veya tam tabloları silen deyimlerin yürütülmesini reddedebilirsiniz.


SQL Permission Criteria


Veritabanları, tablolar, hassas sütunlar ve satırlar üzerindeki izinlere dayalı olarak SQL deyimlerinin yürütülmesi üzerine kısıtlamalar ayarlamanızı sağlar.


SQL Execution Performance Criteria


İlgili tablo alanının boyutu üst sınırı aştığında DDL deyimlerinin yürütülmesini reddetmenize veya etkilenen satır sayısı üst sınırı aştığında DML deyimlerinin yürütülmesini reddetmenize olanak tanır.


Exception Recognition Criteria of Database and Table Column Permissions


Ayrıştırma istisnaları meydana gelirse DQL, DML, DDL veya veri denetim dili (DCL) deyimleri gibi SQL deyimlerinin yürütülmesinin devam edip etmeyeceğini veya reddedileceğini belirtmenizi sağlar.


SQL Execution Criteria in Logical Databases


Farklı türlerdeki SQL deyimlerinin yürütülmesi üzerine kısıtlamalar ayarlamanızı sağlar.

Not

DMS, kontrol noktaları için çok sayıda önceden tanımlanmış yapılandırma ve kural sunar. Yapılandırmaları değiştirebilir, kuralların durumunu güncelleyebilir ve iş gereksinimlerinize göre özel güvenlik kuralları oluşturabilirsiniz. Daha fazla bilgi için "Güvenlik kurallarını yönetme" konusunun Bir kural kümesinde kuralları yapılandırma bölümüne bakın.

Aşağıdaki akış şeması, kontrol noktalarının nasıl çalıştığını gösterir.

image

Faktörler ve eylemler

  • Faktör, DMS tarafından sağlanan önceden tanımlanmış bir değişkendir. Faktörleri kullanarak güvenlik kuralları tarafından doğrulanacak bağlamı (SQL deyimlerinin kategorileri ve etkilenmesi gereken veri satırlarının sayısı gibi) elde edebilirsiniz.

    • Tüm faktörler @fac. ile başlar ve ardından faktör adı gelir.

    • Bir güvenlik kuralı kümesinin Ayrıntılar sayfasındaki her modül, farklı kontrol noktaları için farklı faktörler sağlar.

    Tablo 1. SQL Konsolu modülü tarafından sağlanan faktörler

    Faktör

    Açıklama

    @fac.sql_count

    Tek seferde gönderilen SQL deyimlerinin sayısı.

    @fac.select_sql_count

    Tek seferde gönderilen SQL deyimleri arasındaki DQL deyimlerinin sayısı.

    @fac.dml_sql_count

    Tek seferde gönderilen SQL deyimleri arasındaki DML deyimlerinin sayısı.

    @fac.sql_type

    Bir SQL deyiminin kategorisi. Daha fazla bilgi için bu konunun DMS'de yürütülebilen SQL deyimleri bölümüne bakın.

    @fac.sql_sub_type

    Bir SQL deyiminin alt kategorisi. Daha fazla bilgi için bu konunun DMS'de yürütülebilen SQL deyimleri bölümüne bakın.

    @fac.env_type

    Ortam türü. Değer, DEV veya PRODUCT gibi bir ortam tanımlayıcısıdır. Daha fazla bilgi için bkz. Örnek ortam türü.

    @fac.fulltable_delete

    Geçerli SQL deyiminin tam tablo DELETE olup olmadığını gösterir. Geçerli değerler şunlardır:

    • true

    • false

    @fac.fulltable_update

    Geçerli SQL deyiminin tam tablo UPDATE olup olmadığını belirtir. Geçerli değerler:

    • true

    • false

    @fac.current_sql

    Geçerli SQL deyimi.

    @fac.user_is_admin

    Geçerli kullanıcının bir DMS yöneticisi olup olmadığını gösterir. Geçerli değerler:

    • true

    • false

    @fac.user_is_dba

    Geçerli kullanıcının bir veritabanı yöneticisi (DBA) olup olmadığını gösterir. Geçerli değerler:

    • true

    • false

    @fac.user_is_inst_dba

    Geçerli kullanıcının geçerli veritabanı örneğinin DBA'sı olup olmadığını gösterir. Geçerli değerler:

    • true

    • false

    @fac.user_is_sec_admin

    Geçerli kullanıcının bir güvenlik yöneticisi olup olmadığını gösterir. Geçerli değerler:

    • true

    • false

    @fac.sql_affected_rows

    Geçerli SQL deyimi tarafından etkilenmesi gereken satır sayısı.

    Not

    Bir COUNT işlemi gerçekleştirilecektir, bu nedenle dikkatli kullanın.

    @fac.sql_relate_table_store_size

    Geçerli SQL deyimi tarafından erişilmesi gereken tablonun tahmini toplam boyutu. Birim: MB.

    Not

    Bu değer, DMS tarafından elde edilen meta verilere dayanarak tahmin edilir. Gerçek bir değer değildir.

  • Eylem: Bir if koşulu karşılandığında sistemin uyguladığı davranıştır. Bu eylem, bilet gönderimini yasaklama, bir onay süreci seçme, yürütmeye izin verme veya yürütmeyi reddetme gibi bir güvenlik kuralının ana amacını ifade eder.

    • Tüm eylemler @act. ile başlar ve ardından eylem adı gelir.

    • Bir güvenlik kuralı kümesinin Ayrıntılar sayfasındaki her modül, farklı kontrol noktaları için farklı eylemler sağlar.

    Tablo 2. SQL Konsolu modülü tarafından sağlanan eylemler


    Eylem


    Açıklama


    @act.reject_execute


    Geçerli SQL deyiminin yürütülmesini reddeder.


    @act.allow_execute


    Geçerli SQL deyiminin yürütülmesine izin verir.


    @act.reject_sql_type_execute


    Belirli bir türdeki SQL deyimini reddetmek için SQL alt türünü belirtmeniz gerekir. Örneğin: @act.reject_sql_type_execute 'UPDATE'.


    @act.allow_sql_type_execute


    Belirli bir türdeki SQL'in yürütülmesine izin vermek için tam SQL alt türünü belirtmeniz gerekir. Örneğin: @act.allow_sql_type_execute 'UPDATE'.


    @act.check_dml_sec_column_permission


    Kullanıcının hassas alanlar üzerinde izni olup olmadığını denetler. Kullanıcı gerekli izinlere sahip değilse veri değişikliği için bir DML deyimi yürütülmez.


    @act.uncheck_dml_sec_column_permission


    Kullanıcının hassas alanlar üzerinde izni olup olmadığını denetlemez.


    @act.check_sql_access_permission


    Kullanıcının, yürütülecek SQL deyimlerinde yer alan veritabanları, tablolar veya alanlar üzerinde belirli izinlere sahip olup olmadığını denetler. Örneğin, kullanıcının veri sorgulama veya veri değiştirme izinlerine sahip olup olmadığını denetleyebilirsiniz.


    @act.uncheck_sql_access_permission


    Kullanıcının, yürütülecek SQL deyimlerinde yer alan veritabanları, tablolar veya alanlar üzerinde belirli izinlere sahip olup olmadığını denetlemez.


    @act.enable_sec_column_mask


    Hassas alanlar üzerinde izni olmayan kullanıcılar tarafından gönderilen SQL deyimleri için döndürülen sorgu sonuç kümelerindeki hassas alanları maskeler.


    @act.disable_sec_column_mask


    Hassas alanlar üzerinde izni olmayan kullanıcılar tarafından gönderilen SQL deyimleri için döndürülen sorgu sonuç kümelerindeki hassas alanları maskelemez.

DMS'de yürütülebilen SQL deyimleri

DML

  • INSERT

  • INSERT_SELECT

  • SELECT_INTO

  • MULTI_INSERT

  • REPLACE

  • REPLACE_INTO

  • UPDATE

  • DELETE

  • MERGE

  • REMOVE

  • MSCK_REPAIR

  • REFRESH_MATERIALIZED_VIEW

  • BEGIN

  • START_TRANSACTION

  • COMMIT

  • ROLLBACK

  • SAVEPOINT

  • RELEASE_SAVEPOINT

  • SET

  • ADD_EDGE

  • ADD_VERTEX

  • SET_PROPERTY

  • GDB_DROP

  • INSERT_MANY

  • INSERT_ONE

  • DELETE_MANY

  • DELETE_ONE

  • UPDATE_MANY

  • UPDATE_ONE

  • WLM_ADD_RULE

DDL

  • CREATE

  • CREATE_SCHEMA

  • CREATE_INDEX

  • CREATE_VIEW

  • CREATE_SEQUENCE

  • CREATE_TABLE

  • CREATE_TABLEGROUP

  • CREATE_PACKAGE

  • CREATE_SELECT

  • TRUNCATE

  • DROP

  • DROP_SCHEMA

  • DROP_INDEX

  • DROP_VIEW

  • DROP_TABLE

  • DROP_TABLEGROUP

  • DROP_SEQUENCE

  • RENAME

  • ALTER_TABLE_DROP_COLUMN

  • ALTER_TABLE_CHARACTER_COLLATE

  • ALTER_TABLE_AUTOINCREMENT

  • ALTER

  • ALTER_SCHEMA

  • ALTER_INDEX

  • ALTER_VIEW

  • ALTER_TABLE

  • ALTER_TABLEGROUP

  • ALTER_SEQUENCE

  • CREATE_FUNCTION

  • ALTER_FUNCTION

  • DROP_FUNCTION

  • CREATE_PROCEDURE

  • ALTER_PROCEDURE

  • DROP_PROCEDURE

  • MONGO_CREATE_INDEX

  • MONGO_DROP_INDEX

  • CREATE_DATABASE

  • ALTER_DATABASE

  • DROP_DATABASE

  • CREATE_USER

  • ALTER_USER

  • DROP_USER

  • CREATE_ROLE

  • DROP_ROLE

  • EXEC

  • CALL_PROCEDURE

  • CREATE_TRIGGER

  • ALTER_TRIGGER

  • DROP_TRIGGER

  • CREATE_EVENT

  • ALTER_EVENT

  • DROP_EVENT

  • ROLLBACK_DDL

  • CANCEL_DDL

  • VACUUM

  • SUBMIT_JOB

  • CANCEL_JOB

  • BUILD_TABLE

  • IF

DQL

  • SELECT

  • DESC

  • EXPLAIN

  • SHOW_INDEX

  • SHOW

  • CHECK_TABLE

  • SHOW_DDL

  • LIST

  • GDB_QUERY

  • CHECKSUM

  • SELECT_PG_TERMINATION_BACKEND

  • WLM_LIST_RULE

DCL

  • GRANT

  • DECLARE

  • SET

  • ANALYZE

  • FLUSH

  • OPTIMIZE

  • KILL

  • RECOVER_DDL

  • REMOVE_DDL

  • SELECT_PG_TERMINATION_BACKEND

SSS

  • S: SELECT * deyimlerinin yürütülmesini kısıtlayabilir miyim?

    C: Evet. Bu eylem, güvenlik iş birliği modu etkinleştirilmiş bir örnek gerektirir.

    1. DMS konsolunun üst gezinme çubuğunda Security and Disaster Recovery > Security Rules öğelerini seçin.

    2. Rule Sets sekmesinde veri motoru türünüzle eşleşen kural kümesini seçin.

    3. Hedef kural kümesini bulun ve Actions sütunundaki Edit düğmesine tıklayarak Details sayfasına gidin.

    4. Sol gezinme bölmesinden SQL console öğesini seçin. Checkpoints altında SQL execution count criteria seçeneğini belirleyin.

    5. Add Rule düğmesine tıklayın ve aşağıdaki DSL betiğini girin.

      if 
        @fac.sql_sub_type in ['SELECT'] 
        AND @fun.is_contain_str(@fac.current_sql,'*') 
      then 
        @act.reject_execute 'The SQL statement contains *. Please use an alternative method.' 
      end
  • S: SQL konsolunda büyük sorguları kısıtlamak için kuralları nasıl yapılandırırım?

    C: Bu eylem, güvenlik iş birliği modu etkinleştirilmiş bir örnek gerektirir.

    1. DMS konsolunun üst gezinme çubuğunda Security and Disaster Recovery > Security Rules öğelerini seçin.

    2. Rule Sets sekmesinde veri motoru türünüzle eşleşen kural kümesini seçin.

    3. Hedef kural kümesini bulun ve Actions sütunundaki Edit düğmesine tıklayarak Details sayfasına gidin.

    4. Sol gezinme bölmesinden SQL console öğesini seçin. Arama kutusuna "full table scan" yazın ve Search düğmesine tıklayın.

    5. Listeden hedef kuralı seçin ve yapılandırmak için Düzenle düğmesine tıklayın.