Skip to main content

Cara membuat Hak Akses (Privileges) pada user SQL Server (Grant dan Revoke)


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]]

Grant Hak Akses (Privileges) pada  tabel

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

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:
  1. jenis_privileges adalah jenis hak akses yang dapat diberikan atau dihapuskan 
  2. nama_tabel adalah nama object yang dalam kasus ini adalah nama tabel yang akan diberikan atau dihapuskan hak aksesnya
  3. nama_user adalah nama user yang akan diberikan atau dihapuskan hak aksesnya
Berikut adalah jenis privileges yang bisa digunakan:

PrivilegeKeterangan
SELECTKemampuan untuk menjalankan pernyataan SELECT pada tabel.
INSERTKemampuan untuk menjalankan pernyataan INSERT pada tabel.
UPDATEKemampuan untuk menjalankan pernyataan UPDATE pada tabel.
DELETEKemampuan untuk menjalankan pernyataan DELETE pada tabel.
REFERENCESKemampuan untuk membuat sebuah constraint yang mengacu pada tabel.
ALTERKemampuan untuk menjalankan pernyataan ALTER TABLE untuk merubah definisi tabel.
ALLSEMUA tidak memberikan semua izin untuk tabel. Sebaliknya, ia memberikan izin ANSI-92 yang merupakan SELECT, INSERT, UPDATE, DELETE, dan REFERENCES.
Contoh
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;]

Revoke hak akses (Privileges) pada tabel

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;]

Selamat mencoba rekan-rekan :)

Comments

  1. itu kan memberikan hak akses pada user, kalo ingin meberikan hak akses pada IP bisa tidak ? terimakasih

    ReplyDelete

Post a Comment

Popular posts from this blog

Tutorial SQL Injection Menggunakan SQLMap

Kali ini kita akan membahas tutorial hacing dengan teknik SQL Injection menggunakan tool SQLMap untuk melakukan hacking atau serangan pada website berbasis data dengan tujuan untuk menemukan kerentanan keamanan pada website tersebut. SQL Injection adalah teknik injeksi code yang digunakan untuk melakukan serangan pada aplikasi web berbasis data di mana pernyataan malicious SQL dimasukkan ke dalam entri untuk di eksekusi (misalnya untuk menampilkan konten database ke penyerang). SQL injection dapat mengeksploitasi kerentanan keamanan pada perangkat lunak aplikasi, misalnya saat user salah melakukan filter inputan untuk pengiriman karakter yang disematkan dalam pernyataan SQL atau inputan user tidak diketik dengan benar dan tanpa diduga dieksekusi. SQL Injection lebih dikenal sebagai vektor serangan untuk sebuah situs web namun juga dapat digunakan untuk menyerang semua jenis database SQL. Apa itu SQLMap SQLMap adalah salah satu tool otomatis untuk melakukan SQL Injection yang

Penjumlahan dan pengurangan tanggal di PHP

Penjumlahan (tambah) dan pengurangan (kurang) tanggal di PHP sering  kita jumpai di beberapa kasus pembuatan sistem seperti pembuatan fitur peminjaman, perizinan, pemesanan dan lain-lain. Kali ini kita akan membahas bagaimana  suatu tanggal dapat di tambah atau di kurangi dengan hari, bulan dan tahun. Ok langsung saja kita bahas materinya!

Mencari Selisih Tanggal di PHP

Ini adalah panduan sederhana tentang bagaimana mencari atau menghitung selisih antara dua tanggal di PHP. Pastikan untuk mencoba contoh di bawah jika Anda baru mengenal topik ini.  Hal ini sering kita jumpai pada kasus-kasus pembuatan aplikasi berbasis web (PHP) seperti: Menghitung waktu keterlambatan pada aplikasi pencatatan presensi pegawai Menghitung umur karyawan dan masa kerja pada sistem kepegawaian Menghitung lama pengerjaan project pada sistem manajemen project Mencari atau menghitung waktu keterlambatan atau peminjaman pada sistem pustaka Mencari atau Menghitung durasi peminjaman pada sistem rental mobil/motor  dan pada kasus-kasus pembuatan sistem/aplikasi lainnya Mencari selisih tanggal di PHP menggunakan kelas DateTime Untuk mencari atau  menghitung jumlah selisih hari dari dua tanggal PHP kita akan menggunakan DateTime class dengan fungsi diff, cara ini sangat mudah karena lebih bersih dan menyediakan antarmuka OO (Object Oriented). Kelas ini tersedia pa