Modul 4 Mata Pelajaran Kelas Semester Alokasi waktu
: Basis Data : II :V : 3 X 45 menit
A. Standar Kompetensi Mengoperasikan Bahasa Pemrograman Data Description (SQL)
B. Kompetensi Menggunakan SQL untuk memanipulasi data
C. Tujuan Peserta harus dapat: Memahami penggunaan username dan password pada MySQL Memahami pengelolaan user dengan grant dan revoke Memahami bagaimana sistem privilege bekerja
D. Uraian Materi Privilege adalah hak dan wewenang yang diberikan kepada pemakai yang telah didefinisikan untuk dapat mengakses dan mengelola database MySQL. Privilege mengatur hak mengakses database, data mana saja yang boleh diakses, dan dari mana saja bisa diakses. Superuser database MySQL adalah penanggung jawab dan pengelola database MySQL dengan level tertinggi. Superuser secara umum dalam pengelolaan database berkaitan dengan privilege bertugas untuk: - Mengelola pemakai yang berhak mengakses database - Mengatur dari mana saja database bisa diakses - Mengatur data mana saja yang bisa diakses oleh setiap pemakai - Mengatur hak akses apa saja yang bisa dilakukan oleh setiap pemakai
1
Modul 4 – semester 4
Merupakan pemikiran yang baik untuk memberikan privilege hanya pada user yang memerlukannya, tetapi harus berhati-hati pada saat memberikan privilege karena:
Grant privilege memungkinkan user untuk memberikan privilege pada user lainnya
Alter privilege bisa dipergunakan untuk mengambil alih privilege sistem dengan mengubah nama tabel
File privilege bisa dipergunakan untuk membaca file apapun pada server ke dalam suatu tabel database
Shutdown privilege bisa dipergunakan untuk melakukan penolakan / deny service ke seluruh user dengan mematikan server
Disusun oleh: Rini Widiastuti, A.Md © Copyright 2008
2
Modul 4 – semester 4
3
Terdapat beberapa hal yang tidak bisa dilakukan dengan sistem privileges MySQL:
Tidak dapat secara eksplisit menentukan suatu user harus ditolak aksesnya, dalam arti tidak dapat secara eksplisit mencocokan seorang user dan kemudian menolak koneksi
Tidak dapat menentukan suatu user memiliki suatu privilege membuat atau men-drop tabel dalam database, tetapi tidak untuk membuat atau mendrop databasenya sendiri
PEMERIKSAAN AKSES Alur pemeriksaan yang dilakukan yaitu:
Verifikasi koneksi
Verifikasi permintaan proses (request)
Verifikasi Koneksi: Server MySQL
USER MySQL memeriksa tabel user (username, password,host)
Jika tidak ditemukan dalam tabel user maka pemakai ditolak
Disusun oleh: Rini Widiastuti, A.Md © Copyright 2008
Modul 4 – semester 4
4
Verifikasi Permintaan Proses:
Tolak masuk ke dalam MySQL
Info login tidak sesuai
Tidak ada privilege
Cek privilege dalam tabel user
Cek privilege dalam tabel db ada privilege
Proses perintah Hasil Eksekusi
ada privilege
ada privilege Cek privilege dlm tabel tables_priv
ada privilege
Tolak Perintah
Tidak ada privilege
Cek privilege dlm tabel columns_priv
Tidak ada privilege
Sintak pengelolaan Privilege:
GRANT [privileges] [nama_kolom] ON nama_database.nama_tabel TO nama_user @host_komputer IDENTIFIED BY “password“ [WITH GRANT OPTION] ;
Contoh: GRANT select, insert on dblatihan.* TO rini_widi@localhost;
Sintak Pencabutan Privilege: REVOKE [privileges] [nama_kolom] ON nama_database.nama_tabel FROM nama_user@host_komputer ;
Contoh: REVOKE insert on dblatihan.* FROM rini_widi@localhost; Disusun oleh: Rini Widiastuti, A.Md © Copyright 2008
Tidak ada privilege
Modul 4 – semester 4
5
LATIHAN
1. Apakah yang kegunaan sistem privilege? 2. Apa sajakah tugas dari seorang superuser? 3. Sebutkan beberapa hal yang tidak dapat dilakukan dengan sistem privileges! 4. Jelaskan alur pemeriksaan akses yang dilakukan MySQL! 5. Dibawah ini adalah tabel hak user yang hanya dapat mengakses database dbLatihan: Nama User
Privilege
Host
Adm_db
Create, drop, alter
Localhost, Smk_telkom01
Operator
Insert, select
Smk_telkom01
Member
Update, delete, select
Localhost, member.smk_telkommlg.sch.id, Smk_telkom01
a. Buatlah database dbLatihan b. Tambahkan user dan privilege sesuai tabel diatas c. Mengaktifkan user dan privilege sistem yang baru d. Mengakses database dari berbagai host dengan user yang telah dibuat e. Login sebagai Adm_01, buat tabel siswa, kemudian lihat daftar tabel pada database dbLatihan. Jelaskan output yang dihasilkan! f. Apa yang dihasilkan dengan melakukan drop tabel atau alter table? Jelaskan! g. Login sebagai operator dari localhost h. Login sebagai operator dari host smk_telkom01, kemudian lihat daftar tabel. Selanjutnya operator melakukan penambahan dan penghapusan data ke dalam tabel siswa i.
Login sebagai member dari host member.smk_telkom-mlg.sch.id kemudia member melakukan update data siwa dan menampilkannya, melakukan delete record siswa dan menampilkannya, kemudian menambhakan data baru ke dalam tabel siswa
j.
Cabut privilege user operator untuk select data siswa
k. Ubah password user member l.
Tambahkan privilege user Adm_db untuk select data
Disusun oleh: Rini Widiastuti, A.Md © Copyright 2008