Pada tutorial kali ini kita akan belajar bagaimana cara membuat atau memberi grant atau revoke hak akses (Privileges) pada user di SQL Server menggunakan syntax Transact SQL (T-SQL). Anda dapat memberi GRANT dan REVOKE hak akses pada berbagai objek database di SQL Server. Kali ini kita akan melihat bagaimana memberi dan menghapus hak akses pada tabel di SQL Server. Memberikan permissions dan menghapus permissions tidak terlalu sulit dilakukan di dalam SQL Server, hanya butuh beberapa waktu untuk menentukan permissions apa yang harus diterapkan. Sebelumnya anda harus membuat user dahulu pada SQL Server, setelah itu baru kita bisa memberi Hak Akses. Berikutnya pastikan anda sudah membuat atau menjalankan script dibawah ini. USE [nama_database] GO CREATE USER [nama_user] FOR LOGIN [nama_user] Anda dapat memberi (Grant) berbagai hak akses ke tabel pada user. Hak akses ini bisa berupa kombinasi SELECT, INSERT, UPDATE, DELETE, REFERENCES, ALTER, atau ALL. Sintaks untuk memberikan (Grant) hak akses (Privileges) pada tabel di SQL Server adalah: GRANT jenis_privileges ON nama_tabel TO nama_user; Berikut adalah keterangan dari sintaks diatas:
Misalkan kita mempunyai sebuah database dengan nama sistem_akademik, sebelumnya kita telah membuat sebuah user SQL Server dengan nama akademik_mahasiswa. Pada database sistem_akademik terdapat sebuah tabel yang bernama tabel mahasiswa. Sekarang kita akan coba membuat atau memberikan hak akses select data pada tabel mahasiswa kepada user akademik_mahasiswa. Berikut adalah skripnya: GRANT SELECT ON sistem_akademik.dbo.mahasiswa TO akademik_mahasiswa; Jika anda ingin memberikan dua atau lebih hak akses pada user SQL Server tersebut anda dapat menambahkan tanda koma pada hak akses kedua dan setelahnya, berikut adalah contohnya. GRANT SELECT,INSERT,UPDATE ON sistem_akademik.dbo.mahasiswa TO akademik_mahasiswa; Jika anda ingin membuat atau memberikan jenis hak akses select,insert,update,delete dan references sekaligus anda bisa menggunakan jenis hak akses ALL, berikut adalah contohnya. GRANT ALL ON sistem_akademik.dbo.mahasiswa TO akademik_mahasiswa; Setelah anda membuat atau memberikan hak akses pada sebuah user SQL Server, anda mungkin perlu mencabut atau menghapus beberapa atau semua hak akses tersebut. Untuk melakukan hal tersebut, anda dapat menjalankan perintah REVOKE. Anda dapat mencabut atau menghapus kombinasi hak akses SELECT, INSERT, UPDATE, DELETE, REFERENCES, ALTER, atau ALL. Sintaks Sintaks untuk mencabut hak akses pada tabel di SQL Server adalah: REVOKE jenis_privileges ON nama_tabel FROM nama_user;Contoh Misalkan pada database sistem_akademik yang telah kita buat sebelumnya, kita akan mencabut hak akses INSERT untuk tabel mahasiswa pada user akademik_mahasiswa, berikut adalah sintaksnya: REVOKE INSERT ON sistem_akademik.dbo.mahasiswa FROM akademik_mahasiswa;
PERTANYAAN PENDAHULUANKerjakan tugas pendahuluan ini, jika sudah selesai, kumpulkan kepada asisten anda. Waktupengerjaan maksimal 10 menit.1. Perintah apakah yang digunakan untuk menciptakan user ? Berikan contoh !Bisa menggunakan create dan identified pada cmd untuk membuat new user . lalu gunakangrant resource connect to … (schema parent ) untuk mengaktifkan user baru sehingga bisa digunakan / connect databaseContoh :CREATE USER ( iwan ridwan) <-name userIDENTIFIEDby (6301120153) <- password ;Stelah berhasil lalu ketikGRANT RESOURCE CONNECT TO iwan ridwan;User yg dibuat otomatis menjadi schema baru dengan nama yg sama name user . (iwan ridwan)2. Jelaskan apa yang dimaksud dengan privileges !Privilages adalah sbuah hak akses pada sbuah user , dimana ada yg dinamakan parent – child .Hak akses yg utama disibut DBA dimana mengatur semua user . privileges dibagi menjadi 2adanya SYSTEM (DBA (Parent)hak akses = CREATE , DROP DLL )danOBJEK((child) hak akses=bias memberi hak akses ke user yg lainnya sesuai printah / hak dari DBA )3. Jelaskan perbedaan system privileges & object privileges !System privileges: hak akses yang diberikan langsung dari DBA dimana dapatmengoprasikan sebuah database. (create , drop dll)Objek privileges: dalam hal nya objek ini dapat meng oprasikan system lebih spesifiktentu stela printah dari DBA biasa disebut (grant privilages) .4. Jelaskan apa yang dimaksud dengan role !Masih berbicara pada sebuah hak akses (privileges ) dimana , disini dibentuk sebuah group yanghak aksesnyadiberikan pada user . 5. Perintah apakah yang diberikan untuk memberikan hak akses kepada seorang user ?BiasanyaGRANT PRIVILEGES atauWITH GRANT OPTION(useryg telah di berikan hak aksesdapat diberikan ke user yg lain .)6. Perintah apakah yang diberikan untuk mencabut hak akses dari seorang user ? Upload your study docs or become a Course Hero member to access this document Upload your study docs or become a Course Hero member to access this document End of preview. Want to read all 7 pages? Upload your study docs or become a Course Hero member to access this document
OpODab.com - MySQL pada dasarnya merupakan sistem database yang aman. Di MySQL kita dapat mengatur hak akses tiap user terhadap data di database. MySQL memungkinkan kita mengatur hak akses user sampai pada tingkat kolom. Artinya kita dapat mengatur kolom tertentu dapat diakses oleh user siapa saja. Semua pengaturan hak akses (privileges) tersimpan di database mysql yang secara default sudah ada di sistem MySQL.
Di dalam database mysql antara lain terdapat tabel-tabel sebagai berikut:
GRANT dan REVOKE di MySQL Untuk mengatur hak akses di MySQL, pada dasarnya kita menggunakan bentuk perintah GRANT dan REVOKE. Berikut ini bentuk umum perintah GRANT dan REVOKE secara sederhana : ON {tbl_name | * | *.* | db_name.*} TO user_name [IDENTIFIED BY 'password'] ON {tbl_name | * | *.* | db_name.*} Berikut ini pilihan untuk priv_type dalam bentuk umum perintah GRANT dan REVOKE di atas: ALL PRIVILEGES FILE RELOAD Perintah GRANT dan REVOKE dapat digunakan untuk membuat user baru maupun mengatur hak akses user yang sudah ada dengan hak akses (privileges ) tertentu. Tingkatan hak akses user dapat terbagi menjadi tingkatan global (tersimpan di tabel mysql.user), database (tersimpan di tabel mysql.host dan mysql.db), tabel (tersimpan di tabel mysql.tables_priv) dan kolom (tersimpan di tabel mysql.columns_priv). Setiap perubahan hak akses di MySQL, termasuk menambahkan user baru, tidak akan berlaku sebelum diakhiri dengan perintah FLUSH PRIVILEGES. Menambahkan dan Mengatur Hak Akses User Untuk menambahkan dan mengatur hak akses (privileges) user di MySQL, kita dapat menggunakan 2 cara.
Menambahkan user baru dengan nama user ‘lholhox’ yang dapat mengakses semua database dari komputer ‘localhost’ dengan password ‘lholhox’. User ini juga berhak menjalankan perintah GRANT untuk user lain. GRANT ALL PRIVILEGES ON *.* TO lholhox@localhost IDENTIFIED BY 'lholhox' WITH GRANT OPTION; Menambahkan user baru dengan nama user ‘agus’, tidak dapat mengakses database (*.*), hanya dapat mengakses dari komputer dengan IP ‘192.168.1.5’ dan password ‘agus’. GRANT USAGE ON *.* TO IDENTIFIED BY 'agus'; Menambahkan user baru dengan nama user ‘admin, hanya dapat mengakses database ‘penjualan’, hanya dapat mengakses dari komputer ‘localhost’ dan dengan password ‘admin’. GRANT ALL PRIVILEGES ON penjualan.* TO admin@localhost IDENTIFIED BY 'admin'; Berikut ini beberapa contoh mengatur hak akses user yang sudah ada di MySQL: Mengubah hak akses user ‘agus’ agar dapat mengakses database ‘penjualan’. GRANT ALL PRIVILEGES ON penjualan.* TO ; FLUSH PRIVILEGES; Mengubah hak akses user ‘admin’ agar dapat CREATE di database ‘penjualan’. GRANT CREATE ON penjualan.* TO admin@localhost; Untuk menghapus hak akses user, dapat dilakukan dengan perintah REVOKE. Berikut ini contohnya: Menghapus hak akses user ‘admin’ terhadap database ‘penjualan’. REVOKE CREATE ON penjualan.* FROM admin@localhost; Untuk mengganti password suatu user di MySQL, kita tinggal menjalankan perintah UPDATE terhadap field Password di tabel mysql.user. Password tersebut diekripsi dengan fungsi PASSWORD(). Berikut ini perintah SQL yang dapat digunakan untuk mengganti password user: UPDATE user SET Password=PASSWORD(‘123’) WHERE User=’admin’ AND Host=’localhost’; D FOR admin@localhost = PASSWORD (‘123’); |