


Oracle veritabanı yönetiminde kullanıcı ve rol yetkilendirmesi, güvenliği sağlamak ve erişim kontrolünü yönetmek için kritik bir konudur. Bu yazıda Oracle’da kullanıcı oluşturma, rollerin yönetimi ve yetkilendirme süreçleri ele alınacaktır. Yetkiler konusunu ele alırsak aşağıdaki gibi bölümlere ayırabiliriz

SİSTEM YETKİLERİ: Birçok sistem yetkisi vardır ve bu yetkilerin bir çoğu DBA (DataBase Administrator)’ lerde bulunmaktadır. Birkaç örnek vermek gerekirse :
CREATE USER user_name IDENTIFIED BY "Password"; Bir kullanıcı oluşturulduktan sonra Database tarafında bu kullanıcının herhangi bir anlamı yok şu an çünkü hiç bir yetkisi yok , Database üzernde herhangi bir işlem yapabilmesi için yetkileri olması gerekmekte, Bir yetkinin verilmesi GRANT.. TO ile verğilir yetki REVOKE .. FROM ifadesi ile DBA tarafından alınır ve verilir.
Kullanıcıya Yetki Verilmesi ;
GRANT privilege [, privilege …..] TO user [, user | role, PUBLIC …..]; örnek olarak FRKCVK user ına connect ve resource yetkilerini verelim;
grant connect,resource to FRKCVK; create role developer_role;
Bu Role bazı yetkileri verelim
grant select any table to developer_role;
grant update any table,insert any table to developer_role Son olarak bu Rolü bir kullanıcıya verelim
grant developer_role to devuser; NESNE YETKİLERİ
SELECT, INSERT, UPDATE, DELETE ……..
SYNTAX :
GRANT object_prv [(columns)]
ON object
TO {user | role |public}
[WITH GRANT OPTION]; WITH GRANT OPTION : Alınan yetkiyi bir başkasına da verebilmek için kullanılan option dır.
ÖRNEK :
grant delete on hr.employees to frkcvk with grant option;
grant insert,update on hr.jobs to frkcvk with grant option; YETKİLERİ GERİ ALMA (REVOKE)
Kullanıcılara yada rollere verilen yetkiler REVOKE komutu ile geri alınır.
SYNTAX
REVOKE [privilege, priv … | ALL ]
ON object
FROM {user ,user..| role |public}
[CASCADE CONSTRAINTS]; ÖRNEK :
revoke delete on hr.employees from frkcvk;
revoke insert,update on hr.jobs from frkcvk; YETKİLERİ SORGULAMA
Aşağıdaki View lerden Kullanıcıların yetkilerine dair bilgilere ulaşılabilir.
Bir kullanıcının sahip olduğu yetkileri görmek için aşağıdaki sorgular kullanılabili
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'ORNEK_KULLANICI'; Bir kullanıcının sahip olduğu roller:
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'ORNEK_KULLANICI'; Bir rolün içerdiği yetkileri görmek için:
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'RAPOR_KULLANICISI';
Bir yanıt yazın