Bölüm 8: SQL’de Yetkilendirmeler (Veri Kontrol Dili – DCL)

Slides:



Advertisements
Benzer bir sunumlar
T sql-diğer komutlar Metin Akbulut.
Advertisements

III.Oturum: SQL ile Verileri İşlemek
SQL (Structured Query Language)
VTYS 2012 Mehmet Emin KORKUSUZ Ders - 06.
SQL’e Giriş.
SQL Enjeksiyon Saldırı Uygulaması ve Güvenlik Önerileri
VERİ TABANI YÖNETİMİ Ders 10: Oracle Nesneleri
SQL Server da Kullanıcı Yönetimi (User Management)
SQL Komutlar 5 Sibel SOMYÜREK.
EkoPC Bilişim Ltd. Eğitim Hizmetleri
SQL Komutlar 4 Fahri YILMAZ.
Veri Tabanı Yönetim Sistemleri
Iletisim Icin : Blog : E - Mail :
Tek Tablo İçinde Sorgulamalar
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
VERİ TABANI ve YÖNETİMİ
Transaction.
Veri Tabanı Yönetim Sistemleri
BÖLÜM 6 SQL SERVER KOMUTLARI.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
SQL (STRUCTURED QUERY LANGUAGE)
VTYS Öğr. Gör. Engin DUTAR
MySQL, SQL ve PHP Öğr.Gör.Şükrü KAYA.
Bilgisayar Mühendisliği Bölümü
Veritabanı Temel Kavramlar ve
VIEW (BAKIŞ) OLUŞTURMA
Bilgisayar Mühendisliği Bölümü
SQL Dili ve MySQL Komutları
SQL’e Giriş ve SELECT Komutu
GÖRÜNÜŞLER (VİEWS). Görünüş Temel tablolar üzerinde yeni bir tablo almak için yapılan işlemlerin sonucu Sanal tablo- gerçekten veri tabanında yoktur ve.
Iletisim Icin : Blog : E - Mail :
VeriTabanı Uygulama.
SQL Sibel SOMYÜREK.
 Yazılım geliştiriciler framework 'ün sunduğu kütüphaneyi kullanarak; Daha kısa zamanda daha fazla iş üretebiliyor, Daha düzenli bir yapı ortaya çıkarabiliyor,
SQL Komutları (2) Uzm. Murat YAZICI.
VERİTABANI MİMARİSİ Talip Hakan ÖZTÜRK Bank ASYA – ORACLE DBA
Bölüm 7: İlşikisel Veritabanı Tasarımı ve Normalizasyon
SQL’ e Giriş Uzm. Murat YAZICI.
Bölüm 3: SQL.
Bölüm 4: İleri SQL.
Bölüm 6: Varlık-İlişki Modeli (Entity-Relationship Model)
Kullanıcı Seçeneklerini Güncelleme Kullanıcı güncelleme işlemi konsol ve grafik ortamdan yapılabilir. Komut Satırı ile Kullanıcı Seçeneklerini Güncelleme.
Bölüm 1 Giriş.
SİSTEM VERİTABANLARI. Sistem veritabanlarını tanıma. Kendi Login’imizi oluşturma Neler İşleyeceğiz?
Update UPDATE tablo_ismi SET sutun1=‘deger1’ WHERE sutun=deger.
GÜVENL İ K. Sunucu Seviyesinde Güvenlik Master Veritabanı (Kullanıcının gerekli yetkileri var mı?) Authentication Mod ◦ Windows Authentication Mod  Varsayılan.
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
Yeni Veritabanı Oluşturma
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
View View’ler select ifadesi ile tanımlanmış sanal tablolardır. Temel amacı base tabloların içerisinden veri kümesi getirip ortaya çıkan sonucu sanal.
Bilgisayar Mühendisliği Bölümü
Örnekler, Rasgele Değer, Login işlemleri ve Yedekleme
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
VIEW lerle çalışmak 11.BÖLÜM.
TETİKLEYİCİ ( Trigger)
5. HAFTA Öğr. Gör. Yunus KÖKVER
Veri Kontrol Dili (DCL) DCL, bir veri tabanı ile ilişkili kullanıcıları ve rollerin izinlerini değiştirmek için kullanılır. Diğer bir deyişle verilere.
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
DML ile veri ekleme, silme ve değiştirme
Sorgu / dml / ddl komutları
SQL Server - Triggers.
SQL Server - Stored Procedures
SQL Server - Views.
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
Transaction.
SQL VIEW.
Sunum transkripti:

Bölüm 8: SQL’de Yetkilendirmeler (Veri Kontrol Dili – DCL)

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.

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.

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.

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 <izin listesi> on <izin alanı> to <kullanıcı listesi> <izin alanı> : tablo veya görünüm ismi <kullanıcı listesi> : 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 U1 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)

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 U1 with grant option U1 isimli kullanıcıya sube tablosu için select yetkisini ve bu yetkiyi diğer kullanıcılara aktarma yetkisini verir.

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

Yetkilendirme (izin iptali) Revoke ifadesi: Daha önce verilen tüm izinleri iptal eder Kullanım Şekli revoke< izin listesi> on <izin alanı > from <kullanıcı listesi> [restrict|cascade] Ör: revoke select on sube from U1, U2, U3 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 U1, U2, U3 restrict Bu durumda U1, U2, U3 kullanıcıları tarafından yetkilendirilen kullanıcıların izinleri iptal olmaz.

Revoking Authorization in SQL (Cont.) <izin listesi > all to olarak yazıldığında kullanıcıya ait tüm izinler iptal edilir. If <kullanıcı listesi> 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!

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. Ui  Uj gösterimi Ui isimli kullanıcının sube tablosu için update yetkisini Uj.isimli kullanıcıya verdiğini ifade eder. U1 U4 DBA U2 U5 U3

Yetkilendirme Grafiği (devam) Yukardaki örnekte; Veritabanı yöneticisi (DBA) U1isimli kullanıcın yetkisini iptal ederse; Yetki U4 isimli kullanıcıdan da kaldırılmalıdır (cascade) Fakat yetki U5 isimli kullancının yetkisi devam eder çünkü U5 ayni yetkiyi U2 isimli kullanıcıdan da almıştır.

Yetkilendirme Grafiği (devam)

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 U1, U2, U3 isimli kullanıcıları yetkilendirir. U2 ,U3 isimli kullanıcıyı yetkilendir. U3 tekrardan U2 isimli kullanıcıyı yetkilendir. DBA U2 isimli kullanıcın yetkisini iptal eder.. Bu durumda U2 den U3 ‘e ve U3 denU2 ‘ye olan izinlerin iptal edilmesi gerekir çünkü DBA dan U2 ‘ye veya U3 ‘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.