Setelah SQL Server Anda berjalan, langkah penting selanjutnya adalah mengatur siapa saja yang boleh mengaksesnya dan apa yang boleh mereka lakukan. Secara umum, ada dua tipe pendekatan utama dalam membuat user, masing-masing dengan tujuan yang berbeda.
Tipe 1: User Khusus untuk Satu Database (Best Practice)
Ini adalah pendekatan yang paling umum dan aman, terutama untuk aplikasi. Konsepnya adalah memberikan hak akses seminimal mungkin (Principle of Least Privilege), di mana user hanya bisa mengakses satu database spesifik dan hanya bisa melakukan tugas yang diizinkan.
Kapan digunakan?
Saat menghubungkan aplikasi Anda (misalnya web, desktop) ke database.
Saat memberikan akses kepada tim developer yang hanya bekerja pada satu proyek/database.
Cara Membuatnya:
Proses ini terdiri dari tiga langkah: membuat "kunci masuk" ke server (Login), membuat "identitas" di dalam database (User), lalu memberikan "izin" spesifik.
Buat Login di Level Server
SQL
CREATE LOGIN app_user WITH PASSWORD = 'PasswordAplikasiYangKuat123!';
GO
Buat User di Dalam Database Spesifik
SQL
USE TestDB; -- Ganti dengan nama database Anda
GO
CREATE USER app_user FOR LOGIN app_user;
GO
Berikan Izin Terbatas
User ini hanya diberikan hak untuk membaca dan menulis data, tidak lebih.
SQL
ALTER ROLE db_datareader ADD MEMBER app_user;
ALTER ROLE db_datawriter ADD MEMBER app_user;
GO
Karakteristik:
Keamanan Tinggi: Jika kredensial user ini bocor, dampaknya hanya terbatas pada satu database.
Akses Terbatas: Tidak bisa melihat atau mengubah database lain.
Ideal untuk Aplikasi: Menjadi standar keamanan untuk koneksi dari program.
Tipe 2: User Umum untuk Semua Database (Administrator)
Tipe user ini memiliki hak akses yang sangat luas di seluruh server. Ini berguna untuk tugas administrasi, bukan untuk penggunaan aplikasi sehari-hari. Cara termudah untuk membuatnya adalah dengan memberikan peran server sysadmin
.
Kapan digunakan?
Untuk akun administrator yang mengelola seluruh server SQL.
Untuk developer utama yang perlu mengawasi semua database dalam lingkungan development.
⚠️ Peringatan: Peran sysadmin
memberikan kontrol penuh (setara dengan user SA
) atas server. Gunakan dengan sangat hati-hati.
Cara Membuatnya:
Prosesnya lebih sederhana: hanya membuat Login, lalu langsung memberikannya peran sebagai administrator server.
Buat Login di Level Server
SQL
CREATE LOGIN admin_user WITH PASSWORD = 'PasswordAdminSangatRahasia456!';
GO
Jadikan Anggota Peran sysadmin
SQL
ALTER SERVER ROLE sysadmin ADD MEMBER admin_user;
GO
Karakteristik:
Keamanan Rendah (untuk penggunaan harian): Jika kredensial ini bocor, seluruh server dan semua data di dalamnya berisiko.
Akses Penuh: Bisa mengakses, mengubah, dan menghapus semua database serta mengubah konfigurasi server.
Ideal untuk Administrator: Memudahkan tugas manajemen dan pemeliharaan server.