Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Benzer belgeler
BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK

Veritabanı Tasarımı. Tablo Oluşturma

VERİ TABANI YÖNETİM SİSTEMLERİ I

Veritabanı Tasarımı. Seriler ile Çalışma

Veritabanı Tasarımı. Veritabanı Hareketleri

Veritabanı Tasarımı. İndeksler ve Eşanlamlar

Veritabanı Tasarımı. Tablo Değiştirme

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

BÖLÜM- 8: DİĞER ŞEMA NESNELERİNİ OLUŞTURMA

SQL Komutları (2) Uzm. Murat YAZICI

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

Oracle da kullanılan veri tipleri:

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

BİLİŞİM TEKNOLOJİLERİ

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

VERİTABANI. SQL (Structured Query Language)

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

SQL e Giriş. Uzm. Murat YAZICI

VERİTABANI Veritabanı Yönetimi

Veri Tabanı Hafta Dersi

SORGULAR. Öğr.Gör.Volkan Altıntaş

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

Tavsiye Edilen Önhazırlık Temel veritabanı kavramlar hakkında bilgi sahibi olmak. Hedefler Temel veritabanı güvenlik işlemlerini gerçekleştirebilmek

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Microsoft SQL Server Sorgulama

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

Bölüm 4: DDL Veri Tanımlama Dili

Oracle da Güvenlik. Kerem ERZURUMLU A

VERİ TABANI ve YÖNETİMİ

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

Üst Düzey Programlama

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Veritabanı. Ders 2 VERİTABANI

İNTERNET PROGRAMCILIĞI DERSİ

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

OTURUM AÇMA ADLARI. Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek.

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ I

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Tavsiye Edilen Önhazırlık Veritabanı kavramını öğrenmek

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)

BLGM 354 DENEY 1 * GİRİŞ

SQL Kod ile Tablo Oluşturma

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

SQL (Structured Query Language)

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek.

BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME

Veritabanı Tasarımı. SQL Deyimi Anatomisi

Advanced Oracle SQL Tuning

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

SQL TRIGGERS (Tetikleyiciler)

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

VERİ TABANI YÖNETİM SİSTEMLERİ

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

Pursaklar İMKB Teknik ve Endüstri Meslek Lisesi

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Veritabanına Uygulanması

Kurulum ve Başlangıç Kılavuzu. DataPage için

Veritabanı Tasarımı. Birincil Anahtar, İkincil Anahtar ve Kontrol Kısıtlamaları

Veri Tabanı Yönetim Sistemleri Bölüm - 7

VERİTABANI ve YÖNETİMİ

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

Kurulum ve Başlangıç Kılavuzu. DataPage için

SORGULAR VE ÇEŞİTLERİ II

VAKIFBANK SANAL POS PANELİ KULLANICI KILAVUZU

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

VERİ TABANI YÖNETİM SİSTEMLERİ-II

Veri Tabanı Yönetim Sistemleri Bölüm - 4

PostgreSQL ve PL/pgSQL

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

8 Aralık 2011 / Perşembe. Veri Tabanına Giriş

ÖĞRENME-ÖĞRETME YÖNTEM VE TEKNİKLERİ. gösterip yaptırma, uygulamalı çalışma. Anlatım, soru-cevap, gösterip yaptırma, uygulamalı çalışma.

MÜŞTERİ BİLGİ SİSTEMİ KULLANICI KILAVUZU. Türkiye Kömür İşletmeleri Kurumu

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

STORED PROCEDURE LER (Saklı Yordamlar)

«BM364» Veritabanı Uygulamaları

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL

Oracle Database 11g: Introduction to SQL

PostgreSQL ve PL/pgSQL

Transkript:

Veritabanı Tasarımı Kullanıcı Erişimini Kontrol Etme

Konular Nesne ayrıcalıkları ve sistem ayrıcalıkları arasındaki farkı karşılaştırma Bir kullanıcının bir veritabanınaerişimini etkinleştirmek için gerekli iki komutu oluşturma Nesnelere kendi şemalarında diğer kullanıcılar için ya da genel ayrıcalıklar atamak için GRANT ON TO komutunu oluşturma ve çalıştırma Verilen ayrıcalıkları onaylamak için veri sözlüğünü sorgulama 2

Amaç Bir bilgisayarı evde ya da iş yerinizde başka kişilerle paylaşıyorsanız muhtemelen üstünde çalıştığınız ya da kaydettiğiniz şeyler başkası tarafından görülebilir, değiştirilebilir ya da silinebilir. Kişisel dosyalarınıza erişimde başkalarının sahip olduğu ayrıcalıkları kontrol edebilmek güzel olmaz mıydı? Veritabanları için evde ya da iş yerinde veri güvenliği çok önemlidir. Bu derste veritabanındaki nesneleriniz üzerinde değişiklik, silme, güncelleme, ekleme gibi işlemlere erişim için nasıl yetki vereceğimizi öğreneceğiz. 3

Kullanıcı Erişimini Kontrol Etme Çoklu kullanıcı ortamlarında veritabanı kullanımı ve erişiminin güvenliğini sağlamak istersiniz. Oracle sunucu veri güvenliği ile şunları yapabilirsiniz: Veritabanıerişimini kontrol etme Veritabanındakibelirli nesnelere erişim yetkisi verme Oracleveri sözlüğü ile verilen ve alınan yetkileri onaylama Veritabanınesneleri için eşanlamlar oluşturma 4

Veritabanı Güvenliği Veritabanı güvenliği iki kategoriye ayrılır: Sistem güvenliği Veri güvenliği Sistem güvenliği sistem seviyesinde kullanıcı, kullanıcı adı ve şifre oluşturma, disk alanını kullanıcılara ayırma ve tablo, görünüm ve seri oluşturma gibi sistem yetkilerini verme gibi veritabanı kullanımı ve erişimini kapsar. 100 den fazla farklı sistem ayrıcalığı bulunmaktadır. Veri güvenliği veritabanı nesnelerini kullanma ve erişimini içeren nesne ayrıcalığı ve bunların kullanıcılarının sahip olduğu nesneler üzerindeki hareketler ile ilgilidir. Bu ayrıcalıklar DML komutlarının çalıştırılabilmesini içerir. 5

Yetkiler ve Şemalar Yetkiler belirli SQL komutlarını çalıştırma hakkıdır. Veritabanı yöneticisi kullanıcılara veritabanı ve nesneleri ile ilgili erişim verme yeteneğine sahip yüksek seviye kullanıcıdır. Kullanıcıların veritabanına erişmesiiçin sistem ayrıcalıkları gerekir. Veritabanında nesnelerin içeriğini düzenlemek için nesne ayrıcalıklarına ihtiyaç duyarlar. Kullanıcılara diğer kullanıcılara ilgili ayrıcalıkları gruplama olarak adlandırılan ek ayrıcalıklar vermek için ayrıca ayrıcalıklar verilebilir. 6

Yetkiler ve Şemalar Bir şema tablo, görünüm ve seri gibi nesnelerin birleşimidir. Şema bir veritabanı kullanıcısı tarafından sahip olunabilir ve kullanıcı ile aynı ada sahiptir. Bu derste şemanızın adı ülkeniz, okulunuz, dersiniz ve öğrenci numaranızın birleşimi olacaktır. Örneğin: uswa_skhs_sql01_s22 7

Sistem Güvenliği Bu seviye güvenlik sistem seviyesinde veritabanı erişimi ve kullanımını içerir. 100 den fazla farklı sistem ayrıcalığı bulunmaktadır. Kullanıcı ekleme silme, tablo kaldırma, tablo yedekleme gibi sistem yetkileri genellikle sadece veritabanı yöneticisi tarafından tutulur. 8

Sistem Güvenliği Aşağıdaki tabloda veritabanı yöneticisinin normal olarak diğer kullanıcılara veremeyeceği bazı sistem yetkileri listelenmektedir. Başka bir kullanıcının sizin tablolarınızı silebilmesini ister misiniz? Sistem Yetkisi CREATE USER DROP USER DROP ANY TABLE BACKUP ANY TABLE SELECT ANY TABLE CREATE ANY TABLE İzin Verilen İşlemler Yetki verilen diğer Oracle kullanıcıları oluşturabilir Yetki verilen başka bir kullanıcıyı silebilir Yetki verilen herhangi bir şemadaki bir tabloyu silebilir Yetki verilen dışa aktarma özelliği ile herhangi bir şemadaki herhangi bir tabloyu yedekleyebilir Yetki verilen tabloları, görünümleri ya da herhangi bir anlık görüntüyü sorgulayabilir Yetki verilen herhangi bir şemada tablo oluşturabilir 9

Sistem Yetkileri Veritabanı yöneticisi CREATE USER komutu kullanarak kullanıcı oluşturabilir. Bu noktada kullanıcı herhangi bir yetkiye sahip değildir. Veritabanı yöneticisi daha sonra bu kullanıcıya gerekli olan ayrıcalıkları verir. 10

Sistem Yetkileri ALTER USER komutu kullanılarak bir kullanıcı şifresini değiştirebilir. 11

Kullanıcı Sistem Yetkileri Veritabanı yöneticisi kullanıcıya sistem yetkilerini ayırmak için GRANT komutunu kullanır. Sistem yetkileri kullanıcının veritabanı seviyesinde ne yapabileceğini belirler. Kullanıcıya ilk defa yetkiler verilince kullanıcı hemen bu yetkileri kullanabilir. 12

Kullanıcı Sistem Yetkileri Sistem Yetkisi CREATE SESSION CREATE TABLE CREATE SEQUENCE CREATE VIEW CREATE PROCEDURE İzin Verilen İşlemler Veritabanına bağlanma Kullanıcılarınşemasında tablo oluşturma Kullanıcılarınşemasında seri oluşturma Kullanıcılarınşemasında görünüm oluşturma Kullanıcılarınşemasında prosedür, fonksiyon ya da paket oluşturma 13

Kullanıcı Sistem Yetkileri Bir kullanıcının veritabanına erişebilmesi için CREATE SESSION yetkisine ve kullanıcı kimliğine sahip olmalıdır. Oracle Application Express te CREATE SESSION komutunu çalıştıramazsınız; bu otomatik olarak sahne arkasında gerçekleşir. 14

Nesne Güvenliği Bu seviye güvenlik veritabanı nesnelerine erişmeyi ve kullanımı ile kullanıcının bu nesneler üzerinde sahip olduğu eylemleri içerir. 15

Nesne Yetkileri Her nesne verilebilen yetkiler kümesine sahiptir. Aşağıdaki tablo farklı nesneler için yetkileri listelemektedir. 16 Nesne Yetkisi Tablo Görünüm Seri Prosedür ALTER x x DELETE x x EXECUTE INDEX x x INSERT x x REFERENCES x SELECT x x x UPDATE x x x

Nesne Yetkileri Nesne ayrıcalıkları ile ilgili aşağıdaki dört noktaya dikkat etmek önemlidir: 1. Bir seriye uygulanan yetkiler sadece SELECT ve ALTER ifadeleridir. Hatırlayın, bir seri ALTER ifadesi INCREMENT, MAXVALUE, CACHE/NOCACHE ya da CYCLE/NOCYCLE seçeneklerini değiştirmek için kullanılır. START WITH seçeneği ALTER kullanılarak değiştirilemez. 17

Nesne Yetkileri 2. Bir tablodaki bireysel sütunlarda UPDATE, REFERENCES ve INSERT yetkilerini verebilirsiniz. Örneğin: GRANT UPDATE (auth_expense) ON d_partners TO allison_plumb 3. Bir SELECT yetkisi sütunların alt kümesi ile oluşturulan bir görünüm ve SELECT yetkisini bu görünüme vererek kısıtlanabilir. Bireysel sütunlarda SELECT yetkisini veremezsiniz. 18

Nesne Yetkileri 4. Eşanlamda verilen bir yetki, eşanlam ile belirtilen ana tabloda bir yetkiye dönüştürülerek verilebilir. Diğer bir ifadeyle, bir eşanlam sadece yeni, daha kolay kullanımlı addır. Bu adı kullanarak yetkileri verme tablonun kendisinde yetki verme ile aynıdır. 19

PUBLIC Anahtar Kelimesi Bir tablonun sahibi PUBLIC anahtar kelimesi kullanarak tüm kullanıcılara erişim hakkı verebilir. Aşağıda gösterilen örnekte sistemdeki tüm kullanıcıların Alice sdepartments tablosundan veri sorgulamasına izin verilmektedir. 20

PUBLIC Anahtar Kelimesi Eğer bir ifade bir nesnenin tam adını kullanmazsa Oracle sunucu geçerli kullanıcı adının önüne nesne adını dolaylı olarak ekler. Şayet kullanıcı Scott DEPARTMENTS tablosunu sorgularsa örneğin sistem SCOTT.DEPARTMENTS tablosundan seçim yapar. Şayet bir ifade bir nesnenin tam adını kullanmazsa ve geçerli kullanıcı bu isimde bir nesneye sahip değilse sistem nesnenin adına PUBLIC ekler. 21

PUBLIC Anahtar Kelimesi Örneğin, şayet kullanıcı Scott, USER_OBJECTS tablosunu sorgularsa ve Scott böyle bir tablonun sahibi değilse sistem veri sözlüğü görünümünden PUBLIC.USER_OBJECTS genel eşanlamı ile seçim yapar. 22

Verilen Yetkileri Onaylama Eğer SİLME yetkisine sahip dolmadığınız bir tablodan satır silme gibi yetkisiz bir işlem gerçekleştirmeye çalışırsanız, Oracle sunucu işlemin gerçekleşmesine izin vermez. Oracle sunucu hata mesajı olan table or view does not exist, alırsanız şunlardan birini yapmışsınızdır: Var olmayan tabloyu ya da görünümü adlandırmışsınızdır. Uygun yetkiniz olmayan bir tablo veya görünüm üzerinde bir işlem gerçekleştirmeye çalışmışsınızdır. 23

Görünüm Yetkileri Sahip olduğunuz yetkileri görmek için veri sözlüğüne erişebilirsiniz. Verilen tablo farklı veri sözlüğü görünümlerini açıklamaktadır. Oracle Application Express Developer kullanarak USER_ROLE_PRIVS girin, büyüteci seçin, ardından örnek ile sorgulamak için bir öğeyi seçin. Kullanıcının yetkileri iade edilecektir. 24

Görünüm Yetkileri Veri Sözlüğü Görünümü ROLE_SYS_PRIVS ROLE_TAB_PRIVS USER_ROLE_PRIVS USER_TAB_PRIVS_MADE USER_TAB_PRIVS_RECD USER_COL_PRIVS_MADE USER_COL_PRIVS_RECD USER_SYS_PRIVS Açıklama Rollere verilen sistem yetkileri Rollere verilen tablo yetkileri Kullanıcılar tarafından erişilebilen roller Kullanıcı nesnelerinde verilen nesne yetkileri Kullanıcılara verilen nesne yetkileri Kullanıcı nesneleri sütunlarında verilen nesne yetkileri Kullanıcılara belirli sütunlarda verilen nesne yetkileri Kullanıcıya verilen sistem yetkilerini listeleme 25