All Products
Search
Document Center

PolarDB:Konfigurasi aturan blacklist

Last Updated:Aug 28, 2026

Anda dapat membuat, mengaktifkan, menonaktifkan, memodifikasi, dan menghapus aturan blacklist rule di Konsol PolarDB. Topik ini menjelaskan aturan blacklist dan cara mengonfigurasikannya.

Aturan blacklist

Proxy menyediakan fitur pemblokiran. Anda dapat mengonfigurasi aturan blacklist untuk memblokir jenis tertentu pernyataan SQL atau pernyataan SQL individual.

Anda dapat mengonfigurasi aturan blacklist dalam tiga mode berikut:

  • fixed rule mode: Mode umum untuk mengonfigurasi aturan blacklist di konsol. Setiap aturan dapat diterapkan pada akun dan kluster tertentu. Untuk daftar aturan umum yang didukung, lihat Konfigurasi aturan SQL Firewall.

  • custom parameterized SQL mode: Mode ini memparameterisasi semua variabel dalam pernyataan SQL Anda dan menyimpan templat yang dihasilkan ke database. Proxy kemudian akan memblokir setiap pernyataan SQL yang sesuai dengan templat ini.

  • custom SQL mode: Mode ini memblokir pernyataan SQL tertentu secara persis, tanpa memparameterisasi variabel apa pun. Pernyataan SQL yang memiliki parameter berbeda tidak terpengaruh.

Buat aturan blacklist

  1. Masuk ke Konsol PolarDB.
  2. Di pojok kiri atas, pilih wilayah tempat kluster dideploy.

  3. Temukan kluster target dan klik ID-nya.

  4. Di panel navigasi sebelah kiri, pilih Settings and Management > Security.

  5. Pada tab SQL Firewall, klik Add di sebelah kiri.

  6. Pada kotak dialog Create a Rule, konfigurasi parameter berdasarkan mode blacklist yang diinginkan.

    • fixed rule mode

      1. Jika Anda memilih fixed rule mode, konfigurasi parameter berikut.

        Tabel 1. Parameter untuk aturan SQL Firewall

        Parameter

        Wajib

        Deskripsi

        Basic Information

        Rule Name

        Ya

        Nama aturan SQL Firewall. Nama harus memenuhi persyaratan berikut:

        • Terdiri dari huruf dan angka.

        • Panjang maksimal 30 karakter.

        Description

        Tidak

        Deskripsi untuk memudahkan identifikasi dan pengelolaan.

        Catatan

        Panjang deskripsi maksimal 64 karakter.

        Endpoint

        Ya

        Titik akhir tempat aturan diterapkan.

        Configurations

        Rule Type

        Ya

        Pilih Blacklist Rule.

        Current Mode

        Tidak

        Mode untuk aturan SQL Firewall. Nilai ini selalu diatur ke Protection Mode, artinya pernyataan SQL yang sesuai dengan aturan blacklist akan diblokir.

        Database Account Name

        Tidak

        Akun database tempat aturan ini berlaku. Opsi berikut tersedia:

        • All Accounts: Menerapkan aturan ke semua akun database dalam kluster. Anda tidak perlu memasukkan apa pun di kotak teks.

        • Include: Menerapkan aturan hanya pada akun database tertentu. Masukkan satu atau beberapa nama akun yang dipisahkan koma.

        • Exclude: Menerapkan aturan ke semua akun database dalam kluster kecuali yang Anda tentukan. Masukkan satu atau beberapa nama akun yang dipisahkan koma.

        Catatan

        Nama akun database yang Anda masukkan harus dalam salah satu format berikut:

        • AccountName. Contoh: user.

        • AccountName@IPAddress. Contoh: user@10.0.0.0.

        Block SQLs With Asterisks (*)

        Tidak

        Memblokir pernyataan SQL yang berisi tanda bintang (*). Nilai yang valid:

        • Enable: Memblokir pernyataan SQL yang berisi tanda bintang (*).

        • Close: Tidak memblokir pernyataan SQL yang berisi tanda bintang (*).

        Block SQLs of Specific Types

        Tidak

        Memblokir jenis tertentu dari pernyataan SQL. Nilai yang valid:

        • Enable: Memblokir jenis tertentu dari pernyataan SQL. Jika Anda mengaktifkan Block SQLs of Specific Types, Anda harus memilih minimal satu jenis. Jenis yang didukung:

          • CREATE

          • DROP

          • ALTER

          • TRUNCATE

          • RENAME

          • INSERT

          • UPDATE

          • SELECT

          • DELETE

        • Close: Tidak memblokir jenis tertentu dari pernyataan SQL.

        Block SQLs Without WHERE

        Tidak

        Memblokir pernyataan SQL yang tidak memiliki klausa WHERE. Nilai yang valid:

        • Enable: Memblokir jenis tertentu dari pernyataan SQL yang tidak memiliki klausa WHERE. Jika Anda mengaktifkan Block SQLs Without WHERE, Anda harus memilih minimal satu jenis. Jenis yang didukung:

          • UPDATE

          • SELECT

          • DELETE

        • Close: Tidak memblokir pernyataan SQL yang tidak memiliki klausa WHERE.

        Catatan

        Parameter ini hanya berlaku untuk pernyataan SELECT, UPDATE, dan DELETE yang berisi minimal satu nama tabel. Proxy tidak memblokir pernyataan seperti SELECT 1;.

        Block SQLs With Specific Columns

        Tidak

        Memblokir pernyataan SQL yang berisi nama kolom tertentu. Nilai yang valid:

        • Enable: Memblokir pernyataan SQL yang berisi nama kolom tertentu. Jika Anda mengaktifkan Block SQLs With Specific Columns, opsi berikut tersedia:

          • All: Menerapkan aturan ke semua nama kolom dalam kluster. Anda tidak perlu memasukkan apa pun di kotak teks.

          • Include: Menerapkan aturan hanya pada nama kolom tertentu. Anda harus memasukkan satu atau beberapa nama kolom, dipisahkan koma (,).

          • Exclude: Menerapkan aturan ke semua nama kolom dalam kluster kecuali yang Anda tentukan. Anda harus memasukkan satu atau beberapa nama kolom, dipisahkan koma (,).

        • Close: Tidak memblokir pernyataan SQL yang berisi nama kolom tertentu.

        Block SQLs With Specific Functions

        Tidak

        Memblokir pernyataan SQL yang menggunakan fungsi tertentu. Nilai yang valid:

        • Enable: Memblokir pernyataan SQL yang menggunakan fungsi tertentu. Jika Anda mengaktifkan Block SQLs With Specific Functions, opsi berikut tersedia:

          • All: Menerapkan aturan ke semua fungsi yang dieksekusi di database kluster. Anda tidak perlu memasukkan apa pun di kotak teks.

          • Include: Menerapkan aturan hanya pada fungsi tertentu. Anda harus memasukkan satu atau beberapa nama fungsi, dipisahkan koma (,).

          • Exclude: Menerapkan aturan ke semua fungsi kecuali yang Anda tentukan. Anda harus memasukkan satu atau beberapa nama fungsi, dipisahkan koma (,).

        • Close: Tidak memblokir pernyataan SQL yang menggunakan fungsi tertentu.

        Block SQLs With Specific Columns and Specific Functions

        Tidak

        Memblokir pernyataan SQL yang berisi fungsi tertentu dan mereferensikan nama kolom tertentu. Nilai yang valid:

        • Enable: Memblokir pernyataan SQL yang berisi fungsi tertentu dan mereferensikan nama kolom tertentu. Jika Anda mengaktifkan Block SQLs With Specific Columns and Specific Functions, Anda harus memasukkan satu atau beberapa nilai Function Name dan Column Name. Secara spesifik:

          • Jika Function Name diatur ke Include dan Column Name juga diatur ke Include, aturan berlaku untuk pernyataan SQL dalam kluster yang menggunakan fungsi tertentu dan mereferensikan nama kolom tertentu.

          • Jika Function Name diatur ke Include dan Column Name diatur ke Exclude, aturan berlaku untuk pernyataan yang menggunakan fungsi tertentu pada kolom apa pun kecuali yang ditentukan.

          • Jika Function Name diatur ke Exclude dan Column Name diatur ke Include, aturan berlaku untuk pernyataan yang menggunakan fungsi apa pun kecuali yang ditentukan pada kolom tertentu.

          • Jika Anda memilih Exclude untuk Function Name dan juga memilih Exclude untuk Column Name, ini berarti aturan berlaku untuk pernyataan SQL dalam kluster yang menggunakan fungsi selain yang ditentukan dan mereferensikan kolom selain yang ditentukan.

        • Close: Tidak memblokir pernyataan SQL yang berisi fungsi tertentu dan mereferensikan nama kolom tertentu.

      2. Setelah mengonfigurasi aturan, klik OK.

    • custom parameterized SQL mode

      1. Jika Anda memilih custom parameterized SQL mode, konfigurasi parameter yang diperlukan. Untuk informasi lebih lanjut, lihat Parameter untuk aturan SQL Firewall.

        Catatan

        Saat menggunakan custom parameterized SQL mode, Anda tidak perlu mengaktifkan aturan pemblokiran apa pun di bawah Configurations.

      2. Setelah mengonfigurasi aturan, klik OK.

      3. Gunakan Database Account Name dari langkah sebelumnya untuk terhubung ke titik akhir database yang ditentukan. Untuk memblokir pernyataan SQL, tambahkan perintah hint /* store_to_blacklist */ sebelum pernyataan tersebut. Misalnya, untuk memblokir pernyataan SQL select id from sqlblack_test where id = 1;, jalankan perintah berikut:

        /* store_to_blacklist */ select id from sqlblack_test where id = 1;

        Templat yang diparameterisasi adalah sebagai berikut:

        select id from sqlblack_test where id = ?

        Dalam templat ini, ? mewakili nilai apa pun.

        Sekitar 5 detik kemudian, proxy akan memblokir setiap pernyataan SQL dari akun ini yang sesuai dengan templat tersebut. Error berikut akan dikembalikan:

        ERROR 1141 (HY000): This SQL is rejected by SQL Firewall. Access denied for user 'xxx'@'x.x.x.x' to database 'xzh': This SQL is on blacklist bl_test.

        Dalam pesan ini, bl_test adalah nama aturan blacklist.

      Catatan
      • Jika Anda menggunakan client command-line MySQL, Anda harus menambahkan opsi -c. Jika tidak, perintah hint tidak akan berlaku.

      • Aturan mulai berlaku setelah sekitar 5 detik.

    • custom SQL mode

      1. Jika Anda memilih custom SQL mode, konfigurasi parameter yang diperlukan. Untuk informasi lebih lanjut, lihat Parameter untuk aturan SQL Firewall.

        Catatan

        Saat menggunakan custom SQL mode, Anda tidak perlu mengaktifkan aturan pemblokiran apa pun di bawah Configurations.

      2. Setelah mengonfigurasi aturan, klik OK.

      3. Gunakan Database Account Name dari langkah sebelumnya untuk terhubung ke titik akhir database yang ditentukan. Untuk memblokir pernyataan SQL, tambahkan perintah hint /* orginal_store_to_blacklist */ sebelum pernyataan tersebut. Misalnya, untuk memblokir pernyataan update t set k = 2 where id = 2;, jalankan perintah berikut:

        /* orginal_store_to_blacklist */ update t set k = 2 where id = 2;

        Sekitar 5 detik kemudian, saat Anda menggunakan akun ini untuk menjalankan pernyataan SQL yang persis sama update t set k = 2 where id = 2;, proxy akan memblokir pernyataan tersebut. Pernyataan SQL lain tidak terpengaruh. Error berikut akan dikembalikan:

        ERROR 1141 (HY000): This SQL is rejected by SQL Firewall. Access denied for user 'xxx'@'x.x.x.x' to database 'xzh': This SQL is on blacklist bl_test.

        Dalam pesan ini, bl_test adalah nama aturan blacklist.

      Catatan
      • Jika Anda menggunakan client command-line MySQL, Anda harus menambahkan opsi -c. Jika tidak, perintah hint tidak akan berlaku.

      • Aturan mulai berlaku setelah sekitar 5 detik.

Aktifkan atau nonaktifkan aturan blacklist

  1. Masuk ke Konsol PolarDB.
  2. Di pojok kiri atas, pilih wilayah tempat kluster dideploy.

  3. Temukan kluster target dan klik ID-nya.

  4. Di panel navigasi sebelah kiri, pilih Settings and Management > Security.

  5. Pada tab SQL Firewall, temukan aturan yang ingin Anda aktifkan atau nonaktifkan, lalu klik sakelar Enable/Disable.

    Catatan

    Anda juga dapat memilih beberapa aturan dalam daftar dan klik Enable atau Disable di bagian bawah daftar untuk mengaktifkan atau menonaktifkan secara massal.

  6. Pada kotak dialog Enable atau Disable yang muncul, klik OK.

Modifikasi aturan blacklist

  1. Masuk ke Konsol PolarDB.
  2. Di pojok kiri atas, pilih wilayah tempat kluster dideploy.

  3. Temukan kluster target dan klik ID-nya.

  4. Di panel navigasi sebelah kiri, pilih Settings and Management > Security.

  5. Pada tab SQL Firewall, temukan aturan yang ingin Anda modifikasi, lalu klik Modify di kolom Operation. Di kotak dialog Modify A Rule, modifikasi parameter tersebut. Untuk detail parameter, lihat Parameter untuk aturan SQL Firewall.

    Catatan

    Anda tidak dapat memodifikasi Rule Name suatu aturan.

  6. Setelah memodifikasi aturan, klik OK.

Catatan

Dari konsol, Anda tidak dapat memodifikasi pernyataan SQL berparameter dalam aturan yang dibuat menggunakan custom parameterized SQL mode, maupun memodifikasi pernyataan SQL spesifik dalam aturan yang dibuat menggunakan custom SQL mode. Untuk mengubah pernyataan-pernyataan ini, Anda harus menghapusnya dari tabel database dan menambahkannya kembali.

Hapus aturan blacklist

  1. Masuk ke Konsol PolarDB.
  2. Di pojok kiri atas, pilih wilayah tempat kluster dideploy.

  3. Temukan kluster target dan klik ID-nya.

  4. Di panel navigasi sebelah kiri, pilih Settings and Management > Security.

  5. Pada tab SQL Firewall, temukan aturan yang ingin Anda hapus dan klik Delete di kolom Operation.

    Catatan

    Anda juga dapat memilih beberapa aturan dalam daftar dan klik Delete di bagian bawah daftar untuk menghapus secara massal.

  6. Pada kotak dialog Delete yang muncul, klik OK.

Hapus aturan untuk mode kustom

  • Aturan blacklist custom parameterized SQL mode

    Anda dapat menghapus aturan blacklist custom parameterized SQL mode dengan salah satu cara berikut:

    • Anda dapat menghapus aturan blacklist untuk custom parameterized SQL mode dengan mengaktifkan atau menonaktifkan aturan blacklist atau menghapus aturan blacklist.

      Catatan

      Jika Anda hanya menonaktifkan aturan blacklist di konsol tanpa menghapus pernyataan SQL berparameter yang sesuai dari tabel proxy_auditing.sql_list, aturan tersebut akan kembali berlaku jika Anda mengaktifkannya kembali untuk akun yang sama.

    • Terhubung ke primary node titik akhir menggunakan akun super administrator, lalu hapus pernyataan SQL yang sesuai dari tabel proxy_auditing.sql_list. Sekitar 5 detik kemudian, proxy tidak akan lagi memblokir pernyataan tersebut.

      Catatan

      Jangan gunakan perintah DROP untuk menghapus tabel.

  • Aturan blacklist custom SQL mode

    Anda dapat menghapus aturan blacklist custom SQL mode dengan salah satu cara berikut:

    • Untuk mengelola aturan blacklist custom SQL mode, Anda dapat mengaktifkan atau menonaktifkan aturan blacklist atau menghapus aturan blacklist.

      Catatan

      Jika Anda hanya menonaktifkan aturan blacklist di konsol tanpa menghapus pernyataan SQL yang sesuai dari tabel proxy_auditing.org_sql_list, aturan tersebut akan kembali berlaku jika Anda mengaktifkannya kembali untuk akun yang sama.

    • Terhubung ke primary node titik akhir menggunakan akun super administrator, lalu hapus pernyataan SQL yang sesuai dari tabel proxy_auditing.org_sql_list. Sekitar 5 detik kemudian, proxy tidak akan lagi memblokir pernyataan tersebut.

      Catatan

      Jangan gunakan perintah DROP untuk menghapus tabel.