Bir kullanıcı yaratalım,
SQL> create user deneme identified by deneme default tablespace
Bu yarattığımız kullanıcı üzerine hiçbir yetki bulunmuyor. Şuan da hiçbir şekilde veritabanına bağlanıp objeler yaratamaz. Hatta veritabanına bağlanamaz.
Projenin gerektirdiği kadar "privilege"'a sahip ve proje ile ilişkili bir isimde "role" yaratalım.
SQL> create role developer;
"developer" ismiyle bir role yarattık. Bundan sonra privilegelarımızı bu role'e grant ederek dağıtacağız.
SQL> grant create session to developer;
SQL> grant developer to deneme;
developer role'üne create session privilege'ı verdik ve onuda deneme kullanıcısına verdik. Böylece deneme kullanıcısının üzerine bir tane "create session" yetkili rolü olmuş oldu. Bundan sonra deneme kullanıcısı veritabanına bağlantısını sağlayabilir.
SQL> grant administer database trigger to developer;
otomatik olarak deneme kullanıcısı "administer database trigger" yetkisine sahip oldu.
Bu şekilde yetkilerimizi dağıtırsak, takip etmesi ve tekrar yetkilendirmesi çok daha rahat olacaktır. Kesinlikle tek tek privilege atamayın!
Ve unutmayın, object privilegeları veren user drop edildiği zaman o user tarafından yetkilendirilen kişinin üzerinden de kalkar. Fakat system privilegelar kalıcıdır...
İyi çalışmalar,
Ogan
Hiç yorum yok:
Yorum Gönder