DB2 Security terdiri dari 2 bagian :
- Authentication : adalah proses dimana identitas user divalidasi.
- Authorization : adalah tahap dimana DB2 memeriksa apakah user yang telah ter-aunthetication dapat melakukan operasi yang diminta(DML opperastion).
Authorities
Diklasifikasikan menjadi 2 kelompok:
- Instance level authorities : authority yang diaplikasikan pada level instance. Ex ; SYSADM.
- Database level authorities : authority yang hanya bisa diaplikasikan di level database. Ex ; DBADM.
- SYSADM : mengatur keseluruhan instance
- SYSCTRL : mengelola database manager instance
- SYSMAINT : me-maintain database dalam sebuah instance
- SYSMON : memonitor instance dan database-databasenya
- SECADM : mengatur security dalam database
- DBADM : mengatur sebuah database
- ACCESSCTRL : memberi(GRANT) dan mengambil(REVOKE) authority dan privileges.
- DATAACCESS : menyediakan kemampuan untuk mengakses suatu database
- SQLADM : memonitor dan menyesuaikan query SQL
- WLMADM : mengatur workloads
- EXPLAIN : user-user yang membutuhkan perencanaan query
connect to sample
grant DBADM on database to user bob
Roles
Peran memungkinkan security administrator untuk menetapkan authorities atau privileges untuk beberapa user atau kelompok. Beberapa step untuk menjalankan role:
- Security administrator terlebih dahulu harus membuat role dengan command line :” CREATE ROLE TESTER”
- DBADM harus memberikan authority atau privileges kepada role tersebut : “GRANT SELECT ON TABLE STAFF TO ROLE TESTER”
- Security administrator memberikan(grant) role TESTER kepada user RAUL dan JIN : “GRANT ROLE TESTER TO USER RAUL, USER JIN”
- Jika JIN meninggalkan departemen TEST, maka securiry administrator revoke role TESTER dari USER JIN : “REVOKE ROLE TESTER FROM USER JIN”
Statement GRANT dan REVOKE
Untuk grant the SELECT privilege pada table T1 to the user USER1:
GRANT SELECT ON TABLE T1 TO USER user1
Untuk grant all privileges pada table T1 to the group GROUP1:
GRANT ALL ON TABLE T1 TO GROUP group1
Untukrevoke all privileges pada table T1 from group GROUP1:
REVOKE ALL ON TABLE T1 FROM GROUP group1
Untukgrant EXECUTE privilege pada procedure p1 to user USER1:
GRANT EXECUTE ON PROCEDURE p1 TO USER user1
Untuk revoke EXECUTE privilege pada procedure p1 from user USER1:
REVOKE EXECUTE ON PROCEDURE p1 FROM USER user1
