Pages

Sunday, January 16, 2011

SECURITY dalam ORACLE

Untuk membuat sebuah security di dalam oracle, langkah pertama yang harus kita lakukan yaitu :
1. Buka C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN\tnsnames.ora
2. Tambahkan script dibawah ini kedalam tnsnames.ora
DISTANT =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 169.254.16.91)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)

HOST = 169.254.16.91 merupakan alamat IP ADDRESS milik SERVER
3. Kemudian connect dengan begini.
sqlplus nama_user@distant;
password user;

KATA KUNCI

SQLPLUS / AS SYSDBA; --> untuk mengganti user dba lama dan harus di mesin server

SELECT TABLE_NAME, GRANTOR, PRIVILEGE, GRANTEE, GRANTABLE FROM DBA_TAB_PRIVS WHERE OWNER = 'POLTEK' ORDER BY TABLE_NAME; ---> digunakan untuk melihat hak akses apa saja yang telah diberikan kepada semua user.

with admin option; ----> digunakan untuk memberikan hak akses kepada seorang user, dimana hak tersebut bisa di bagi - bagikan kepada user yang lainnya.

with grant option; ---> digunakan pada setiap script yang memiliki kata ON dan digunakan untuk memberikan hak akses kepada seorang user, dimana hak tersebut bisa di bagi - bagikan kepada user yang lainnya.

1. grant connect to user1; -----> hanya memberikan hak connect kepada user1
2. grant connect to user1, user2, user3; -----> hanya memberikan hak connect kepada user1, user2, user3.
3. grant select on nama_user.nama_tabel to user1; -----> hanya memberikan hak untuk melihat data saja kepada user1 saja.
4. grant select on nama_user.nama_tabel to user1, user2, user3; -----> hanya memberikan hak untuk melihat data saja kepada user1, user2, user3.
5. grant insert on nama_user.nama_tabel to user1; -----> hanya memberikan hak untuk memasukkan data saja kepada user1 saja.
6.grant insert on nama_user.nama_tabel to user1, user2, user3; -----> hanya memberikan hak untuk memasukkan data saja kepada user1, user2, dan user3.
7. grant insert, update, delete, on nama_user.nama_tabel to user1, user2, user3; ---> untuk memberikan hak untuk memasukkan data, mengubah data, menghapus data kepada banyak user
8. revoke select on nama_user.nama_tabel FROM user3; ---> untuk remove hak akses milik user3
9. alter user user3 account lock; ---> untuk mengunci user3
10. drop user user3; ---> untuk menghapus user3
11. alter user user3 identified by passwordbaru password expire; ---> untuk mengganti password sendiri secara otomatis
12. alter user user3 identified by passwordbaru; ---> untuk mengubah password oleh DBA
13. grant dba to user3; ---> untuk memberikan hak akses yang sama dengan DBA
14. revoke connect from user1, user2; ---> untuk mencabut hak akses connect user user1 dan user2
15. lock table hr.regions in exclusive mode; ---> untuk mengunci tabel regions sehingga tabel regions tidak bisa di tambah, delete, ubah, oleh user yang lain
16. roolback ---> untuk melepaskan kunci
17. lock table hr.regions in share mode; ---> untuk mengunci tabel regions secara bersamaan.
18. select * from all_users; ---> untuk melihat semua user
19. grant resource to user1; ---> hak akses untuk bisa connect dan bisa buat tabel sendiri
20. grant execute on nama_prosedure to user1; ---> untuk memberikan hak untuk mengeksekusi prosedure tertentu kepada user1
21. grant select, insert, update, delete on nama_user.nama_tabel to user1 with grant option; -----> sistem memberikan hak kepada user1 dan user1 boleh membagi - bagikan haknya kepada user lain.
22. create role nama_group; ---> cara membuat group
contoh :
create role mahasiswa; ---> cara membuat group mahasiswa
grant mahasiswa to user1, user2, user3;
grant select on poltek.mahasiswa to mahasiswa;
23. revoke select, insert, update, delete on poltek.nilai from user1; -----> sistem mencabut haknya user1
24. revoke mahasiswa from user1; ----> mencabut hak user1 dari group mahasiswa;