LAPORAN PRAKTIKUM
ADMINISTRASI BASIS DATA
“
Manajemen User dan Hak Akses Basis Data
”
NAMA : MIFTAHUL KHAIR .N
KELAS/JURUSAN : 2B TKJ
–
TEKNIK ELEKTRO
NIM : 42514043
Program Studi Teknik Komputer dan Jaringan
Jurusan Teknik Elektro
Politeknik Negeri Ujung Pandang
1. Tujuan
Setelah menyelesaikan modul ini, anda diharapkan dapat :
1. Menjelaskan tentang sekuriti pada database
2. Membuat manajemen user dan hak akses basis data
2. Dasar Teori
Mangelola Security Database
Jika m enggunakan paket aplikasi MySQL pada saat instal asi dapat mengaktifkan sec urity setting dengan mengisi root password
Menggunakan aplikasi gabungan tidak ada fasilitas security atau password . Sangat berbahaya karena siapapun dapat mengakses dengan mudah terhadap sistem databas e
Mengaktifkan Keamanan Standar
Jika menggunakan aplikasi gabungan xampp, setelah selesai instal asi, maka pert ama kali harus dilakukan adal ah m engaktifkan kata sandi untuk root dan m enghapus a nonym user. Anonym user adal ah us er tanpa i dentitas dan password. Aktifkan dam masuk ke dalam sistem sebagi root dan jalankan MySQL
Aktifkan database mysql dan lihat tabel
Dalam database mysql terdapat lima buah t abel yang dapat digunakan untuk mengatur use r dan izin akses masing-m asing user – user pri vileges, Yaitu : user, db, host, tables_pri v dan colum ns_pri v. Kelima tabel ini disebut gra nt tables
Fungsi dari kelima tabel tersebut : a. User
Berisi data user yang m endapatkan izin akses MySQL, asal koneksi da n izin akses kepada user
Ti ngkatan akses : Global b. Db
c. Host
Mengatus asl host yang diperk enankan bagi user untuk mengakses MySQL, jika lebih d ari satu host
Ti ngkatan akses : Database
d. tables_pri v
Mengatur tabel apa saja yang dapat diakses oleh seorang user dan jenis izin aksesnya Ti ngkatan akses : Tabel
Hany a digunakan oleh user setingkat root atau admi nistrator dan tidak di berikan kepada user biasa, yaitu :
Dapat diterapkan pada setiap user dengan izin akses sebagai berikut : a. ALL
Menghapus Anonym User dan password yang kosong, maka siapapun dapat masuk ke dalam database server mysql.
Dan jika dal am kolom host terdapat ”%”, berarti user yang bersangkutan dapat mengakses mysql dari
komputer mana saja.
Untuk langkah pengam anan awal dapat lakukan perintah
delete from user where user=’’ ;
Memberikan Password Untuk Root Dapat dilakukan dengan perintah Updat e
update user set password=pa ssword (’xxxxxxxxxx’)
where user=’root’ ;
Lanj utkan dengan perint ah FLUSH flu sh privileges
Fungsi fl ush :
Mysql membaca grant tabl es hanya satu kali pada saat server pertama kali j alank an, perintah flush akan m emerintahkan kepada sistem untuk m embac a ul ang kelim a grant tabl es tanpa harus me=restart server mysql. Coba anda periksa dengan perint ah :
Hasil di kolom password berisi kode acak
Untuk mencoba password, keluar dari aplikasi mysql dengan \q. Kem udi an coba untuk mengakses kembali tanpa password dan dengan password
Manajemen User
Untuk MySQL versi 3.22. keatas dalam m anajem en user dapat menggunakan perintah GRANT dan
REVOKE.
Perintah GRA NT: dipergunakan untuk membuat user baru dengan i zin aksesnya Bentuk umum :
GRANT j enis_akses (nama_kolom ) ON nam a_database
TO nama_user IDENTIFIED BY ”nam a_password”
[WITH GRANT pilihan_akses]
Perintah REVOKE: Unt uk menghapus izin akses user Bentuk umum :
REVOKE jenis_akses ON nam a_database FROM nama_user
Perintah DELE TE: Untuk menghapus user secara perm anen
User vi vi en bertanda ” Y ” dapat mengakses semua User ayyi bertanda ” N ” tidak dapat mengakses Coba gunakan user ” ayyi ”
Keluar dari MySQL dan logi n kembali dengan user ” ayyi ” password ” fathin ”
Tampilan :
User ayyi tidak dapat mengakses database yang sudah terbentuk di mysql hany a database informati on_schema.
Coba mem buat database :
Access denied, tidak diberikan izin unt uk create
Memberikan Izin Akse s tertentu
Jika akan m emberikan izin akses SELECT, INSERT, UP DA TE dan DE LE TE kepada user ayyi yang hanya dapat digunakan pada d atabase latihdb1
Pemberian izin akses hanya boleh dilakukan ol eh user dalam akses root at au us er yang di berikan zin
Gunakan salah satu dan Buat database baru dengan nama ’latihdb1’
Berikan izin unt uk insert, update, delet e, create pada user ayyi
Lihat perubahan izin akses
GRA NT untuk izin akses pada user ayyi, dengan ketetapan user admi n sebagai root. Cont oh :
Cont oh user ayyi membuat table pegawai dalam database latihdb1
Buatlah database akademik dengan tabel mahasiswa, matakuliah dan kelas. Struktur tabel m ahasiswa :
Struktur tabel M atakuliah :
Struktur tabel kel as :
Memberikan izin akse s per tabel dan per kolom
Cont oh user ayyi diberikan izin akses SELECT dan INSE RT untuk kol om k ota da n kdpos pada tabel mahasi wa.
Sintaksis MySQL :
Pengaruh dari perintah grant tables, sebel umnya kita coba menampilkan tabel tabl e_pri v. Sintaksis pertama :
Keterangan :
Column_nam e : Kota dan KdPos, kolom yang diberikan izin akses
Column_pri v : Izin akses kedua kolom tersebut adalah select dan insert
Anda coba kewenangan apa saja yang dapat dilak ukan ol eh user ayyi. Keluar dari mysql. Dan l ogin kem bali dengan user ayyi :
Lakukan peri ntah :
Lihat database aktif
Akatifkan database akademik
Lihat tabel aktif
Lakukan peri ntah sel ect record y ang ada pada tabel mahasiswa
User ayyi tidak diizikan untuk menam pilkan data pada tabel mahasiswa Izin akses nya adal ah select unt uk kolom kota dan kode pos
List data kota dan kode pos
Bagaim ana dengan perintah del ete tabel
Perintah del ete ditolak
Bagaim ana dengan perintah UPDA TE kota
Bagimana dengan peri ntah insert
Untuk perintah update dan insert data tidak dapat dil akukan ol eh user ayyi
Bagimana user ayyi dapat mengakses tabel mahasiswa Keluar dari MySQL dan logi n kembali menggunakan user root Dan berik an izin akses untuk tabel mahasiswa kepada user ayyi
Perintah ini mem berikan status root kepada us er ayyi, hanya izin akses lengkap di database akademik tabel mahasiswa ( on akademik.mahasiswa )
Perintah update dapat dilakukan
Lakukan peri ntah sel ect data keseluruhan
Bagaim ana dengan menambah data gunakan peri ntah ins ert ?
Perintan insert dapat dil akukan dan juml ah data terdi ri 6 record Bagaim ana dengan select untuk tabel mat a kuliah dan kelas ?
Untuk mengakses tabel m atakuliah dan kelas tidak di izinkan
Memberikan izin akse s berdasarkan lokasi pengakse s
Admin atau root atau mem berik an izin akses berdasarkan lokasi atau mem batasi komputer mana saja yang dapat mengakses MySQL server.
Perlu diperhatikan format pemberi an izin, berhubungan dengan c ara logi n ke MySQL, izin akses untuk user tertentu, buk an penghapus user. Us er yang bersangk utan tetap dapat login ke MySQL.
Bentuk umum :
menghapusnya disesuaikan dengan perintah grant.
Untuk menghapus izin akses di tabel mahasiswa, lakukan peri ntah (izin aksesnya sama dengan peri ntah grant)
Konsep m emberikan izin akses user – pri vileges user m erupakan hal yang sangat penting dalam menyangkut masalah keam anan pada MySQL.
3. Daftar Alat dan Bahan
1. Personal Komputer 1 Unit
2. Software DBMS (MS. Access, SQL Server, MySQL, Visual Foxpro)
4. Keselamatan Kerja
1. Sebelum melakukan langkah percobaan, pastikan kabel power terhubung ke Power Supply.
2. Matikan komputer setelah praktikum selesai.
5. Langkah Kerja
1. Buatlah beberapa user secara hirarki
1. Membuat USER
Menentukan database default untuk user yang baru di buat.
2. Pemberian (GRANT) Hak akses
Pada saat berhasil login, user baru mencoba untuk melihat isi salah satu table yang ada di database tersebut, namun tidak bisa. Ini disebabkan user baru tersebut belum di beri GRANT oleh admin.
Pemberian ‘grant select’ untuk user usr_chuis2,
database db_praktikum.
Chuis2 belum bisa menghapus data dari table, karena belum di beri grant delete
3. Penghapusan (REVOKE) Hak akses
Mengahapus hak akses yang telah di berikan kepada salah satu user
Role
Role digunakan untuk mengelompokkan beberapa priveleges atau hak akses, untuk di berikan kepada user yang memilik hak akses yang sama.
Misalnya role ‘bos’ memiliki hak akses select,delete,insert maka user yang di berikan hak akses
sebagai bos, bisa menggunakan semua hak akses yang ada pada role ‘bos’
Create role
Memberikan Hak Akses kepada ROLE yang telah di buat.