Sql Server Login User Oluşturma Ve Yetkilendirme

SQL serverda olmazsa olmazlar listesi oluşturacaksak listenin de olmazsa olmazlarından biri Login kavramıdır.

Sql Server Login User Oluşturma Ve YetkilendirmeLogin ve User oluşturma ve yetkilendirme konusuna geçmeden önce Login ve User arasında nasıl bir fark olduğuna bakalım isterseniz. Kısa cümlesi; Login Instance bazlı User ise Database bazlı kullanıcı oluşturma şeklidir diyebiliriz. Yani Login oluşturduğunuzda bu kullanıcı  Instance’a ait tüm işlemleri ve altındaki tüm databaselere erişebilir ve işlemler yapabilir, ancak User oluşturduğunuzda bu kullanıcı user’ı oluşturduğunuz database üzerinde işlemler yapabilme yetkisine sahip olacaktır. Loginler database üzerinde yetkilere sahip olabilirken User’lar Instance üzerinde yetki sahibi olamazlar.

Şimdi daha detaylı incelemek için Login ve User oluşturup konularımızı ele alalım.

Login Oluşturma Ve Yetklendirme

Sql Server Login User Oluşturma Ve Yetkilendirme

 

Login oluşturma için Instance altındaki Security bölümünde bulunan Login sekmesine sağ tıklayıp New Login dediğimiz zaman karşımıza yeni bir kullanıcı oluşturma ekranı gelecektir. Burada isterseniz öncelikle SQL serverın iki bağlantı çeşidine değinelim.

Windows Authentication:  Sql server windows bağlantısıdır ve bu şekilde giriş yaptığınızda sizden herhangi bir şifre istenmez fakat burada sadece domainde bulunan kullanıcılar için Login oluşturabilirsiniz.

SQL Server Authenticaiton:  Burada istediğiniz tarzda Login oluşturabilirsiniz ancak bu kullanıcı için şifre girmeniz gerekmektedir.

Sql Server Login User Oluşturma Ve Yetkilendirme

General kısmında başlıca kullanıcı bilgileri girmeniz gereken bölümleri görürsünüz. Burada eğer domainde bulunan bir kullanıcı için SQL serverda kullanıcı oluşturmak isterseniz Login Name bölümündeki Serarch butonunuza tıkladığınızda aşağıda göründüğü gibi bir ekranla karşılaşacaksınız, ilk açıldığında herhangi bir kullanıcı yazılıyor olmayacak siz belirlediğiniz bir domain kullanıcısı ekleyebilirsiniz.

Sql Server Login User Oluşturma Ve Yetkilendirme

OK dedikten sonra kalan işlemleri bu kullanıcı için gerçekleştireceksiniz.

Biz SQL Server Authentication olarak bir Login oluşturacağız. celal.akay diye bir Login name girdik ve şifremizi belirledik. Altındaki seçeneklerde şifre ile ilgili bir kaç seçenek sunmaktadır. Enforce Password Policy  oluşturacağımız şifrenin sqlde tanımlı Policy yani şifre kurallarına uygun olup olmadığını kontrol eder, enforce password expiration seçeneği zamanı geldiğinde şifre değiştirme gerekliliği oluşturur ve şifresi değiştirilmeyen Loginlerin Disable(pasif) duruma çekilmesini sağlar, bir altındaki seçenekte ise bu kullanıcının ilk giriş yaptığı anda şifresini değiştirmesini ister. Sonraki seçeneklerde ise Login için sql server sertifika oluşturma seçenekleri sunar. Default Database kısmında bu kullanıcı sql servera giriş yaptığında başlangıçta hangi veritabanında karşılanacağını belirler. Default Language kısmında da başlangıç dili belirlenir. Bu dil hata mesajlarının size hangi dille iletileceğini de belirler.

Sql Server Login User Oluşturma Ve Yetkilendirme

Server Roles kısmına geldiğimiz zaman işte burada oluşturacağımız Login için Instance bazlı yetkiler veriyoruz.

bulkadmin (Bulk Insert Administrator – Çoklu Kayıt Yöneticisi) : Bulk Insert komutuna yetkisi olan

dbcreator (Database Creator – Veritabanı Yöneticisi) : Database oluşturabilme, silebilme, düzenleyebilme yetkisi olan

diskadmin (Disk Administrator – Dosya Yöneticisi) : Disk üzerinde bulunan dosyaları yönetme yetkisi olan

processadmin (Process Administrator – İşlemci Yöneticisi) : SQL Server üzerinde çalışan işlemcileri kontrol etme yetkisi olan.

public (Herkese Kısıtlı Hak) : SQL Server üzerinde  standart ayarlarla giriş yapan herkesin rolüdür. Bu kural ile tüm kullanıcıların kısıtlı hakları vardır. Daha sonra bu kullanıcılara kural değişikliği yapılarak diğer kurallar atanabilir

securityadmin (Security Administrator – Güvenlik Yöneticisi) : Server üzerinde kullanıcıların yetkilerini denetlemek, yönetmek ve şifrelerini sıfırlamak ya da istendiğinde değiştirme yetkisi olan

serveradmin (Server Administrator – Server Yöneticisi) : SQL Server üzerinde yapı ayarları, başlat/durdur/yeniden başlat gibi yetkileri olan.

setupadmin (Setup Administrator) : SQL Server üzerinde farklı bir verştabanı kullanarak işlem yapma yetkisi olan

sysadmin (System Administrator – Sistem Yöneticisi) : En yüksek yetkisi olandır. Sistem üzerinde tüm yetkilere sahiptir.

Sql Server Login User Oluşturma Ve Yetkilendirme

User Mapping bölümünde oluşturacağımız Loginin hangi veritabanlarına erişiminin ve bu veritabanlarında ne tür yetkilerinin olmasını istediğimizi belirliyoruz. Bu kısımda alt taraftaki seçenekler de Database bazlı rollerdir.

db_owner : Veritabanında en yüksek yetkilidir. Silme, ekleme, düzenleme, başlatma/durdurma gibi yetkileri vardır

db_accessadmin : Veritabanında kullanıcılara veritabanına erişim kural/yetki atayan yöneticidir

db_securityadmin :Veritabanındaki kural/yetkileri yönetir

db_datareader : Veritabanındaki kullanıcıların “SELECT” sorgusunu çalıştırmasına izin verir

db_datawriter : Veritabanındaki kullanıcıların “INSERT , DELETE , UPDATE sorgularını çalıştırmasına izin verir

db_ddladmin : Veritabanındaki kullanıcıların “DDL” komutlarını çalıştırmasına izin verir

db_denydatareader : Veritabanındaki kullanıcıların “SELECT” sorgusunu çalıştırmasını kısıtlar

db_denydatawriter : Veritabanındaki kullanıcıların “INSERT , DELETE , UPDATE sorgularını çalıştırmasını kısıtlar

db_backupoperator : Veritabanının yedeğini alma yetkisi tanımlar.

eğer sadece Public seçeneğini seçerseniz bu kullanıcının ilgili veritabanına erişimi olur fakat herhangi bir işlem yapma yetkisi olmaz.

Sql Server Login User Oluşturma Ve Yetkilendirme

Status  kısmına geldiğimizde Settings altındaki Grant database bağlantısına izin verirken Deny ise izin vermemeyi temsil eder alt kısımda Disable Loginin tamamen kullanım dışı hale getirilmesi demektir. Bu durumda sadece pasife çekilmiş olur bu kullanıcının silinmesi olarak anlaşılmamalı Enable ise pasif durumdaki kullanıcıyı tekrar aktifleştirmek için kullanılır.

User Oluşturma Ve Yetkilendirme

Daha önce de söylediğimiz gibi Userlar database seviyesinde kullanıcılardır bu nedenle User oluşturmak için ilgili veritabanına sağ tıklayıp New User seçeneğini tıklıyoruz.

 
 
 

Sql Server Login User Oluşturma Ve Yetkilendirme

Bir sonraki adımda karşımıza oluşturacağımız User için bir ekran gelir ve burada gerekli bilgileri tanımlarız.

Sql Server Login User Oluşturma Ve Yetkilendirme

Burada User Type kısmında oluşturacağımız User’ı oturum açmak ve veritabanına erişmek için kullanacağımızı belirtiyoruz. User Name kısmında User için bir isim belirliyoruz. Login name kısmında ise bu User’ı bir Login ile ilişkilendirmemiz gerekiyor çünkü daha önce de bahsettiğimiz üzere Userlar veritabanı bazlı ve Loginler Instance bazlı çalıştığı için sql serverda Instance’a bağlanabilmek için Login kullanmamız gerekecek oluşturduğumuz User da tanımladığımız Login üzerinden veritabanına erişim sağlayacak. Her User tek bir Login ile ilişkilendirilebilir. Bu durumda veritabanındaki User ile ilişkilendirdiğiniz Login Instance altında Login’e verdiğiniz ismiyle görünürken veritabanı altında User’a verdiğiniz isimle görünür. Logine verdiğiniz yetkiler User için de geçerli olacaktır. Aynı Login için birden fazla User ile ilişkilendirilebilir, böylece Login için her veritabanında farklı yetkiler verebiliriz. Default Schema kısmında bu User sorgu çalıştırdığında eğer schema belirtmezse default olarak hangisinin tanımlanacağını belirler. Herhangi birşey belirtmezseniz DBO olarak tanımlanır.

 

Sql Server Login User Oluşturma Ve Yetkilendirme

Owned Schemas  kısmında oluşturduğumuz User’ın hangi şemalar üzerinde yetki sahibi olacağını belirtiyoruz burada rol ve veritabanımızda bulunan schemaların hepsi bulunur. Burada dikkat etmeniz gereken şey eğer Şemalardan birine oluşturduğunuz User’ı yetkili yaparsanız daha sonra bu User’ı silmek istediğinizde hata alacaksınız bu durumla karşılaşmamak için öncelikle silmek istediğiniz Userın hangi şemalarla ilişkili olduğunu User üzerine sağ tıklayıp özelliklerden bakın daha sonra ilgili şemaya yine veritabanı altında bulunan Schemas bölümünden ulaşıp sağ tık özellikler sekmesinden Schema Owner’ı değiştirmeniz gerekir, işlemi gerçekleştirdikten sonra artık ilgili User’ı silebilirsiniz.

Sql Server Login User Oluşturma Ve Yetkilendirme

Membership  bölümünde User yetkilendirme işlemlerini tanımlıyoruz. Yukarıda bu yetkilerin ne anlama geldiği bilgisin vermiştik.

OK dediğimiz zaman veritabanı bazlı User’ımızı oluşturmuş bulunuyoruz.

Kaynak

 

Yorumunuzu Ekleyin


Yükleniyor...
    Yükleniyor...