KULLANICI ERİŞİMLERİNİ YÖNETMEK

 

  • Sistem yetkileri
  • Nesne yetkileri
  • Tablolar üzerinde verilebilecek yetkiler
  • Roller
  • Roller ve yetkiler arasındaki farklar

yetkiler

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 :

  • Kullanıcı oluşturmak ve kaldırmak
  • Rol oluşturmak
  • DB Link oluşturma ve silme
  • Dizin oluşturma ve silme
  • Job oluşturma ve silme
  • vs…..

KULLANICI OLUŞTURMAK :

CREATE USER user_name identified by password;

ÖRNEK: CREATE USER FRKCVK IDENTIFIED BY 123456AbX

KULLANICI İÇİN SİSTEM YETKİLERİ :Kullanıcı oluşturulduktan sonra, istenilen sistem yetkileri DBA tarafından verilir.

GRANT privilege [, privilege …..]  TO user [, user | role, PUBLIC …..];

ÖRNEK               FRKCVK Kullanıcısına connect ve resource hakkı verelim

grant connect,resource to FRKCVK;

ROL

  • Rol, kullanıcılara yada başka rollere verilebilecek bir grup yetki tanımlamasıdır.
  • Roller, yetkilerin verilmesi veya geri alınması konularında güvenli ve hızlı bir ortam sağlar.
  • Roller genellikle DBA’ler tarafından oluşturulur ve yönetilir.
  • Kimin, neye, nasıl erişeceği konularında kurallara uyumun sağlanması ve raporlanmasını kolaylaştırır.

 

ROL OLUŞTURMA VE YETKİLENDİRME (GRANT)

Developer lar için bir rol oluşturalım

  • create role developer_role;

Oluşturulan bu role bazı yetkiler 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 frkcvk;

Artık frkcvk kullanıcısı developer_role rolune verilen ve verilecek tüm hak ve yetkilere sahip olacaktır.

NESNE YETKİLERİ 

  • Nesne yetkileri nesneye göre değişiklik arz etmektedir.
  • Nesnenin sahibi nesne üzerindeki tüm yetkilere sahiptir.
  • Nesne sahibi, o nesne için başkalarına yetki verebilir.

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.

  • ROLE_SYS_PRIVS: Rollere Verilen System Yetkileri
  • ROLE_TAB_PRIVS : Rollere Verilen Tablo Yetkileri
  • USER_ROLE_PRIVS: Kullanıcıların Erişebildiği Roller
  • USER_SYS_PRIVS : Kullanıcılara Verilen Sistem Yetkileri
  • USER_TAB_PRIVS_MADE: Kullanıcıların nesnelerine verilen yetkiler.
  • USER_TAB_PRIVS_RECD : Kullanıcılara verilen nesne yetkileri.