Bilgisayar Mühendisliği Bölümü

Slides:



Advertisements
Benzer bir sunumlar
Iletisim Icin : Blog : E - Mail :
Advertisements

T sql-diğer komutlar Metin Akbulut.
COME 339 JAVA-SQL BAĞLANTISI
4 SQL- Yapısal Sorgulama Dili
III.Oturum: SQL ile Verileri İşlemek
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
4/3/ :47 PM © 2004 Microsoft Corporation. All rights reserved.
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 Server da Veritabanı Yönetiminin Otomatikleştirilmesi
Veri Tabanı Yönetim Sistemleri
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
VERİ TABANI ve YÖNETİMİ
Veri Tabanı Yönetim Sistemleri
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
BÖLÜM 6 SQL SERVER KOMUTLARI.
Veritabanı Kopyalama/Taşıma
SQL (STRUCTURED QUERY LANGUAGE)
Veritabanı Temel Kavramlar ve
Management Studio Kullanımı
Bilgisayar Mühendisliği Bölümü
SQL Dili ve MySQL Komutları
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
Veri Tabanı Yönetim Sistemleri 2 Ders 2 Oracle 12c Kurulumu
VeriTabanı Uygulama.
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
SQL (Structured Query Language). MySQL de Temel Komutlar : CREATE DATABASE isim; verilen isimde bir veri tabanı oluşturur. SHOW DATABASES; Tüm yaratılan.
Veri Tabanı Yönetim Sistemleri 1 Ders 10 VTYS Yaşam Döngüsü ve DDL
SQL Sibel SOMYÜREK.
SQL Komutları (2) Uzm. Murat YAZICI.
VERİTABANI MİMARİSİ Talip Hakan ÖZTÜRK Bank ASYA – ORACLE DBA
Veritabanı Yedekleme (BACKUP)
LINQtoSQL Silverligth Uygulamalarında LinqtoSql. LINQ (Language Integrated Query) özellikle dil içerisinde, Sql tarzı sorgular yazabilmemizi ve bunları.
Bilgisayar Mühendisliği Bölümü
Veri Tabanı Yönetim Sistemleri 2 Ders 2 Oracle 11g Kurulumu
Ankara Ü. Fen Fakültesi Astronomi ve Uzay Bilimleri Bölümü AST302 Astronomide Veri Analizi II MySQL sunucusuna bağlantı Hazırlayan Yahya Demircan 2011.
GRANT RESOURCE TO ayse; GRANT CONNECT TO ayse;
Bilgisayar Mühendisliği Bölümü
Bölüm 8: SQL’de Yetkilendirmeler (Veri Kontrol Dili – DCL)
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.
WİNDOWS SERVER 2003’te KULLANICI VE GRUP HESAPLARI.
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ı.
PRODECURE, TRIGGER, INDEX, BACKUP
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
 Active Directory, ağ kaynaklarını verimli bir şekilde yönetmenize olanak sağlayan, genişletilebilir bir dizin hizmetidir. Bu dizin hizmeti, ağda bulunan.
Bilgisayar Mühendisliği Bölümü
Örnekler, Rasgele Değer, Login işlemleri ve Yedekleme
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
VIEW lerle çalışmak 11.BÖLÜM.
Bilgisayar Mühendisliği Bölümü
ACTIVE DIRECTORY.
Veri Tabanı Yönetim Sistemleri 1 Ders 10 Veri Sözlüğü ve DDL
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.
SQL.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
DML ile veri ekleme, silme ve değiştirme
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-2
Sorgu / dml / ddl komutları
SQL (STRUCTURED QUERY LANGUAGE)
SQL Server - Stored Procedures
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
Sunum transkripti:

Bilgisayar Mühendisliği Bölümü Veri Tabanı Yönetim Sistemleri 1 Ders 12 SQL Server'da Kullanıcı Yönetimi Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

Login ve User SQL Server'da Login nesnesi bir sunucuya giriş için, User ise sunucu altındaki bir veritabanına giriş için kullanılır. Öncelikle sunucu üzerinde bir login oluşturup, daha sonra hangi veritabanı üzerinde o login'e bağlanma hakkı vereceksek, ilgili veritabanı üzerinde o login için bir user oluştururuz. Bir login ismi aynı veritabanı üzerinde birden fazla kullanıcı ile ilişkilendirilemez (farklı veritabanları üzerinde kullanılabilir). Windows kullanıcıları da login'e bağlanabilir. SQL Server Management Studio üzerinden de Login, Kullanıcı, Rol, Şema yaratma ve yetki verme işlemleri yapılabilir. Ama sunuda T-SQL kodları ile yapılması gösterilecektir.

LOGIN Yaratma SQL Server Authentication için: CREATE LOGIN loginAdı WITH PASSWORD = 'şifresi' MUST_CHANGE Windows Authentication için: CREATE LOGIN [domainAdı\loginAdı] FROM WINDOWS Opsiyonel olarak varsayılan veritabanı adı ve varsayılan dil seçilebilir: DEFAULT_DATABASE = yeniDB DEFAULT_LANGUAGE = Turkish

USER Yaratma Genel Kullanım: CREATE USER kullanıcıAdı FOR LOGIN loginAdı Kullanıcı yaratılırken varsayılan şema atanabilir: CREATE LOGIN AltanMESUT WITH PASSWORD = '8fdKJl3$nlNv3049js'; USE yeniDB; CREATE USER Altan FOR LOGIN AltanMESUT WITH DEFAULT_SCHEMA = yeniSema; Altan kullanıcısının yaratacağı nesneler bir şema belirtilmez ise yeniSema altında yer alacaktır.

Şema (Schema) Şema, tablo ve prosedür gibi veritabanı nesnelerini barındıran yapıdır. Kullanıcı ve rol gibi yapılar ise şema içinde yer almazlar. Şemanın sahibi bir kullanıcı veya rol olabilir. Seçimlik olarak kullanılabilen AUTHORIZATION ile şemanın sahibi olacak kullanıcı belirlenir. Eğer kullanılmazsa şemayı yaratan kullanıcı sahibi olur: CREATE SCHEMA Alinin AUTHORIZATION Ali Tüm sabit veritabanı rollerinin kendilerine ait farklı bir şeması vardır.

Roller Rol, birçok yetkinin bir araya getirilmesi ile oluşan yetki gruplarına verilen isimdir. Kişilere tek tek yetkiler verildiğinde, sonradan yetkilerin değiştirilmesi gerekirse, yine tek tek o kişilere değişikliğin uygulanmasını gerektirecektir. Oysa ki kişilere bir rol verilirse, bu rolün yetkileri değiştirilince o role sahip olan tüm kişilerin yetkileri değiştirilmiş olur. SQL Server üzerindeki yetkili kullanıcılar için sabit sunucu rolleri, veritabanına erişim yetkisi olan kullanıcılar için ise sabit veritabanı rolleri mevcuttur.

Sabit Sunucu Rolleri Dış dosyalardan alınan verileri tablolara yerleştirebilme (BULK INSERT) VT oluşturma ve değiştirme VT yedek (backup) dosyalarını yönetme Sunucu işlemlerini kontrol etme (erişimleri sonlandırabilir) Genel kullanıcılar için en yetkisiz rol Login, Rol yaratma gibi güvenlik işleri Sunucu temelli ayarlamalar (veritabanını açıp, kapatabilme yetkisi) Birbirine bağlı sunucuların kurulumu ve idaresi (SQL Server Replication) Tüm işleri yapabilen en yetkili rol (sa kullanıcısı bu rolün üyesidir)

Sabit Veritabanı Rolleri Kullanıcı yaratır, yetki verir Yedek (backup) alır Tüm tablolardaki verileri sorgulayabilir Tüm tablolar üzerinde değişiklik (DML işlemleri) yapabilir Veritabanında DDL işlemleri yapabilir Hiçbir tabloyu sorgulayamaz Hiçbir tablo üzerinde değişiklik yapamaz Tüm yapılandırma ve bakım işlemlerini yapar Rol üyelikleri ve yetkilendirme işlemlerini yapar

Rol Yaratma Geçeli veritabanında bir rol yaratmak için: CREATE ROLE rol_adı [AUTHORIZATION kullanıcı_adı] Seçimlik olarak kullanılabilen AUTHORIZATION ile rolün sahibi olacak kullanıcı belirlenir. Eğer kullanılmazsa rolü yaratan kullanıcı sahibi olur. Rolü yaratacak olan kullanıcıda  CREATE ROLE yetkisi veya db_securityadmin sabit veritabanı rolüne üyelik olması gereklidir.

Role Kullanıcı Ekleme Rollere kullanıcıları üye yapmak veya üyelikten çıkarmak için ALTER ROLE komutu kullanılır. CREATE ROLE yeniRol; ALTER ROLE yeniRol ADD MEMBER Altan; ALTER ROLE yeniRol DROP MEMBER Altan; Rollere üye olarak başka bir kullanıcı tanımlı veritabanı rolü de atanabilir (sabit veritabanı rolleri üye olarak atanamaz). ALTER ROLE public ADD MEMBER yeniRol; Yukarıdaki kod ile public rolünün sahip olduğu tüm yetkilere yeniRol de sahip olur. Dolayısıyla yeniRol'e üye olan herkes te public yetkilerine sahip olur.

Yetkiler Kullanıcı veya Rol yaratıldıktan sonra veritabanı üzerinde neleri yapıp neleri yapamayacaklarını belirlemek için yetkiler verilir. Bu işlemler için kullanılan aşağıdaki 3 komut DCL (Data Control Language) komutları olarak bilinir: GRANT komutu ile yetki verilir (kullanıcı veya rol üyelerinin yapabilecekleri belirlenir) DENY komutu ile kısıtlama tanımlanır (kullanıcı veya rol üyelerinin yapamayacakları belirlenir) REVOKE komutu ile verilen yetki ve tanımlanan kısıtlamalar geri alınır.

GRANT ile yetki verme Genel kullanım aşağıdaki gibidir: GRANT <yetki> ON <nesne> TO <user, login, rol> "yeniRol" rolüne tablo yaratma yetkisi verilmesi: GRANT CREATE TABLE TO yeniRol Nesneler üzerinde yetki verilirken ON kullanılır. Dersler tablosu üzerinde değişiklik yapabilme (DML işlemleri) yetkisinin Ali, Ahmet ve Mehmet kullanıcılarına verilmesi: GRANT INSERT, DELETE, UPDATE ON Dersler TO Ali, Ahmet, Mehmet Eğer bu 3 kişiye db_datawriter sabit rolünü verdiyseniz, zaten tüm tablolar üzerinde DML işlemleri yapabilirler.

DENY ile kısıtlama tanımlama Kullanıcının belirli bir role atanması ile üzerine aldığı yetkilerden bazılarını engellemek için DENY ile kısıtlama getirebiliriz. Kullanımı GRANT ile benzerdir: DENY CREATE TABLE TO Hasan, Ali Ali ve Mehmet'in Notlar tablosunu sorgulamasını engellemek için: DENY SELECT ON Notlar TO Ali, Mehmet

REVOKE ile yetkiyi geri alma Hem GRANT ile verilen yetkilerin, hem de DENY ile tanımlanan kısıtlamaların geri alınması için kullanılır. Kullanım olarak yine GRANT ve DENY'a benzer, fakat TO yerine FROM kullanılır: REVOKE CREATE TABLE FROM yeniRol REVOKE SELECT ON Hocalar FROM Altan

Management Studio üzerinde kullanıcı işlemleri Aynı anda birden fazla login ile bağlantı açılabilir Login ve Sunucu Rolleri sunucunun Security düğümü altındadır Kullanıcılar, Şemalar ve Veritabanı Rolleri ise ilgili veritabanının Security düğümü altındadır Her VT'de olan dbo (database owner) kullanıcısı sa (system administrator) login ismi ile bağlanır. Kullanıcı, Rol, Şema ve Login yaratma işlemleri ilgili düğümlerde sağ tıklama ve "New …" seçimi ile açılan pencerede gerekli alanları doldurma yolu ile yapılabilir. 15

Kullanıcı özellikleri üzerinden yetki verme General: varsayılan şema değiştirilir Owned Schemas: Şema sahiplikleri ayarlanır Membership: Rol üyellikleri ayarlanır Search + All objects of the types + Tables kullanılırsa Securables listesinde tablolar listelenir. Seçilen tabloda ilgili yetki için aşağıda Grant/Deny tıklanır. "With Grant" seçili ise aldığı yetkiyi başkasına da verebilir.