Data Management (DMS) memungkinkan Anda mengonfigurasi aturan keamanan untuk operasi di modul SQL Console. Anda dapat mengelola basis data relasional dan non-relasional di SQL Console. Topik ini menjelaskan aturan keamanan untuk operasi di SQL Console. Dalam contoh ini, aturan keamanan untuk ApsaraDB RDS for MySQL digunakan.
Pemeriksaan di SQL Console
Pemeriksaan | 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 bahasa kueri data (DQL). |
Other SQL Criteria | Memungkinkan Anda menetapkan batasan pada eksekusi berbagai jenis pernyataan SQL. Sebagai contoh, Anda dapat mengizinkan eksekusi pernyataan SQL yang tidak teridentifikasi dan menolak eksekusi pernyataan yang menghapus tabel penuh. |
SQL Permission Criteria | Memungkinkan Anda menetapkan batasan pada eksekusi pernyataan SQL berdasarkan izin pada basis data, tabel, kolom sensitif, dan baris. |
SQL Execution Performance Criteria | Memungkinkan Anda menolak eksekusi pernyataan DDL jika ukuran tablespace 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 bahasa kontrol data (DCL) jika terjadi pengecualian penguraian. |
SQL Execution Criteria in Logical Databases | Memungkinkan Anda menetapkan batasan pada eksekusi berbagai jenis pernyataan SQL. |
DMS menyediakan sejumlah besar konfigurasi dan aturan yang telah ditentukan sebelumnya untuk pemeriksaan. Anda dapat memodifikasi konfigurasi, mengubah status aturan, dan menyesuaikan aturan keamanan sesuai dengan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat bagian Konfigurasikan Aturan Keamanan dari topik "Kelola Aturan Keamanan".
Bagan alir berikut menunjukkan cara kerja pemeriksaan.
Faktor dan tindakan
Faktor adalah variabel yang telah ditentukan sebelumnya yang disediakan oleh DMS. Anda dapat menggunakan faktor untuk mendapatkan konteks yang harus divalidasi oleh aturan keamanan, seperti kategori pernyataan SQL dan jumlah baris data yang akan terpengaruh.
Nama faktor terdiri dari awalan
@fac.dan nama tampilan faktor.Setiap modul di halaman Detail dari set aturan keamanan menyediakan faktor yang berbeda untuk pemeriksaan 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 lebih lanjut, lihat bagian Pernyataan SQL yang dapat dieksekusi di DMS dari topik ini.
@fac.sql_sub_type
Subkategori pernyataan SQL. Untuk informasi lebih lanjut, lihat bagian Pernyataan SQL yang dapat dieksekusi di DMS dari topik ini.
@fac.env_type
Jenis lingkungan. Nilainya adalah nama tampilan jenis lingkungan, seperti
DEVatauPRODUCT. Untuk informasi lebih lanjut, lihat Ubah jenis lingkungan suatu instans.@fac.fulltable_delete
Menunjukkan apakah pernyataan SQL saat ini menghapus tabel penuh. Nilai valid:
true
false
@fac.fulltable_update
Menunjukkan apakah pernyataan SQL saat ini memperbarui tabel penuh. Nilai valid:
true
false
@fac.current_sql
Pernyataan SQL saat ini.
@fac.user_is_admin
Menunjukkan apakah pengguna saat ini adalah administrator DMS. Nilai valid:
true
false
@fac.user_is_dba
Menunjukkan apakah pengguna saat ini adalah administrator basis data (DBA). Nilai valid:
true
false
@fac.user_is_inst_dba
Menunjukkan apakah pengguna saat ini adalah DBA dari instans basis data saat ini. Nilai valid:
true
false
@fac.user_is_sec_admin
Menunjukkan apakah pengguna saat ini adalah administrator keamanan. Nilai valid:
true
false
@fac.sql_affected_rows
Jumlah baris yang akan terpengaruh oleh pernyataan SQL saat ini.
CatatanFaktor ini memicu operasi
COUNT. Gunakan faktor ini dengan hati-hati.@fac.sql_relate_table_store_size
Perkiraan total ukuran tabel yang akan diakses oleh pernyataan SQL saat ini. Satuan: MB.
CatatanNilai ini diperkirakan berdasarkan metadata yang diperoleh oleh DMS. Nilai tersebut bukan nilai aktual.
Tindakan adalah operasi yang dilakukan sistem jika kondisi yang ditentukan dalam pernyataan
IFterpenuhi. Tindakan yang Anda tentukan untuk aturan keamanan menunjukkan tujuan dari aturan keamanan. Sebagai contoh, Anda dapat melarang pengajuan tiket, memilih proses persetujuan, mengizinkan eksekusi pernyataan SQL, atau menolak eksekusi pernyataan SQL.Nama tindakan terdiri dari awalan
@act.dan nama tampilan tindakan.Setiap modul di halaman Detail dari set aturan keamanan menyediakan tindakan yang berbeda untuk pemeriksaan yang berbeda.
Tabel 2. Tindakan yang Disediakan oleh Modul SQL Console Tindakan
Deskripsi
@act.reject_execute
Menolak eksekusi pernyataan SQL saat ini.
@act.allow_execute
Mengizinkan eksekusi pernyataan SQL saat ini.
@act.reject_sql_type_execute
Menolak eksekusi subkategori tertentu dari pernyataan SQL. Anda harus menentukan subkategori jika menggunakan tindakan ini. Contoh:
@act.reject_sql_type_execute 'UPDATE'.@act.allow_sql_type_execute
Mengizinkan eksekusi subkategori tertentu dari pernyataan SQL. Anda harus menentukan subkategori jika menggunakan tindakan ini. Contoh:
@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 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 basis data, tabel, atau bidang yang terlibat dalam pernyataan SQL yang akan dieksekusi. Sebagai contoh, Anda dapat memeriksa apakah pengguna memiliki izin untuk menanyakan data atau mengubah data.
@act.uncheck_sql_access_permission
Tidak memeriksa apakah pengguna memiliki izin tertentu pada basis data, 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.
@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.
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