Yükleniyor...

Beğendiğiniz içerikleri sosyal medya üzerinden paylaşarak içeriklerin daha fazla kişi tarafından görüntülenmesine yardımcı olabilirsiniz.

category Kategori: MS SQL Server 2014

Fırat Boyan 10.07.2016 6

SQL Server Management Studio ile Kullnıcı Oluşturma, Rol ve İzin Ataması Yapma

Bu makalemde sizlere SQL Server Management Studio üzerinde yeni kullanıcı (user ya da hesap da diyebiliriz) oluşturma ve bu kullanıcıya SQL Server üzerinde Server bazlı ve Database (veri tabanı) bazlı kullanıcı izinlerinin nasıl verilirdiğinden bahsediyor olacağım.

SQL Server Yeni Kullanıcı (User) Ekleme

Sql Server’daki kullanıcıların hesaplarına Logins adı verilmektedir. Her bir Login’e ayrı yetkiler verilebilir, erişebileceği veri tabanları belirlenebilir.
Öncelikle SQL Server yeni kullanıcı (User) ekleme işlemini gerçekleştirelim.
Bunun için;

1- Sırasıyla Security klasörü altındaki Logins klasöründe sağ tıklayarak New Login... seçeneğini seçiyorum.

SQL Server Kullnıcı Oluşturma, Rol ve İzin Ataması Yapma

2- Karşıma çıkan Login-New Penceresinde;
Login name: bölümünde yeni oluşturacağım kullanıcım için bir isim belirliyorum.

3- Kullanıcı adını tanımladıktan sonra, SQL Server Management Studio'ya nasıl bağalanacağını seçmemiz gerekiyor.
Bunun için Windows Authentication ve SQL Server Authentication olmak üzere iki seçenek mevcut;

3.1- Windows authentication: Windows authentication, sadece Windows hesaplarından açılan oturumları kabul eder. Bir kullanıcı Windows kullanıcı hesabı ile bağlandığında, SQL Server hesap adı ve principal token, yani Windows hesabı belirteci kullanarak parola doğrulanır. Bu kullanıcı kimliğinin Windows tarafından onaylandığı anlamına gelir.
Windows Authentication Mode'u ayrıca, Kerberos güvenlik protokolü, güçlü parolalar için karmaşıklık ilkesi ile hesap kilitleme ve parola süresi dolma (Password Expiration) desteği sağlar. Windows authentication, sadece Windows hesaplarından & Active Directory Domain hesaplarından açılan oturumları kabul edeceği için;

● Sisteminiz Domain ortamında ise kullanıcı adını yukarıda FIRATBOYAN\firat şeklinde belirlediğim gibi [DomainAdi\KullaniciAdi] şeklinde belirlemeniz gerekecektir,
● Workgroup ortamında ise, [PC-adi(Hostname)\KullaniciAdi] şeklinde belirlemeniz gerekecektir.

Oluşturacağım kullanıcıyı önce Windows Authentication Mode'da oluşturuyorum.
Örnek olarak FIRATBOYAN\firat kullanıcısını oluşturuyorum.

SQL Server Kullnıcı Oluşturma, Rol ve İzin Ataması Yapma

SQL Server Kullnıcı Oluşturma, Rol ve İzin Ataması Yapma

3.2- SQL Server authentication: SQL Server Authentication ile ilgili bilinmesi gereken çok önemli bir nokta vardır o da; SQL Server'ın Login parolasının şifreli bir kopyasını değil, parola’nın HASH'ini sakladığıdır. Bir Login işlemi gerçekleştiğinde kullanıcı tarafından gönderilen HASH’li şife ve saklanan HASH karşılaştırılır. Bu iki HASH eşleşirse parola kabul edilir ve giriş başarılı olur.

Oluşturduğum FIRATBOYAN/firat kullanıcısını bu adımda da SQL server authentication'da oluşturuyorum.
Örnek olarak FIRAT kullanıcısını oluşturuyorum.

Enforce Password Policy: Domaindeki veya Windows işletim sisteminde Password Policy kuralları geçerli olur.
Enforce password Expiration: Domaindeki veya Windows işletim sisteminde şifre geçerlilik süresi bu seçenek ile geçerli olur.
User must change password at next login: Kullanıcı bir sonraki oturumunda şifresini değiştirmek zorunda kalır. SSMS ile bu şifre değiştirebilir.
Default Database: SSMS bağlanıldığında kullanıcı bazlı, çalışılacak olan veri tabanı otomatik olarak gelir.
Default Language: SSMS üzerindeki dil ayarları, format ve hata mesajları istenen dilde bu seçenek ile ayarlanabilir.

SQL Server Kullnıcı Oluşturma, Rol ve İzin Ataması Yapma

SQL Server Kullnıcı Oluşturma, Rol ve İzin Ataması Yapma

NOT: SQL Server authentication mode, Windows hesapları (Active Directory Domain hesapları ya da Local hesaplar) ile çalışmadığı için, bu mod seçili iken, kullanıcı adını [DomainAdi\KullaniciAdi] ya da [PC-adi(Hostname)\KullaniciAdi] şeklinde Domain belirterek yazmanıza izin verMEyecek ve aşağıdaki hata ile karşılaşacaksınız.

Bu nedenle, Domain adı belirtmeden, sadece kullanıcı adı berlitmelisiniz.

SQL Server Kullnıcı Oluşturma, Rol ve İzin Ataması Yapma

Kullanıcımı SQL Server authentication mode ile oluşturdum ve bu adımdan devam ediyorum. Oluşturduğum kullanıcının sırasıyla Security > Logins klasörleri altında yer aldığını görebiliyoruz. Bundan sonraki adımlarda, kullanıcıya Server ve Database seviyelerinde rollerin ve izinlerin atanması işlemini uygulamak için oluşturdum FIRAT kullanıcısı üzerinde sağ tıklayıp Properties'e tıklıyorum. 

SQL Server Kullnıcı Oluşturma, Rol ve İzin Ataması Yapma

SQL Server Kullanıcı Rol ve İzin Atamaları

Sql Server’da güvenlik seviyesi iki katmandan oluşur.
Bunlar;

1- Server 
2- Database (veri tabanı) 

seviyeleridir.

1) SQL Server Rolleri - Server Roles

Login Properties penceresinde Server Roles alanında kullanıcının veri tabanı sunucusunun çalışması ile ilgili işlemlerin yürütülmesine yönelik rollerin atandığı alandır. Daha başka bir ifade ile; oluşturulan kullanıcının atandığı veri tabanında yürüteceği SQL Server yönetimsel rolleri, yani Server Rollerini belirler. 

Bilgi!:Bir Sql Server hesabı varsayılan olarak hiçbir yönetici yetkisi olmadan oluşturulur. Bu role de public role denir. Oluşturduğunuz bir kullanıcıya yönetici yetkisi vermek istiyorsanız, gerekli yetkiyi bu alandan vermeniz gerekiyor.

SQL SERVER Yönetimsel Roller:
bulkadmin (Bulk Insert Administrator): Toplu ekleme yöneticisi. Toplu Insert işlemlerini yerine getirir.
NOT: Genelde başka bir veri kaynağından ya da Excel'den veri çekme işlemleri için kullanılır.
dbcreator (Database Creators): veri tabanı oluşturucusu. veri tabanı oluşturulması ve değiştirilmesi işlemlerini yönetir.
NOT: Bu role sahip olan kullanıcı, herhangi bir veri tabanı oluşturabilir, silebilir veya düzenleyebilir. Yazılımcılara test amaçlı bu yetki verilebilir.
diskadmin (Disk Administrator): Disk yöneticisi. veri tabanı dosyalarını yönetir.
processadmin (Process Administrator): İşlem yöneticisi. SQL Server'daki process'leri kontrol eder.
NOT: Bu role sahip olan kullanıcı, çalışan tüm process'leri görebilir, kill komutu ile istenen process'leri sonlandırabilir.
public (Herkese Kısıtlı Hak): SQL Server üzerinde standart ayarlarla giriş yapan herkesin atandığı roldü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 (Seurity Administrator): Güvenlik Yöneticisi. SQL Server Login bilgilerini yönetir.
NOT: Bu role sahip olan kullanıcı, SQL Server hesabı oluşturup silebilir. Rol oluşturma yetkisi yoktur.
serveradmin (Server Administrator): Sunucu yöneticisi. Sunucu temelli ayarlamalardan sorumludur.
setupadmin (Setup Administrator): Kurulum yöneticisi. SQL Server Raplication'ı kurar.
NOT: Bu role sahip olan kullanıcı, Linked Server oluşturma yetkileri vardır.
sysadmin (System Administrator): Sistem yöneticisi. Server'daki hemen her işi yapabilir.

NOT: Bu role sahip olan kullanıcı, tüm yönetici yetkilerine sahip olur.

SQL Server Kullnıcı Oluşturma, Rol ve İzin Ataması Yapma

2) SQL Server Database & veri tabanı Rol ve İzin Atamaları - User Mapping

Sql Server’da kullanıcıya Server Roles verilmesi, birçok yetkiyi de beraberinde getirir. Kullanıcıya sadece istenen veri tabanlarında yetki verilmek istendiği zaman Login Properties penceresinde User Mapping alanında, öncelikle kullanıcıya bir veri tabanı atıyoruz ve kullanıcının atandığı veri tabanına bağlandığında hangi yetkilere (rollere) sahip olacağını, yani veri tabanı rollerini belirliyoruz.
Kullanıcıyı birden fazla veri tabanına da atayabilirsiniz ancak ben, örnek olarak FIRAT kullanıcısını Database002 isimli veri tabanına atadım.

NOT: Kullanıcım, sadece atandığı veri tabanı üzerinde, SQL Server Kullanıcı rolleri dahilinde işlem yapabilir. Başka bir Database'e (veri tabanı) erişmesi mümkün olMAyacaktır.

Veri tabanı kullanıcı rolleri; veri tabanına veri eklenmesi, silinmesi, veri okuma, veri yazma, nesne sahipliği, erişim ayarlamaları vb. konularda tanımlı rollerdir ve veri tabanı seviyeli işlemler olduklarından, veri tabanı kullanıcılarına verilebir.

SQL SERVER Database (veri tabanı) USer (Kullanıcı) Rolleri:
db_accessadmin: veri tabanı yöneticisi
db_backupoperator: veri tabanı Yedekleme Operatörü
db_datareader: veri tabanı Okuyucusu
db_datawriter: veri tabanı Veri Yazıcısı
db_ddladmin: veri tabanı DDL Yöneticisi
db_denydatareader: veri tabanı engelli veri okuyucu
db_owner: Vertabanı sahibi
db_security: veri tabanı güvenlik yöneticisi

SQL Server Kullnıcı Oluşturma, Rol ve İzin Ataması Yapma

3) SQL Server Server Seviyesinde Rol ve İzin Atamaları - Securables

Login Properties penceresinde Securables alanında kullanıcının SQL Server erişimi ile ilgili tüm güvenlik ayarlarını yapılandırabilirsiniz.Aşağıdaki ekran görüntüsünde de görüldüğü gibi kullanıcıya, sa (System Admin) tarafından Connect SQL yani SQL Server'a bağlanma yetkisi verilmiş. İhtiyacınıza göre diğer rol ve İzin Atamalarınında Grant seçeneği ile izin & rol ataması yapabilir, Deny seçeneği ile de izin & rol atamasını kısıtlayabilir, daha başka bir ifade ile rol yetkisi vermeyebilirsiniz.

SQL Server Kullnıcı Oluşturma, Rol ve İzin Ataması Yapma

Kullanıcımızı oluşturup gerekli rol ve izinleri de atadık.

Faydalı olması dileğiyle...


Her türlü görüş ve önerilerinizi aşağıdaki YORUM panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.



Beğendiğiniz içerikleri sosyal medya üzerinden paylaşarak içeriklerin daha fazla kişi tarafından görüntülenmesine yardımcı olabilirsiniz.

Yazar: Fırat Boyan

Adım Fırat Boyan. 1985 Alanya doğumluyum. 2008 yılından beri İstanbul'da yaşıyorum. 15 yıldır Bilgi Teknolojileri sektöründeyim.
2003 yılında lise eğitimimden sonra bir bilgisayar firmasının teknik servisinde önce stajyer, sonrasında ise yine aynı firmada teknik servis teknisyeni olarak başladığım bilişim sektörü çalışma hayatıma, üniversite eğitimimi tamamladıktan sonra, çeşitli şirketlerin bilgi işlem departmanlarında Sistem Destek Uzmanı, IT Uzmanı, Sistem Yöneticisi ve Sistem ve Network Mühendisi olarak devam ettim ve çok çeşitli projelerde aktif rol alıp Sistem ve Network alanında ciddi deneyimler edinerek bilgime bilgi, tecrübeme tecrübe kattım.
MİRSİS Bilgi Teknolojileri'nde Kidemli Sistem Uzmanı konumunda görev yapıyor, uzun yıllardır da Türkiye'nin en önde gelen bilişim eğitimleri merkezi olan, Network Akademi bünyesinde MCT-Microsoft Certified Trainer olarak Sistem ve Network Uzmanlığı eğitimleri veriyor, işlerimden arta kalan zamanlarda da bireysel olarak kurumsal firmalara Bilgi Teknolojileri Danışmanlık Hizmetleri sunuyorum.

Sahip olduğum Microsoft sertifikalarımı Hakkımda sayfasında detaylıca görüntüleyebilirsiniz.




6
YORUMLAR
Bu makaleye 6 yorum yapıldı.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.

YORUM YAZ
   
  
(Yorum onay bildirimi için gereklidir. Yayınlanmaz.)
 
750 Karakter yazabilirsiniz.

   
Güvenlik kodunu BÜYÜK harflerle giriniz.
* Yorumlar, onaylandıktan sonra yayınlanmaktadır.


Yorumlar:
21.12.2018 Aykut Pehlivan
Gerçekten çok ayrıntılı olmuş. Emek verilerek hazırlandığı ortada. Elinize sağlık.


17.12.2018 hakki Parlak
Merhaba, Bir serverda birden fazla datam var. Her hangi bir data da kullanıcaya sadece view oluşturma yetkisi nasıl veririm. Ayrıca tüm datalarda sadece view yetkisi nasıl verebilirim .. Saygılar


27.02.2018 erhan kilci
Merhaba server 2012 kurulu sql i durdurup muhasebe programının dosyasının yedeğini alıp sql i tekrar çalıştıracak bir rol nasıl yapabiliriz? Bu işlem her gün tekrarlanacak. Saygılarımla

04.05.2018 Fırat Boyan
Cevap için teşekkürler Aydın Bey :)

04.05.2018 aydın aktürk
database rollerinden db_backupoperator rolünü vermeniz yeterli.


14.02.2018 Güven Altun
Merhaba, açıklayıcı bir içerik olmuş, elinize sağlık.