Anda di halaman 1dari 18

SQL SERVER - OTORITAS DAN HAK AKSES

Dasar Teori

Pada dasarnya data-data yang tersimpan dalam database merupakan sumber dari informasi
berharga maka, hanya orang-orang tertentu yang diizinkan membuat,melihat, merubah, maupun
menghapus data dalam sebuah database. Izin hak akses database biasa dilakukan seorang Database
Administrator (DBA) sebagai hal preventif  menjaga keamanan data pada database. Selain sebagai
security database hak akses user digunakan untuk memberikan batasan fasilitas kepada setiap user
yang berhubungan langsung dengan database. Ada 5 hal yang paling dasar pekerjaan  DBA
memberikan wewenang  kepada User account terhadap database:

 Membatasi User  akses data table baik untuk melihat struktur table melihat data maupun
melakukan operasi manipulasi data seperti Insert, Update, Delete data

 Membatasi user akses view database baik melihat, maupun merubauh struktur view

 Membatasi user akses strored procedure baik execute dan merubah struktur  SQL didalam
stored procedure tersebut.

 Membatasi Host akses yang digunakan user baik local host (127.0.0.1), user akses dalam
jaringan LAN dan Remot IP Public.

 Memberikan timer user akses database pada saat jam kerja saja misalnya diluar jam kerja
user tidak dapat melakukan akses database.

 Memberikan otoritas user untuk create tabel, view function, stored procedure , trigger

Pemberian otoritas pada sejumlah pemakai (user) dalam pengakses basis data maupun objek-
objek pertama kali dilakukan oleh DBA (Database Administrator). Selanjutnya para pemakai yang
telah mendapatkan otoritas akses dari DBA ini dapat memberikan otoritas yang sama atau lebih
rendah pada pemakai lainnya, tetapi tidak mungkin memberi otoritas yang lebih tinggi atau lebih
banyak otoritas yang diberikan untuk mengakses basis data dan dapat juga dibatalkan / ditarik
kembali. Pembatalan otoritas pada seseorang pemakai akan juga secara otomatis membatalkan
pemberian otoritas yang sama yang diberikan pemakai tersebut pada pemakai lainnya.

Klasifikasi Keamanan Basis Data :

1. Keamanan yang bersifat fisik (physical security), yaitu yang berdasar pada aspek fisik
perangkat. Misalkan ruang server, kunci komputer, kartu elektronis.
2. Keamanan yang berhubungan dengan orang (personel), yaitu user yang
diberi labelling untuk privillege akses pengguna.
3. Keamanan dari data dan media serta teknik komunikasi, yaitu bagaimana agar prosedur
penyimpanan lebih aman, begitu juga pada media yang digunakan dan teknik untuk
mengamankan data tersebut.
4. Keamanan dalam operasi, yaitu menyusun mekanisme pengoperasian user agar terkontrol
sehingga dapat diantisipasi kesalahan yang terjadi saat penyimpanan dan pengambilan data.
Aspek untuk mendukung Keamanan Basis Data :

1. Network security, memfokuskan kepada saluran pembawa informasi serta sistem yang
terintegrasi kepadanya (host dan kanal).
2. Application security, memfokuskan kepada aplikasi itu sendiri (yang digunakan untuk basis
data atau yang menjadi antar-muka kepada basis data), beserta aplikasi dukungan lainnya
kepada basis data itu sendiri.
3. Computer security, memfokuskan kepada keamanan dari komputer (end system) yang
digunakan, khususnya hardware pada komputer tersebut.

Aspek kehandalan terhadap Keamanan Basis Data, yaitu:

Privacy / confidentiality

Seperti bagaimana memproteksi data bersifat pribadi yang sensitif seperti:nama, tempat
tanggal lahir, agama, hobby, penyakit yang pernah diderita, status perkawinan; data pelanggan; dan
transaksi pada e-commerce. Juga khususnya melakukan proteksi terhadap serangan sniffer.

Integrity

Tindakan bagaimana agar informasi tidak berubah tanpa ijin seperti:

 Tampered (data baru menimpa data lama)


 Altered (perubahan terhadap nilai data yang eksis, yakni data ter-edit)
 Modified (data yang eksis dapat disisipkan, ditambah, dihapus oleh data baru)

Khususnya melakukan proteksi terhadap serangan: spoof, virus, trojan horse.

Authentication (otentikasi)

Tindakan otentifikasi dilakukan untuk meyakinkan keaslian data, sumber data yang
diakses, user yang mengakses data, serta server yang digunakan, dengan melakukan cara seperti:
penggunaan digital signature, dan biometrics.

Availability

Artinya, informasi harus dapat tersedia ketika dibutuhkan, dengan


menghindari server dibuat hang, down, crash. Tindakan ini bertujuan untuk proteksi terhadap
serangan:  denial of service (DoS) attack.

Non-repudiation

Non-repudiation maksudnya menghindari akses-user agar  tidak dapat menyangkal bahwa


telah melakukan transaksi; dengan cara setiap akhir transaksi pada form dilengkapi dengan
penggunaan digital signature. Hal ini dilakukan untuk proteksi terhadap serangan: deception.
Access control

Dengan adanya access control, maka ada sebuah mekanisme yang digunakan untuk
mengatur user dan akses yang dilakukan oleh user (siapa boleh melakukan apa).

Beberapa cara yang dapat dilakukan seperti:

 Dengan menggunakan password.
 Membuat kelas / klasifikasi privillege- user.

Ini bertujuan untuk melakukan proteksi terhadap serangan: intruder.

Batasan privillege-user untuk Access Control pada basis data ditunjukkan pada skema berikut ini:

3.    Daftar Alat dan Bahan

1. Personal Komputer 1 Unit


2. Software DBMS (MS. Access, SQL Server, MySQL, Oracle)

4.  Keselamatan Kerja

1. Sebelum melakukan langkah percobaan, pastikan kabel power terhubung ke Power Supply.
2. Matikan komputer setelah praktikum selesai.

5.  Langkah Kerja

MENGUBAH AUTHENTICATION MODE

1. Apabila saat proses instalasi Sql Server, anda menggunakan Windows Authentication, maka
anda dapat menambahkan Authentifikasi SQl, dengan cara memilih Properties, seperti
gambar dibawah ini.
2. Pada bagian Security, pilih SQL Server and Windows Authentication mode lalu klik Ok.
MENAMBAH USER

1. Jika Administrator database anda adalah Windows Autentication, maka untuk membuat
User, anda harus login sebagai Administrator.

2. Untuk menambah User baru, pada bagian Object Explorer, pilih Security kemudian pada
menu Logins, klik kanan lalu pilih New Login.

3. Akan muncul tampilan berikut, pada bagian SQL Server authentication, masukkan password
login untuk user yang anda buat, kemudian pilih Ok.
4. Pada bagian Server Roles, pilihlah role untuk user seperti public, dbcreator, sesuai dengan
otoritas yang anda inginkan, lalu pilih Ok.

5. Pada bagian User Mapping, Pilihlah default database yang anda izinkan penggunaannya,
kemudian klik Ok.

6. Pada bagian Status, pilih dan klik Grant dan Enabled untuk memberikan hak akses yang
diizinkan pada user, kemudian klik Ok.
7. Apabila anda ingin menggunakan Query, maka anda dapat menggunakan sintaks dibawah
ini, dengan terlebih dahulu memilih tools New Query pada bagian kiri atas.

8. Lakukan perintah restart, untuk menyimpan perubahan yang telah anda lakukan.
9. Apabila anda ingin menjadikan user yang anda telah buat menjadi Disable, maka jalankan
query dibawah ini.

10. Maka secara otomatis, bagian Login Properties untuk user tersebut menjadi Disable.
11. Untuk menghapus User, gunakan perintah Drop User <nama_user>, dengan terlebih dahulu
memasukkan nama Default Database pada User tersebut.

12. Untuk mengecek bahwa apakah pembuatan user kita berhasil, maka masuklah kembali pada
SQL Server Management Studio, seperti gambar dibawah ini, kemudian klik Connect.
MEMBUAT ROLE

1. Gunakan query dibawah ini untuk membuat Role bernama Audit dengan authorisasi sebagai
Security Admin, klik perintah Execute untuk menjalankannya.

2. Anda juga dapat menggunakan perintah berikut.

3. Gunakan pula perintah berikut untuk membuat Role database. Dengan cara memilih nama
database anda lalu pilih Security > Roles, pada Database Roles, klik kanan lalu pilih New
Database Role.

4. Pada Role Name, isikan nama Role yang anda ingin buat, lalu klik Ok.
5. Maka Role yang anda buat, akan muncul seperti pada gambar berikut.

MENGUNAKAN PERINTAH GRANT, REVOKE DAN DENY.

1. Jalankan perintah Grant untuk memberikan otorisasi pada Role Audit.


2. Perintah Deny digunakan untuk melarang hak akses.

3. Perintah Grant yang diikuti oleh With Grant Option, berarti kita mengizinkan Teller agar
dapat menjalankan perintah Select, serta mengizinkannya agar dapat memberi has akses
berupa Select ke User lain.

4. Perintah Revoke merupakan kebalikan dari perintah Grant, yaitu untuk membuang hak akses
tertentu yang telah administrator berikan.
5. Untuk menghapus Role, anda dapat menggunakan perintah berikut.

MENJALANKAN BERBAGAI PERINTAH QUERY

1. Perintah dibawah ini dapat digunakan untuk membuat tabel bernama Pegawai, dengan
kolom berupa no_induk dan nama_karyawan.

2. Untuk menampilkan tabel yang telah dibuat, maka anda harus keluar dari SQL Management
studio, lalu login kembali, karena biasanya tabel yang telah dibuat, tidak langsung muncul.

3. Berikut adalah contoh penggunaan perintah Delete, untuk tabel bernama Acara, perintah
tersebut untuk menghapus isi pada tabel Acara.
4. Perintah berikut adalah perintah Select, untuk menampilkan kolom ataupun baris yang kita
ingin lihat.
Kode_Acara merupakan nama kolom, sedangkan Jenis_Acara merupakan nama tabel.

Perintah Select * berarti kita ingin memilih semua isi yang ada pada tabel peserta.

5. Perintah Update digunakan untuk menambah beberapa nilai pada tabel.


6. Data Percobaan dan Analisa Data

Analisa : Apabila pada saat proses instalasi, anda memilih Windows Authentication Mode, maka
anda juga dapat menjadikannya SQL Server Authentication Mode tanpa harus meng-install kembali
aplikasi tersebut, dengan cara memilih menu Properties. Lakukan seperti gambar diatas, kemudian
pilih Ok.
Analisa : Untuk membuat User, maka anda harus login sebagai Administrator database, seperti
gambar diatas, karena Administrator dari database tersebut menggunakan Windows Authentication
Mode, maka pada saat login, digunakan authentication tersebut.

Analisa : Pada saat membuat User, maka kita harus memasukkan nama Default_Database untuk
User tersebut, seperti pada gambar diatas.

Analisa : Perintah Grant digunakan untuk memberi Otorisasi tertentu pada User seperti dapat
melakukan Select, Update, dan Delete. Sebelum perintah Grant, maka harus diikuti oleh nama dari
databasenya.
Analisa : Perintah Grant yang diikuti With Grant Option, berarti kita mengizinkan Teller agar dapat
menjalankan perintah Select, serta mengizinkannya agar dapat memberi has akses berupa Select ke
User lain

Analisa : Perintah Revoke merupakan kebalikan dari perintah Grant, yaitu digunakan untuk
membuang atau mencabut hak akses tertentu yang telah administrator berikan.

7.    Kesimpulan

Pemberian otoritas pada sejumlah pemakai (user) dalam pengakses basis data maupun objek-
objek pertama kali dilakukan oleh DBA (Database Administrator). Selanjutnya para pemakai yang
telah mendapatkan otoritas akses dari DBA ini dapat memberikan otoritas yang sama atau lebih
rendah pada pemakai lainnya, tetapi tidak mungkin memberi otoritas yang lebih tinggi atau lebih
banyak otoritas yang diberikan untuk mengakses basis data dan dapat juga dibatalkan / ditarik
kembali. Pembatalan otoritas pada seseorang pemakai akan juga secara otomatis membatalkan
pemberian otoritas yang sama yang diberikan pemakai tersebut pada pemakai lainnya.

Beberapa contoh perintah yang terkait dengan otoritas pada database :

 Grant digunakan untuk memberikan otoritas tertentu pada User seperti dapat menjalankan
perintah Select, Update, Delete maupun Create table.
 Revoke merupakan kebalikan dari perintah Grant, yaitu digunakan untuk membuang atau
mencabut hak akses tertentu yang telah administrator berikan.
 Deny digunakan untuk melarang hak akses tertentu pada User.
 Role adalah nama dari sekumpulan privilege yang saling berelasi dan diberikan pada user.
Role dibuat untuk mempermudah proses pemberian dan pelepasan privilege.

Daftar Pustaka :

 https://sekolahtechno.blogspot.com/2016/05/sql-server-otoritas-dan-hak-akses.html

Anda mungkin juga menyukai