Oleh: denysutani | September 21, 2009

DB2 Security – LBAC part 2

Setelah mempelajari tentang LBAC, sekarang kita akan lebih mendalami tentang security label. LBAC bergantung dengan security label untuk dapat menjalankan access control.Security label sendiri merupakan objek database yang berisi sekumpulan kriteria keamanan. Security label dapat diberikan ke user, baris dan kolom.

Dalam memberikan security label ini, SECADM dapat memberikan akses untuk read only, write access only atau keduanya. User tidak dapat memiliki lebih dari 1 security label secara explisit, namun dapat memiliki beberapa security label secara implisit melalui role atau grup.

Beberapa command dasar security label
– CREATE SECURITY LABEL
– DROP SECURITY LABEL
– GRANT SECURITY LABEL
– REVOKE SECURITY LABEL

Sekarang kita akan mencoba untuk membatasi akses user tertentu terhadap data.

Untuk membuat LBAC, dibutuhkan langkah-langkah berikut
1. membuat komponen security label
2. membaut security policy
3. membuat security label
4. mengamankan table dengan LBAC

1.
db2 CREATE SECURITY LABEL COMPONENT securityLevel ARRAY[‘TOP SECRET’,’SECRET’,’CONFIDENTIAL’,’PUBLIC’]

2.
db2 CREATE SECURITY POLICY dataAccess COMPONENTS securityLevel WITH
DB2LBACRULES RESTRICT NOT AUTHORIZED WRITE SECURITY LABEL

3.
db2 create security label dataAccess.topSecretSecLabel component securitylevel ‘TOP SECRET’
db2 create security label dataAccess.secretSecLabel component securitylevel ‘SECRET’

4.
db2 alter table staff alter column salary secured with secretSecLabel add security policy dataAccess

Dalam kasus saya, langkah ke 4 akan menghasilkan error yang mengatakan
SQL20419N  For table “<tablename>”, authorization ID “<authid>” does not have LBAC
credentials that allow using the security label “DATAACCESS.SECRETSECLABEL” to
protect column “SALARY”.  SQLSTATE=42522

Untuk mengatasi error tersebut, dibutuhkan untuk melakukan langkah berikut

5. memberikan hak security label ke user lain
db grant security label dataAccess.secretSecLabel to user <authid> fo all access

6. lakukan langkah ke 4 dengan menggunakan user yang baru

7. jika anda menggunakan user yang tidak memiliki LBAC credential, maka akan muncul error sebagai berikut
SQL20264N  For table “<tablename>”, authorization ID “<authid>” does not have
“READ” access to the column “SALARY”.  SQLSTATE=42512

Note : perhatikan privileges masing-masing user. Kemungkinan terjadi perbedaan dalam mengikuti langkah diatas jika priveleges tidak sesuai.

Sumber
– DB2 Security and Comp


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Kategori

%d blogger menyukai ini: