All Products
Search
Document Center

Data Management:Konsol SQL untuk database relasional

Last Updated:Apr 23, 2026

Data Management (DMS) memungkinkan Anda mengonfigurasi aturan keamanan untuk operasi di modul SQL Console. Anda dapat mengelola database relasional dan non-relasional melalui SQL Console. Topik ini menjelaskan aturan keamanan untuk operasi di SQL Console, dengan contoh berdasarkan ApsaraDB RDS for MySQL.

Checkpoint di SQL Console

Checkpoint

Deskripsi

Basic Configuration Item

Memungkinkan Anda menentukan konfigurasi dasar, seperti jumlah maksimum baris yang dapat dikembalikan per kueri, apakah set hasil dapat dimodifikasi, dan apakah data sensitif dapat dihitung.

SQL Execution Quantity Criteria

Memungkinkan Anda membatasi jumlah pernyataan SQL yang dapat diajukan sekaligus.

DQL SQL Criteria

Memungkinkan Anda menetapkan batasan pada eksekusi pernyataan Data Query Language (DQL).

Other SQL Criteria

Memungkinkan Anda menetapkan batasan pada eksekusi berbagai jenis pernyataan SQL. Misalnya, Anda dapat mengizinkan eksekusi pernyataan SQL yang tidak teridentifikasi dan menolak eksekusi pernyataan yang menghapus tabel secara penuh.

SQL Permission Criteria

Memungkinkan Anda menetapkan batasan pada eksekusi pernyataan SQL berdasarkan izin pada database, tabel, kolom sensitif, dan baris.

SQL Execution Performance Criteria

Memungkinkan Anda menolak eksekusi pernyataan DDL jika ukuran ruang tabel yang terlibat melebihi batas atas, atau menolak eksekusi pernyataan DML jika jumlah baris yang terpengaruh melebihi batas atas.

Exception Recognition Criteria of Database and Table Column Permissions

Memungkinkan Anda menentukan apakah akan melanjutkan atau menolak eksekusi pernyataan SQL seperti DQL, DML, DDL, atau pernyataan Data Control Language (DCL) jika terjadi pengecualian saat penguraian.

SQL Execution Criteria in Logical Databases

Memungkinkan Anda menetapkan batasan pada eksekusi berbagai jenis pernyataan SQL.

Catatan

DMS menyediakan banyak konfigurasi dan aturan yang telah ditentukan sebelumnya untuk checkpoint. Anda dapat memodifikasi konfigurasi, mengubah status aturan, dan menyesuaikan aturan keamanan sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat bagian Configure rules in a rule set dalam topik "Manage security rules".

Bagan alir berikut menunjukkan cara kerja checkpoint.

Faktor dan aksi

  • Faktor adalah variabel yang telah ditentukan sebelumnya oleh DMS. Anda dapat menggunakan faktor untuk mendapatkan konteks yang akan divalidasi oleh aturan keamanan, seperti kategori pernyataan SQL dan jumlah baris data yang akan terpengaruh.

    • Semua faktor diawali dengan @fac., diikuti oleh nama faktor.

    • Setiap modul pada halaman Detail dari satu set aturan keamanan menyediakan faktor yang berbeda untuk checkpoint yang berbeda.

    Tabel 1. Faktor yang disediakan oleh modul SQL Console

    Faktor

    Deskripsi

    @fac.sql_count

    Jumlah pernyataan SQL yang diajukan sekaligus.

    @fac.select_sql_count

    Jumlah pernyataan DQL di antara pernyataan SQL yang diajukan sekaligus.

    @fac.dml_sql_count

    Jumlah pernyataan DML di antara pernyataan SQL yang diajukan sekaligus.

    @fac.sql_type

    Kategori pernyataan SQL. Untuk informasi selengkapnya, lihat bagian SQL statements that can be executed in DMS dalam topik ini.

    @fac.sql_sub_type

    Subkategori pernyataan SQL. Untuk informasi selengkapnya, lihat bagian SQL statements that can be executed in DMS dalam topik ini.

    @fac.env_type

    Jenis lingkungan. Nilainya berupa identifikasi lingkungan, seperti DEV atau PRODUCT. Untuk informasi selengkapnya, lihat Instance environment type.

    @fac.fulltable_delete

    Menunjukkan apakah pernyataan SQL saat ini merupakan DELETE tabel penuh. Nilai yang valid adalah:

    • true

    • false

    @fac.fulltable_update

    Menentukan apakah pernyataan SQL saat ini merupakan UPDATE tabel penuh. Nilai yang valid:

    • true

    • false

    @fac.current_sql

    Pernyataan SQL saat ini.

    @fac.user_is_admin

    Menunjukkan apakah pengguna saat ini merupakan administrator DMS. Nilai yang valid:

    • true

    • false

    @fac.user_is_dba

    Menunjukkan apakah pengguna saat ini merupakan Administrator basis data (DBA). Nilai yang valid:

    • true

    • false

    @fac.user_is_inst_dba

    Menunjukkan apakah pengguna saat ini merupakan DBA dari instansiasi basis data saat ini. Nilai yang valid:

    • true

    • false

    @fac.user_is_sec_admin

    Menunjukkan apakah pengguna saat ini merupakan administrator keamanan. Nilai yang valid:

    • true

    • false

    @fac.sql_affected_rows

    Jumlah baris yang akan terpengaruh oleh pernyataan SQL saat ini.

    Catatan

    Operasi COUNT akan dilakukan, jadi harap gunakan dengan hati-hati.

    @fac.sql_relate_table_store_size

    Perkiraan ukuran total tabel yang akan diakses oleh pernyataan SQL saat ini. Satuan: MB.

    Catatan

    Nilai ini diperkirakan berdasarkan metadata yang diperoleh oleh DMS. Nilai ini bukan nilai aktual.

  • Aksi: Perilaku yang dilakukan sistem ketika kondisi if terpenuhi. Aksi ini menyatakan tujuan utama aturan keamanan, seperti melarang pengajuan tiket, memilih proses persetujuan, mengizinkan eksekusi, atau menolak eksekusi.

    • Semua aksi diawali dengan @act., diikuti oleh nama aksi.

    • Setiap modul pada halaman Detail dari satu set aturan keamanan menyediakan aksi yang berbeda untuk checkpoint yang berbeda.

    Tabel 2. Aksi yang disediakan oleh modul SQL Console

    Aksi

    Deskripsi

    @act.reject_execute

    Menolak eksekusi pernyataan SQL saat ini.

    @act.allow_execute

    Mengizinkan eksekusi pernyataan SQL saat ini.

    @act.reject_sql_type_execute

    Untuk menolak jenis tertentu dari pernyataan SQL, Anda harus menentukan subjenis SQL tersebut. Contohnya: @act.reject_sql_type_execute 'UPDATE'.

    @act.allow_sql_type_execute

    Untuk mengizinkan eksekusi jenis SQL tertentu, Anda harus menentukan subjenis SQL secara tepat. Contohnya: @act.allow_sql_type_execute 'UPDATE'.

    @act.check_dml_sec_column_permission

    Memeriksa apakah pengguna memiliki izin pada bidang sensitif. Jika pengguna tidak memiliki izin yang diperlukan, pernyataan DML untuk perubahan data tidak akan dieksekusi.

    @act.uncheck_dml_sec_column_permission

    Tidak memeriksa apakah pengguna memiliki izin pada bidang sensitif.

    @act.check_sql_access_permission

    Memeriksa apakah pengguna memiliki izin tertentu pada database, tabel, atau bidang yang terlibat dalam pernyataan SQL yang akan dieksekusi. Misalnya, Anda dapat memeriksa apakah pengguna memiliki izin untuk mengkueri data atau mengubah data.

    @act.uncheck_sql_access_permission

    Tidak memeriksa apakah pengguna memiliki izin tertentu pada database, tabel, atau bidang yang terlibat dalam pernyataan SQL yang akan dieksekusi.

    @act.enable_sec_column_mask

    Menyamarkan bidang sensitif dalam set hasil kueri yang dikembalikan untuk pernyataan SQL yang diajukan oleh pengguna yang tidak memiliki izin pada bidang sensitif tersebut.

    @act.disable_sec_column_mask

    Tidak menyamarkan bidang sensitif dalam set hasil kueri yang dikembalikan untuk pernyataan SQL yang diajukan oleh pengguna yang tidak memiliki izin pada bidang sensitif tersebut.

Pernyataan SQL yang dapat dieksekusi di DMS

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

FAQ

  • Q: Apakah saya dapat membatasi eksekusi pernyataan SELECT *?

    A: Ya. Tindakan ini memerlukan instans dengan mode kolaborasi keamanan yang diaktifkan.

    1. Pada bilah navigasi atas Konsol DMS, pilih Security and Disaster Recovery > Security Rules.

    2. Pada tab Rule Sets, pilih set aturan yang sesuai dengan jenis mesin data Anda.

    3. Temukan set aturan target dan klik Edit pada kolom Actions untuk membuka halaman Details.

    4. Pada panel navigasi kiri, pilih SQL console. Di bawah Checkpoints, pilih SQL execution count criteria.

    5. Klik Add Rule dan masukkan skrip DSL berikut.

      if 
        @fac.sql_sub_type in ['SELECT'] 
        AND @fun.is_contain_str(@fac.current_sql,'*') 
      then 
        @act.reject_execute 'Pernyataan SQL mengandung *. Harap gunakan metode alternatif.' 
      end
  • Q: Bagaimana cara mengonfigurasi aturan untuk membatasi kueri besar di konsol SQL?

    A: Tindakan ini memerlukan instans dengan mode kolaborasi keamanan yang diaktifkan.

    1. Pada bilah navigasi atas Konsol DMS, pilih Security and Disaster Recovery > Security Rules.

    2. Pada tab Rule Sets, pilih set aturan yang sesuai dengan jenis mesin data Anda.

    3. Temukan set aturan target dan klik Edit pada kolom Actions untuk membuka halaman Details.

    4. Pada panel navigasi kiri, pilih SQL console. Pada kotak pencarian, masukkan "full table scan" dan klik tombol Search.

    5. Pilih aturan target dari daftar dan klik tombol Edit-nya untuk mengonfigurasi aturan tersebut.