全部产品
Search
文档中心

Data Management:Mengelola izin pengguna pada database MySQL

更新时间:Jul 02, 2025

Data Management (DMS) mendukung kontrol izin terperinci untuk database MySQL. Sebagai contoh, Anda dapat mengelola izin pada level database, tabel, bidang, dan tampilan. Topik ini menjelaskan cara mengelola izin pengguna pada database MySQL di DMS.

Prasyarat

  • Sebuah ApsaraDB RDS for MySQL, PolarDB for MySQL, instance AnalyticDB for MySQL, database MySQL yang dikelola sendiri, database MariaDB asli, atau database ApsaraDB for MariaDB digunakan.

  • Peran sistem Anda dapat berupa administrator DMS, administrator basis data (DBA), atau pengguna biasa seperti pemilik suatu instance.

  • database account dan database password untuk database MongoDB telah diperoleh.

Ikhtisar

Anda dapat mengelola izin kasar pada database MySQL dalam instance ApsaraDB RDS for MySQL atau instance PolarDB for MySQL melalui konsol yang sesuai. Sebagai contoh, Anda dapat memberikan pengguna lain izin baca-saja atau izin baca dan tulis pada database MySQL. Selain itu, Anda juga dapat memberikan izin untuk mengeksekusi pernyataan DML atau DDL pada database tersebut. Namun, jika memerlukan manajemen izin yang lebih fleksibel dan terperinci, Anda dapat menggunakan fitur manajemen izin pengguna DMS. Contohnya:

  • Memberikan Pengguna A izin global untuk mengeksekusi pernyataan SELECT dan UPDATE.

    Catatan

    Izin global berlaku untuk semua database dalam instance database. Untuk informasi lebih lanjut, lihat Izin Global yang Didukung.

  • Memberikan Pengguna B izin untuk mengeksekusi pernyataan SELECT pada tabel tertentu atau izin untuk mengeksekusi pernyataan UPDATE pada bidang tertentu.

    Catatan

    Izin terperinci dapat berlaku untuk database tertentu atau semua database dalam instance database. Untuk informasi lebih lanjut, lihat Izin Terperinci yang Didukung.

Membuat pengguna

  1. Masuk ke Konsol DMS V5.0.
  2. Masuk ke database PostgreSQL. Untuk informasi lebih lanjut, lihat Masuk ke Instance Database.

  3. Di panel navigasi sisi kiri Konsol DMS, klik kanan instance yang ingin Anda kelola dan pilih Account Management.

    Catatan

    Jika Anda masuk ke Konsol DMS dalam mode sederhana, klik Database instances di panel navigasi sisi kiri. Dalam daftar instance yang muncul, klik kanan instance yang ingin Anda kelola dan pilih Account Management.

  4. Di halaman Account Management, klik Create User di pojok kiri atas.

  5. Di kotak dialog Buat Pengguna, lakukan langkah-langkah berikut:

    1. Di tab Basic settings, konfigurasikan parameter yang dijelaskan dalam tabel berikut.

      Create User dialog box

      Parameter

      Deskripsi

      User name

      Nama pengguna yang ingin Anda gunakan untuk masuk ke database.

      Host

      Menunjukkan bahwa akun diizinkan untuk mengakses database dari alamat IP.

      Catatan

      Jika Anda tidak mengonfigurasi parameter ini, pengguna tidak dibatasi untuk mengakses database yang diizinkan dari alamat IP tertentu. Nilai default dari parameter ini adalah %.

      Password

      Password yang ingin Anda gunakan untuk masuk ke database dalam instance saat ini.

      Confirm Password

      Masukkan password lagi untuk mengonfirmasi password.

      Catatan

      Setelah mengonfigurasi parameter di atas, DMS secara otomatis menghasilkan pernyataan SQL berdasarkan parameter yang dikonfigurasi. Kemudian, DMS mengeksekusi pernyataan tersebut untuk setiap database dalam instance saat ini. Sintaks pernyataan SQL adalah CREATE USER 'Username'@'Hostname' IDENTIFIED BY 'Password';.

      Anda dapat mengklik Advanced Options untuk melengkapi lebih banyak konfigurasi.

      Sebagai contoh, Anda dapat menetapkan batasan tertentu untuk pengguna, seperti yang ditunjukkan pada gambar berikut. Dalam hal ini, DMS menghasilkan dan mengeksekusi pernyataan SQL berikut:

      GRANT USAGE ON *.* TO 'Username'@'Hostname' WITH MAX_QUERIES_PER_HOUR 100 MAX_UPDATES_PER_HOUR 200 MAX_CONNECTIONS_PER_HOUR 300 MAX_USER_CONNECTIONS 400;

      Advanced Options

    2. Klik tab Global permissions dan pilih satu atau lebih izin yang ingin Anda berikan kepada pengguna.

      Global permissions tab

      Catatan

      Jika Anda tidak dapat menemukan izin yang Anda butuhkan, izin tersebut tidak didukung oleh instance atau akun Alibaba Cloud Anda tidak diizinkan untuk memberikan izin tersebut. Jika Anda menggunakan akun standar, masuk ke Konsol DMS menggunakan akun istimewa dan coba ulangi langkah ini.

    3. Klik tab Object permissions dan konfigurasikan parameter untuk memberikan izin terperinci kepada pengguna.

      Sebagai contoh, Anda dapat mengizinkan pengguna untuk menanyakan atau menyisipkan data dalam database, serta menghapus data dari tabel dalam database, seperti yang ditunjukkan pada gambar berikut. Dalam hal ini, DMS menghasilkan dan mengeksekusi pernyataan SQL berikut:

      GRANT SELECT,INSERT ON `rds_db`.* TO 'Username'@'Hostname'; 
       GRANT DELETE ON `rds_db`.`rds_table` TO 'Username'@'Hostname';

      Object permissions tab

  6. Klik Confirm.

  7. Di pesan Preview SQL Statement, klik Confirm.

    Catatan

    Pernyataan SQL dapat dihasilkan berdasarkan parameter yang Anda konfigurasikan. Jika instance database dikelola dalam mode Kolaborasi Keamanan, pernyataan SQL mungkin gagal dieksekusi karena aturan keamanan. Dalam hal ini, Anda dapat melakukan operasi dengan mengikuti petunjuk di layar atau hubungi administrator basis data (DBA) atau administrator DMS. Untuk informasi tentang cara memodifikasi aturan keamanan, lihat FAQ dari topik ini.

Memodifikasi atau menghapus pengguna

Anda dapat memodifikasi username, password, global permissions, dan fine-grained permissions dari pengguna yang Anda berwenang untuk kelola.

  1. Masuk ke Konsol DMS V5.0.
  2. Di panel navigasi sisi kiri Konsol DMS, klik kanan instance yang ingin Anda kelola dan pilih Account Management.

    Catatan

    Jika Anda masuk ke Konsol DMS dalam mode sederhana, klik Database instances di panel navigasi sisi kiri. Dalam daftar instance yang muncul, klik kanan instance yang ingin Anda kelola dan pilih Account Management.

  3. Di halaman Manajemen Akun, temukan pengguna yang ingin Anda kelola dan klik Edit di kolom Operasi untuk memodifikasi informasi tentang pengguna, atau klik Delete di kolom Operasi untuk menghapus pengguna.

Izin global yang didukung

Izin

Objek

Deskripsi

CREATE

Database, tabel, atau indeks

Mengizinkan pengguna membuat database, tabel, atau indeks.

DROP

Database, tabel, atau tampilan

Mengizinkan pengguna menghapus database, tabel, atau tampilan.

GRANT OPTION

Database, tabel, atau prosedur tersimpan

Mengizinkan pengguna memberikan atau mencabut satu atau lebih izin untuk pengguna lain.

REFERENCES

Database, tabel, atau bidang

Mengizinkan pengguna membuat kunci asing untuk mereferensikan database, tabel, atau bidang.

LOCK TABLES

Database

Mengizinkan pengguna mengunci tabel dalam database.

EVENT

Database

Mengizinkan pengguna menanyakan, membuat, memodifikasi, atau menghapus event dalam database.

ALTER

Tabel atau tampilan

Mengizinkan pengguna memodifikasi tabel atau tampilan. Sebagai contoh, pengguna dapat diizinkan untuk menambahkan bidang ke tabel, membuat indeks, atau memodifikasi bidang dalam tabel.

DELETE

Tabel

Mengizinkan pengguna menghapus data dari tabel.

INDEX

Tabel

Mengizinkan pengguna membuat atau menghapus indeks untuk tabel.

INSERT

Tabel atau bidang

Mengizinkan pengguna menyisipkan data ke tabel atau bidang.

SELECT

Tabel atau bidang

Mengizinkan pengguna menanyakan data dalam tabel atau bidang.

UPDATE

Tabel atau bidang

Mengizinkan pengguna memperbarui data dalam tabel atau bidang.

CREATE VIEW

Tampilan

Mengizinkan pengguna membuat tampilan.

SHOW VIEW

Tampilan

Mengizinkan pengguna memeriksa tampilan.

TRIGGER

Pemicu

Mengizinkan pengguna membuat, menghapus, mengeksekusi, atau menampilkan pemicu.

ALTER ROUTINE

Prosedur tersimpan

Mengizinkan pengguna memodifikasi prosedur tersimpan.

CREATE ROUTINE

Prosedur tersimpan

Mengizinkan pengguna membuat prosedur tersimpan.

EXECUTE

Prosedur tersimpan

Mengizinkan pengguna mengeksekusi prosedur tersimpan.

FILE

Akses file pada host server

Mengizinkan pengguna mengakses file pada host server.

CREATE TEMPORARY TABLES

Administrasi server

Mengizinkan pengguna membuat tabel sementara pada server.

CREATE USER

Administrasi server

Mengizinkan pengguna membuat pengguna pada server.

PROCESS

Administrasi server

Mengizinkan pengguna menanyakan informasi tentang thread yang sedang berjalan pada server.

RELOAD

Administrasi server

Mengizinkan pengguna menjalankan perintah pada server, seperti perintah FLUSH-HOSTS, FLUSH-LOGS, FLUSH-PRIVILEGES, FLUSH-STATUS, FLUSH-TABLES, FLUSH-THREADS, REFRESH, dan RELOAD.

REPLICATION CLIENT

Administrasi server

Mengizinkan pengguna memeriksa status server utama, server replika, dan log biner. Izin ini diperlukan untuk replikasi. Berikan izin ini kepada pengguna yang dibuat untuk menghubungkan server replika ke server sumber.

REPLICATION SLAVE

Administrasi server

Mengizinkan pengguna memeriksa status server utama, server replika, dan log biner. Izin ini diperlukan untuk replikasi. Berikan izin ini kepada pengguna yang dibuat untuk menghubungkan server replika ke server sumber.

SHOW DATABASES

Administrasi server

Mengizinkan pengguna melihat nama semua database pada server.

SHUTDOWN

Administrasi server

Mengizinkan pengguna mematikan server.

SUPER

Administrasi server

Mengizinkan pengguna mengeksekusi pernyataan KILL untuk menghentikan thread yang sedang berjalan pada server.

Catatan

ApsaraDB RDS for MySQL dan ApsaraDB for MariaDB tidak mendukung izin SUPER.

Izin terperinci yang didukung

Izin

Objek

Deskripsi

CREATE

Database, tabel, atau indeks

Mengizinkan pengguna membuat database, tabel, atau indeks.

DROP

Database, tabel, atau tampilan

Mengizinkan pengguna menghapus database, tabel, atau tampilan.

GRANT OPTION

Database, tabel, atau prosedur tersimpan

Mengizinkan pengguna memberikan atau mencabut satu atau lebih izin untuk pengguna lain.

REFERENCES

Database, tabel, atau bidang

Mengizinkan pengguna membuat kunci asing untuk mereferensikan database, tabel, atau bidang.

LOCK TABLES

Database

Mengizinkan pengguna mengunci tabel dalam database.

EVENT

Database

Mengizinkan pengguna menanyakan, membuat, memodifikasi, atau menghapus event dalam database.

ALTER

Tabel atau tampilan

Mengizinkan pengguna memodifikasi tabel atau tampilan. Sebagai contoh, pengguna dapat diizinkan untuk menambahkan bidang ke tabel, membuat indeks, atau memodifikasi bidang dalam tabel.

DELETE

Tabel

Mengizinkan pengguna menghapus data dari tabel.

INDEX

Tabel

Mengizinkan pengguna membuat atau menghapus indeks untuk tabel.

INSERT

Tabel atau bidang

Mengizinkan pengguna menyisipkan data ke tabel atau bidang.

SELECT

Tabel atau bidang

Mengizinkan pengguna menanyakan data dalam tabel atau bidang.

UPDATE

Tabel atau bidang

Mengizinkan pengguna memperbarui data dalam tabel atau bidang.

CREATE VIEW

Tampilan

Mengizinkan pengguna membuat tampilan.

SHOW VIEW

Tampilan

Mengizinkan pengguna memeriksa tampilan.

TRIGGER

Pemicu

Mengizinkan pengguna membuat, menghapus, mengeksekusi, atau menampilkan pemicu.

FAQ

T: Mengapa sistem memberi tahu saya bahwa saya tidak dapat mengeksekusi pernyataan CREATE USER untuk membuat pengguna dengan izin tertentu karena aturan keamanan?

A: Lakukan pemecahan masalah berdasarkan pesan kesalahan yang dikembalikan. Ikuti langkah-langkah berikut:

  1. Kueri set aturan keamanan yang dikonfigurasikan untuk instance.

    Di panel navigasi sisi kiri, klik kanan instance saat ini dan pilih View Details.

  2. Modifikasi aturan keamanan.

    1. Masuk ke Konsol DMS V5.0.

    2. Di bilah navigasi atas, pilih Security and Specifications > Security Rules.

    3. Di tab Security Rules, temukan set aturan keamanan yang ingin Anda kelola dan klik Edit di kolom Actions.

    4. Di panel navigasi sisi kiri, klik SQL Correct.

    5. Setel parameter Checkpoints ke SQL execution rules.

    6. Dalam daftar aturan keamanan, temukan aturan keamanan All DCL can execute directly in SQLConsole dan klik Edit di kolom Actions.

    7. Di kotak dialog Change Rule - SQL Correct, tambahkan CREATE_USER di editor SQL.

  3. Klik Submit.