Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Database System Concepts ©Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-usewww.db-book.com ©Silberschatz, Korth and SudarshanDatabase.

Benzer bir sunumlar


... konulu sunumlar: "Database System Concepts ©Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-usewww.db-book.com ©Silberschatz, Korth and SudarshanDatabase."— Sunum transkripti:

1 Database System Concepts ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com ©Silberschatz, Korth and SudarshanDatabase System Concepts Bölüm 8: SQL’de Yetkilendirmeler (Veri Kontrol Dili – DCL)

2 ©Silberschatz, Korth and Sudarshan8.2Database System Concepts - 5 th Edition, Aug 9, Veri Kontrol Dili (DCL) Veri Kontrol Dili, veritabanı içerisindeki verilere erişimleri düzenlemek için kullanılır. Kullanıcı veya kullanıcı guruplarının erişim yetkilerini düzenlemektedir. DCL’nin 2 temel ifadesi: GRANT:Kullanıcının kayıtlar üzerinde işlem yapmasına ve SQL komutlarını çalıştırmasına izin verir. REVOKE: Daha önce verilen tüm izinleri iptal eder.

3 ©Silberschatz, Korth and Sudarshan8.3Database System Concepts - 5 th Edition, Aug 9, Temel SQL Yetkileri select: tablodaki veya görünümdeki verileri okuma ve sorgulama yetkisi. insert: tabloya yeni veri girme yetkisi. update: SQL update komutu kullanararak verileri değiştirme yetkisi. delete: veri/satır silme yetkisi. references: tablo yaratırken yabancıl anahtar oluşturma yetkisi. all privileges: tüm yetkilerin verilmesi için kullanılır.

4 ©Silberschatz, Korth and Sudarshan8.4Database System Concepts - 5 th Edition, Aug 9, Görünümler ve Yetkilendirme Kullanıcılar görünümleri oluşturan tablolar üzerinde yetkilendirilmeksizin sadece görünümler için yetkilendirilebilirler. Bunun yanısıra, bir görünümün yaratıcısı, o görünümü oluşturan tablo veya tablolarda sahip olduğu yetkilerden daha fazlasına sahip olmaz. Öreğin musteri ve borc tablolarını kullanarak musteri-borc görünümünü yaratan bir kullanıcı musteri ve borc tablolarında sadece okuma (select) yetkisine sahşp ise oluştırduğu görünümde de sadece okuma yetkisine sahip olur.

5 ©Silberschatz, Korth and Sudarshan8.5Database System Concepts - 5 th Edition, Aug 9, Yetkilendirme (izin) Grant ifadesi: Kullanıcının kayıtlar üzerinde işlem yapmasına ve SQL komutlarını çalıştırmasına izin verir. Kullanım Şekli grant on to : tablo veya görünüm ismi : yetkilendirilecek kullanıcılar: Kullanıcı ismi public, tüm kullanıcıları yetkilendirmek için kullanılır rol (daha sonraki kısımda anlatılacaktır) Ör: grant select on sube to U 1 Bir kullanıcının herhangi bir yetkilendirme yapabilmesi için, veritabanı yöneticisi ya da o yetkiye sahip bir kullanıcı olması gerekir. (kullanıcı kendinde olmayan bir yetkiyi başka kullanıcılara veremez)

6 ©Silberschatz, Korth and Sudarshan8.6Database System Concepts - 5 th Edition, Aug 9, Yetkilendirme Yetkisi with grant option: ifadesi bir kullanıcın kendine verilen bir yetkiyi başka kullacılara verebilmesi yetkisini (hakkını) verir.. Ör: grant select on sube to U 1 with grant option U 1 isimli kullanıcıya sube tablosu için select yetkisini ve bu yetkiyi diğer kullanıcılara aktarma yetkisini verir.

7 ©Silberschatz, Korth and Sudarshan8.7Database System Concepts - 5 th Edition, Aug 9, Roller «Roller», ortak yetkilere sahip olacak olan bir grup kullanıcının tek bir komutla yetkilendirilmesi için kullanılır. Yetkilendirme (ve yetki iptal etme) işlemi kullanıcılara yapıdığı şekilde yapılır. Roller kullanıclara ve hatta başka rollere verilebilir. Ör. create role memur create role mudur grant select on sube to memur grant update (mevduat_miktarı) on hesap to memur grant all privileges on hesap to mudur grant memur to mudur grant memur to ayse, mehmet grant mudur to hasan

8 ©Silberschatz, Korth and Sudarshan8.8Database System Concepts - 5 th Edition, Aug 9, Yetkilendirme (izin iptali) Revoke ifadesi: Daha önce verilen tüm izinleri iptal eder Kullanım Şekli revoke on from [restrict|cascade] Ör: revoke select on sube from U 1, U 2, U 3 cascade Bir kullanıcıya ait bir iznin iptal edilmesi, o kullanıcı tarfından yetkilendirilen tüm kullanıcıların izinlerinin iptaline neden olur Böyle bir durumda ardışık iptallerin engellenmesi için restrict kullanılır: Ör.revoke select on sube from U 1, U 2, U 3 restrict Bu durumda U 1, U 2, U 3 kullanıcıları tarafından yetkilendirilen kullanıcıların izinleri iptal olmaz.

9 ©Silberschatz, Korth and Sudarshan8.9Database System Concepts - 5 th Edition, Aug 9, Revoking Authorization in SQL (Cont.) all to olarak yazıldığında kullanıcıya ait tüm izinler iptal edilir. If public ise tüm kullanıcıların izinleri iptal olur. Eğer bir kullanıcı ayni yetkiyi birden fazla kullanıcı tarafından almış ise, kullanıclardan birinin iznini iptal etmesi (veya ardışık izin iptalinden dolayı (cascade) iptal olması durumunda dahi, diğer kullanıcı tarfından verilen yetkiyi kullanmaya devam eder! Veritabanı Yöneticisi bu tip çevrim oluşturabilecek yetkilendirmeleri takip etmelidir ve oluşumlarını engellemelidir!

10 ©Silberschatz, Korth and Sudarshan8.10Database System Concepts - 5 th Edition, Aug 9, Yetkilendirme Grafiği Yetkilerin kullanıcıdan kullanıcıya geçişini göstermek için kullanılır. Grafiğin düğümleri kullanıcıları gösterir. Grafiğin kökü veritabanı yöneticisini (DBA) gösterir. Koşul: Grafikteki tüm kenarlar DBA tarafından başlatılmış bir yolun parçası olmalıdır. U i  U j gösterimi U i isimli kullanıcının sube tablosu için update yetkisini U j. isimli kullanıcıya verdiğini ifade eder. U1U1 U4U4 U2U2 U5U5 U3U3 DBA

11 ©Silberschatz, Korth and Sudarshan8.11Database System Concepts - 5 th Edition, Aug 9, Yetkilendirme Grafiği (devam) Yukardaki örnekte; Veritabanı yöneticisi (DBA) U 1 isimli kullanıcın yetkisini iptal ederse; Yetki U 4 isimli kullanıcıdan da kaldırılmalıdır (cascade) Fakat yetki U 5 isimli kullancının yetkisi devam eder çünkü U 5 ayni yetkiyi U 2 isimli kullanıcıdan da almıştır.

12 ©Silberschatz, Korth and Sudarshan8.12Database System Concepts - 5 th Edition, Aug 9, Yetkilendirme Grafiği (devam)

13 ©Silberschatz, Korth and Sudarshan8.13Database System Concepts - 5 th Edition, Aug 9, Yetkilendirme Grafiği (devam) Bir önceki slaytda yer alan örnekte; Kullanıcılar veritabanı yöneticisinden bağımsı olan çevrimşer oluşturmaya çalışabilirler; DBA U 1, U 2, U 3 isimli kullanıcıları yetkilendirir. U 2,U 3 isimli kullanıcıyı yetkilendir. U 3 tekrardan U 2 isimli kullanıcıyı yetkilendir. DBA U 2 isimli kullanıcın yetkisini iptal eder.. Bu durumda U 2 den U 3 ‘e ve U 3 denU 2 ‘ye olan izinlerin iptal edilmesi gerekir çünkü DBA dan U 2 ‘ye veya U 3 ‘e bağlı olan bir yol kalmamıştır. Veritabanı Yöneticisi bu tip çevrim oluşturabilecek yetkilendirmeleri takip etmeli ve oluşumlarını engellemelidir.


"Database System Concepts ©Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-usewww.db-book.com ©Silberschatz, Korth and SudarshanDatabase." indir ppt

Benzer bir sunumlar


Google Reklamları