Oracle 12c New Features : DBMS_PRIVILEGE_CAPTURE Package

Database’ in güvenliğinin sağlanması için belirli periyotlar arasında şirketlerin güvenlik birimleri aracılığıyla (özellikle bankalar bu konuda en hassas olan kurumlardır) database’ deki kullanıcıların yetkileri sorgulanır ve fazla olduğu düşünülen yetkilerin revoke edilmesi istenir. Ancak production sistemlerde yetki almak kimi aman çokda kolay olmamaktadır. Yetki revoke edildiğinde uygulamanın bu durumdan etkilenip etkilenmeyeceği, ilgili user tarafından bu yetkinin kullanılıp kullanılmadığı tam olarak kestirilemediği durumlar olabiliyor. Hal böyle oluncada yetkiyi revoke etmeye cesaret edilemediği durumlar yaşanmıyor değil 

Oracle 12c ile birlikte aslında bu soruna cevap bulunmuş oldu. Dbms_privilege_capture paketi ile kullanılan user hangi yetkinin kullanıldığını capture eden faydalı bir package’ dir. Privilege kullanıldığı zaman capture edildiğinden dolayı bu paket aracılığıyla toplanan yetkiler kullanılan yetkiler olarak yorumlanmalıdır.

Şimdi bu işlemi nasıl yapabileceğimiz den ve dbms_capture_privilege paketinin kullanımından bahsedelim.

DBMS_PRIVILEGE_CAPTURE paketinin spec’ ine baktığınız da 5 adet procedureden oluştuğunu görebilirsiniz.

Continue reading

SYS ve SYSTEM Userlarının Şifresinin Değiştirilmesini Önlemek

Herhangi bir userın hiçbir şekilde SYS veya SYSTEM userının şifresini değiştirilmesini istemiyorsak eğer bunu bir trigger yardımı ile engelleyebiliriz.

Öncelikle SYS userı altına trigger’ ımızı oluşturuyoruz ;

Continue reading

12c New Features : Yeni Role ve System Privileges

Oracle 12c versiyonu ile bilikte hayataımıza ilk defa girmiş olan bazı role’ ler ve bu role’ lerin altında bazı system yetkileri girmiş oldu. 12c ile birlikte aslında görevler ayrılığı ilkeside biraz daha netlik kazanmış oldu. Ne demek istediğimi aslında role’ lerin detayına ve neye hizmet ettiklerine baktığınız da daha iyi anlayacağınızı düşünüyorum . Bahsetmiş olduğumuz bu role’ lerin detayına bakalım ;

• Sysdba Role ;
Oracle’ ın 12c öncesindeki tüm verssiyonlarında da var olan ve en yetkili power user olan SYS rolunun defaultta sahip olduğu role’ dür. Database’ i kapatıp açmak da dahil olmak üzere database genelinde ihtiyaç duyulan tüm yetkilere sahip olan role’ dür.

• Sysoper ;
Sysoper yetkside yine SYS userının sahip olduğu bir ayrıcalıktır. Sysdba’ e göre yetki bazında farklılıkları vardır. Diğer role’ lere geçmeden önce bu farklardan bahsedelim ;

1

Aaşğıdaki dökümandan bu iki role’ ün daha detaylı olarak nelere yetkisini olduğunu görebilirsiniz.
http://docs.oracle.com/cd/B19306_01/server.102/b14231/dba.htm#sthref137
Continue reading

12c New Fetures : Read Any Table Yetkisi Kullanımı

Oracle 12c versiyonu ile birlikte gelen read any table yetkisinin neyi ifade ettiğinden ve daha önceki versiyonlarda sıkça kullandığımız Select any table yetkisinden ne farkı olduğunu anlatmaya çalışacağım.

11g ve daha önceki versiyonlarda kullandığımız (12c versiyonu ile de kullanmaya devam ediyoruz bu arada) Select any table yetkisini bir kullanıcıya verdiğimiz de aslında o kullanıcının select attığı tabloyu LOCK edebilme yetkisini de vermiş oluyoruz. Kullanıcı aslında bunu iki şekilde sahip olmuş oluyor. Test edelim ;

Test1 adında yeni bir user create edip sadece bir tabloya select yetkisi verip neleri yapabildiğine bakalım.

===> create user test1 identified by test1
User created.
===> grant connect to test1
Grant complete.
===> grant select on kamil.test_table to test1
Grant complete.

Test tablomuzu bu user ile lock etmeye çalışalım (lock koymaya çalışalım);
Continue reading