Kategoriler
ORACLE

Oracle 11g: DBA-1||User Security

8.Administering User Security ( Kullanıcı Güvenliği Yönetimi)

Veritabanında şema kavramı:  user = schema

Bizim veritabanımızda yönetici accountları var. (sys, SYSTEM en yetkili iki kullanıcıdır) Account olarak ASM kısmında da her şeyin sahini SYS’dir.

Rol olarak  database tarafında en yetkili kullanıcı SYSDBA;
ASM tarafında ise SYSASM’dir.

SYS kullanıcısı normal bir user değildir, normal bir user işlemleri ile uğraşmaz. Mesela tablo yaratmaz, drop table yapmaz. tablespace yaratır. Performansı monitör eder.  Yönetici kullanıcıdır yönlendirme işlemlerini yapar.

SYSTEM yönetici de dba rolüne sahiptir. Çoğu yetkiye sahiptir ama SYS gibi database’i kapatma ya da açma yetkisine sahip değildir.

SYSMAN ve DBSNMP bunlar Enterprise Manager kullanıcılarıdır. Monitör yapar, yönetimi sağlayan kullanıcılardır. Enterprise manager yoksa bu kullanıcılarda yoktur.

create user

Server > Security – Users kısmından ulaşırız.

CREATE USER

show sql dediğimizde şunu görürüz:

CREATE USER "SEKAİST" PROFILE "DEFAULT" IDENTIFIED BY "*******" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK
GRANT "CONNECT" TO "SEKAİST"

createlike

 

Oluşturulan kullanıcılar ile detaylara bu menüden ulaşabiliriz. Benzer kullanıcı oluştur, kullanıcıyı lockla gibi özellikler vardır.

Privileges(Yetkiler)

priveleges

System privileges — veritabanının tamamında etkili yetkilerdir. ( create session vb)
Object privileges — veritabanın’da bir objenin özelliği gibi yetkilerdir (insert,select, vb)

object privileges system privileges

Bu yetkilere kullanıcıyı seçtikten sonra edit diyerek ulaşabiliriz.

ADMIN OPTION ile Kullanıcılara Obje Yetkileri Verme ve Yetkileri Alma

admin option

 

Grant ile yetki verilir revoke ile yetki alınır.

Admin yetkilerinde zincirleme etki yoktur. Tek tek verilip, tek tek alınır.

GRANT OPTION ile Kullanıcılara Obje Yetkileri Verme ve Yetkileri Alma

grant option

Object yetkilerinde zincirleme etki vardır. İlk verilen kişiden o yetki alındığında yetki diğerlerinden de alınır.

Rollere Yetki Atama ve Kullanıcılara Rol Atama

create profile

 

Rol Kavramı: Kullanıcılara verilen yetkilerin daha rahat yönetebilmek için yönetimin admin tarafından daha kolaylaştırılması için geliştirilen bir kavramdır. Bu noktada veritabanında Jenny, David , Rachel kullanıcılarından Jenny müdür diğer iki kullanıcı ise çalışandır.  İki çalışan bir tane sistem yetkisi(create ), iki tane obje yetkisine sahiptir(select, update)  rolü

CREATE ROLE HR_CLERK;
-- birinci rol yaratıldı.

GRANT CREATE JOB to HR_CLERK;
-- create sistem yetkisini verdik.

GRANT SELECT, UPDATE on hr.employees to HR_CLERK;
-- hr.employees tablosunda select ve update yetkilere role verildi

GRANT HR_CLERK TO David, Rachel
-- rolü kullanıcılara verdik.

ile yaratılır.   Bunun avantajı rolün içinde yapılan değişiklikler hemen kullanıcılara yansır. Tek tek kullanıcılar ile uğraşılmaz.

Çalışanın görüp müdürün göremediği yetki fazla yaşanan bir durum değildir.  Statü olarak daha yukarıda olduğu için daha fazla yetkisi olmalıdır.

CREATE ROLE HR_MGR;
-- rolü yarattık.

GRANT DELETE,INSERT on hr.employees to HR_MGR;
--hr.employees tablosu için yetkiler verildi.

GRANT HR_CLERK TO HR_MRG;
--hr_clerk'in sahip olduğu yetkiler verildi.

GRANT HR_MGR to JENNY;
--hr_mgr rolü Jenny'ye verildi.
set role mgr1
-- daha sonradan rol tahsis edilirse session kapanmadan alınması için

 Create Role

Server > Roles Ekranı aşağıdaki gibidir.

Creating a Role

Aşağıdaki ekrandan role ait detayları ayarlayabiliriz.

create role

 

Önemli: CREATE ANY TABLE
— içinde any geçen yetkilerde herhangi bir kullancıınn tablosunda istediğin tabloyu yarat gibi işlemler yapabilir.

SET ROLE rolunadi;
--rolü set etmek için

Önceden Tanımlanmış Roller

Predefined Roles

Profiles and Users

Kullanıcıyı kısıtlamak için yapılan ayarlardır.

profiles

Kullanıcı session’a ne kadar bağlı kalacak?, Bu kullanıcı ne kadar idle kalabilecek? gibi soruların cevaplarını buradan yapabiliriz. Ekranda Default görünüm vardır.

profile password

180 gün son expire( şifre değiştirmesini iste), kaç gün kala haber versin?   Kaç kere yanlış girebilirsin? gibi ayarlamalar yapılır.

Complexity function kısmının VERIFY_FUNCTION_11G şeklinde bir ayarı vardır. Daha kompleks paralolar yaratmak için kullanılır. ( 10g veritabanlarında büyük küçük harf duyarlılığı yoktur)

ALTER USER ile bu profil set edilir.

Quotas ( Kota Alanı)

quota

grant create table to deneme;
–tablo yaratma yetkisi verildi

tablespace(default tablespace users) içinde yer oluşması için(en az 64k) yani segment olarak olması için data olması gerekir içinde bir kayıt eklemeye bunları düzenlemeden yaparsak eklememize izin vermez.

ALTER USER "DENEME" QUOTA 100 M ON "USERS"
yaptıktan sonra işlemleri yapabiliriz.

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir