Manajemen pengguna dan hak istimewa MySQL sangat penting untuk tujuan otentikasi, otorisasi, dan akuntansi. Sejak MySQL 8.0, sekarang ada dua jenis hak istimewa pengguna database:
- Hak istimewa statis - Hak istimewa global, skema, dan administratif umum seperti SELECT, ALTER, SUPER, dan USAGE, dibangun ke dalam server.
- Hak istimewa dinamis - Baru di MySQL 8.0. Sebuah komponen yang dapat didaftarkan dan tidak didaftarkan pada saat runtime yang memberikan kontrol yang lebih baik atas hak-hak global. Misalnya, daripada menetapkan hak istimewa SUPER hanya untuk tujuan manajemen konfigurasi, pengguna tertentu lebih baik diberikan hak istimewa SYSTEM_VARIABLES_ADMIN saja.
Membuat skema database dengan pengguna masing-masing adalah langkah paling awal untuk mulai menggunakan MySQL sebagai server database Anda. Sebagian besar aplikasi yang menggunakan MySQL sebagai penyimpanan data mengharuskan tugas ini dilakukan sebelum aplikasi dapat berfungsi sebagaimana mestinya. Untuk digunakan dengan aplikasi, umumnya pengguna MySQL dikonfigurasi untuk memiliki hak penuh (ALL PRIVILEGES) pada tingkat skema, yang berarti pengguna database yang digunakan oleh aplikasi memiliki kebebasan untuk melakukan tindakan apa pun pada database yang ditetapkan.
Dalam posting blog ini, kita akan membandingkan dan membedakan fitur manajemen pengguna database MySQL antara MySQL Workbench dan ClusterControl.
MySQL Workbench - Manajemen Pengguna Basis Data
Untuk MySQL Workbench, Anda dapat menemukan semua hal manajemen pengguna di bawah Administrasi -> Manajemen -> Pengguna dan Hak Istimewa. Anda akan melihat daftar pengguna yang ada di sisi kiri sementara di sisi kanan adalah bagian konfigurasi otentikasi dan otorisasi untuk pengguna yang dipilih:
MySQL mendukung lebih dari 30 hak istimewa statis dan tidak mudah untuk dipahami dan diingat Mall. MySQL Workbench memiliki sejumlah peran administratif yang telah ditetapkan sebelumnya, yang sangat membantu saat memberikan hak istimewa yang memadai kepada pengguna database. Misalnya, jika Anda ingin membuat pengguna MySQL khusus untuk melakukan aktivitas pencadangan menggunakan mysqldump, Anda dapat memilih peran BackupAdmin dan hak istimewa global terkait akan diberikan kepada pengguna yang sesuai:
Untuk membuat pengguna basis data baru, klik tombol "Tambah Akun" dan berikan informasi yang diperlukan di bawah tab "Login". Anda dapat menambahkan beberapa batasan sumber daya di bawah tab "Batas Akun". Jika pengguna hanya untuk skema database dan tidak dimaksudkan untuk peran administratif apa pun (khusus untuk penggunaan aplikasi), Anda dapat melewati tab "Peran Administratif" dan cukup mengonfigurasi "Hak Istimewa Skema".
Di bawah bagian "Keistimewaan Skema", seseorang dapat memilih skema database (atau menentukan pola yang cocok) dengan mengklik "Tambahkan Entri". Kemudian, tekan tombol "Select ALL" untuk mengizinkan semua hak (kecuali GRANT OPTION) yang mirip dengan pernyataan opsi "ALL PRIVILEGES":
Pengguna database tidak akan dibuat di server MySQL sampai Anda menerapkannya perubahan, dengan mengklik tombol "Terapkan".
ClusterControl - Database dan Manajemen Pengguna Proxy
Database ClusterControl dan manajemen pengguna sedikit lebih mudah daripada yang ditawarkan MySQL Workbench. Sementara MySQL Workbench lebih ramah pengembang, ClusterControl lebih fokus pada apa yang diminati SysAdmins dan DBA, lebih seperti hal-hal administrasi umum bagi mereka yang sudah terbiasa dengan peran dan hak istimewa MySQL.
Untuk membuat pengguna basis data, buka Kelola -> Skema dan Pengguna -> Pengguna -> Buat Pengguna Baru. Anda akan disajikan dengan wizard pembuatan pengguna berikut:
Membuat pengguna di ClusterControl mengharuskan Anda untuk mengisi semua bidang yang diperlukan dalam satu halaman, tidak seperti MySQL Workbench yang melibatkan sejumlah klik untuk mencapai hasil yang serupa. ClusterControl juga mendukung pembuatan pengguna dengan sintaks "REQUIRE SSL", untuk memaksa pengguna tertentu untuk mengakses hanya melalui saluran enkripsi SSL.
ClusterControl memberikan tampilan agregat pada semua pengguna database dalam sebuah cluster, menghilangkan Anda untuk login ke setiap server individu untuk mencari pengguna tertentu:
Sebuah rollover sederhana pada kotak hak istimewa mengungkapkan semua hak istimewa yang telah ditetapkan ke pengguna ini. ClusterControl juga menyediakan daftar pengguna yang tidak aktif, akun pengguna yang belum digunakan sejak server terakhir dihidupkan ulang:
Daftar di atas memberi kita ringkasan yang jelas tentang pengguna mana yang layak untuk eksis , memungkinkan kami mengelola pengguna dengan lebih efisien. DBA kemudian dapat menanyakan pengembang apakah pengguna basis data yang tidak aktif masih diperlukan untuk aktif, jika tidak, akun pengguna dapat dikunci atau dijatuhkan.
Jika Anda memiliki penyeimbang beban ProxySQL di antaranya, Anda mungkin tahu bahwa ProxySQL memiliki manajemen pengguna MySQL sendiri untuk memungkinkannya melewatinya. Ada sejumlah pengaturan dan variabel yang berbeda jika dibandingkan dengan konfigurasi pengguna MySQL umum misalnya, grup host default, skema default, ketekunan transaksi, fast forward dan banyak lagi. ClusterControl menyediakan antarmuka pengguna grafis dalam mengelola pengguna basis data ProxySQL, meningkatkan pengalaman dan efisiensi dalam mengelola pengguna proxy dan basis data Anda sekaligus:
Saat membuat pengguna database baru melalui halaman manajemen ProxySQL, ClusterControl akan secara otomatis membuat pengguna yang sesuai di ProxySQL dan MySQL. Namun, saat menghapus pengguna MySQL dari ProxySQL, pengguna database yang sesuai akan tetap berada di server MySQL.
Kelebihan &Kekurangan
ClusterControl mendukung banyak vendor database sehingga Anda akan mendapatkan pengalaman pengguna yang serupa dalam berurusan dengan server database lainnya. ClusterControl juga mendukung pembuatan database pengguna di beberapa host sekaligus, di mana ia akan memastikan pengguna yang dibuat ada di semua server database di cluster. ClusterControl memiliki cara yang lebih bersih saat membuat daftar akun pengguna, di mana Anda dapat melihat semua informasi yang diperlukan langsung di halaman daftar. Namun, manajemen pengguna memerlukan langganan aktif dan tidak tersedia di edisi komunitas. Itu tidak mendukung semua platform yang dapat dijalankan MySQL, terutama hanya distribusi Linux tertentu seperti CentOS, RHEL, Debian dan Ubuntu.
Keuntungan terkuat dari MySQL Workbench adalah gratis, dan dapat digunakan bersama dengan manajemen dan administrasi skema. Itu dibangun agar lebih ramah bagi pengembang dan DBA dan memiliki keuntungan karena dibangun dan didukung oleh tim Oracle, yang memiliki dan memelihara server MySQL. Ini juga memberikan panduan yang lebih jelas dengan deskripsi di sebagian besar bidang input, terutama di bagian penting seperti otentikasi dan manajemen hak istimewa. Peran administratif prasetel adalah cara yang rapi untuk memberikan serangkaian hak istimewa kepada pengguna, berdasarkan pekerjaan yang harus dilakukan pengguna di server. Di sisi bawah, MySQL Workbench bukanlah alat yang ramah cluster karena setiap koneksi manajemen disesuaikan dengan satu server MySQL titik akhir. Dengan demikian, itu tidak memberikan tampilan terpusat dari semua pengguna di cluster. Itu juga tidak mendukung pembuatan pengguna dengan penegakan SSL.
Kedua alat ini tidak mendukung sintaksis hak istimewa dinamis MySQL 8.0 yang baru, misalnya, BACKUP_ADMIN, BINLOG_ADMIN, SYSTEM_VARIABLES_ADMIN, dll.
Tabel berikut menyoroti fitur-fitur penting untuk kedua alat untuk perbandingan yang mudah:
Aspek Pengelolaan Pengguna | MySQL Workbench | ClusterControl |
OS yang didukung untuk server MySQL |
|
|
Vendor MySQL |
|
|
Mendukung manajemen pengguna untuk perangkat lunak lain |
| |
Manajemen pengguna multi-host | Tidak | Ya |
Tampilan gabungan pengguna dalam cluster database | Tidak | Ya |
Tampilkan pengguna yang tidak aktif | Tidak | Ya |
Buat pengguna dengan SSL | Tidak | Ya |
Hak istimewa dan deskripsi peran | Ya | Tidak |
Peran administratif prasetel | Ya | Tidak |
Hak istimewa dinamis MySQL 8.0 | Tidak | Tidak |
Biaya | Gratis | Berlangganan diperlukan untuk fitur manajemen |
Kami berharap posting blog ini akan membantu Anda menentukan alat apa yang paling sesuai untuk mengelola database dan pengguna MySQL Anda.