Fırat Boyan | MCT- Microsoft Certified Trainer.



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

category KATEGORİ: MS SQL Server 2014
category Fırat Boyan category 10.07.2016 category 4

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 (veritabanı) 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 veritabanı 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 (Veritabanı) seviyeleridir.

 

1) SQL Server Rolleri - Server Roles

Login Properties penceresinde Server Roles alanında kullanıcının veritabanı 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ığı veritabanında yürüteceği SQL Server yönetimsel rolleri, yani Server Rollerini belirler. 

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 (BulkInsertAdministrator): 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): Veritabanı oluşturucusu. Veritabanı oluşturulması ve değiştirilmesi işlemlerini yönetir.
NOT: Bu role sahip olan kullanıcı, herhangi bir veritabanı oluşturabilir, silebilir veya düzenleyebilir. Yazılımcılara test amaçlı bu yetki verilebilir.
diskadmin (Disk Administrator): Disk yöneticisi. Veritabanı 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 & Veritabanı 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 veritabanı atıyoruz ve kullanıcının atandığı veritabanına bağlandığında hangi yetkilere (rollere) sahip olacağını, yani Veritabanı Rollerini belirliyoruz.
Kullanıcıyı birden fazla veritabanına da atayabilirsiniz ancak ben, örnek olarak FIRAT kullanıcısını DATABASE002 isimli veritabanına atadım.

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

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

SQL SERVER Database (Veritabanı) USer (Kullanıcı) Rolleri:

db_accessadmin: Veritabanı yöneticisi
db_backupoperator: Veritabanı Yedekleme Operatörü
db_datareader: Veritabanı Okuyucusu
db_datawriter: Veritabanı Veri Yazıcısı
db_ddladmin: Veritabanı DDL Yöneticisi
db_denydatareader: Veritabanı engelli veri okuyucu
db_owner: Vertabanı sahibi
db_security: veritabanı 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...
 


Beğendiğiniz içerikleri facebook, twitter, g+1 veya LinkedIn üzerinden paylaşarak makalelerin daha fazla kişi tarafından görüntülenmesine yardımcı olabilirsiniz.


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

YAZAR HAKKINDA:

Microsoft Certified Trainer-MCT.
Microsoft Certified Solution Expert-MCSE: Cloud Platorm and Infrastructure.

Adım Fırat Boyan. Bilgi Teknolojileri Sistem ve Ağ Mühendisiyim. 1985 Alanya doğumluyum. 2008 yılından beri İstanbul'da yaşıyorum. 15 yıldır Bilişim Teknolojileri sektöründeyim.

2003 yılında lise eğitimimden sonra bir bilgisayar teknik servisinde önce stajyer, sonrasında ise 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ı, IT Sistem Sorumlusu ve IT Sistem Yöneticisi 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.

JP. Morgan Chase Bank'ta Sistem Uzmanı ve Analisti olarak görev yapıyor, Türkiye’nin bilişim eğitimleri alanında hizmet veren Bilgi Tekolojileri Eğitim Merkezleri olan Bilge Adam’da MCT-Microsoft Certified Trainer (Microsoft Sertifikalı Eğitmen) ünvanı ile Sistem, Network ve Güvenlik eğitimleri veriyor, kurumsal firmalara Bilişim Teknolojileri Danışmanlık Hizmetleri sunuyorum.

Sertifikalarım:

MCT (Microsoft Certified Trainer)- 2016/2017 - 2017/2018 - 2018/2019
MCPS (Microsoft Certified Professional)
MCSA (Microsoft Certified Solutions Associate)- Windows Server 2012
MCSE (Microsoft Certified Solutions Expert)- Server Infrastructure
MCSE (Microsoft Certified Solutions Expert)- Cloud Platform and Infrastructure 2017
MCSE (Microsoft Certified Solutions Expert)- Messaging
MCSE (Microsoft Certified Solutions Expert)- Productivity 2017
MS (Microsoft Specialist)- Designing and Deploying Microsoft Exchange Server 2016
MCSA (Microsoft Certified Solutions Associate)- Windows Server 2016
MCSE (Microsoft Certified Solutions Expert)- Cloud Platform and Infrastructure 2018
MCSE (Microsoft Certified Solutions Expert)- Productivity 2018




comment YORUMLAR
Bu makaleye 4 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.




YAPILAN YORUMLAR


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.







BT EĞİTİM

Kurumsal eğitimler veren bir Microsoft Sertifikalı IT eğitmeniyim. IT Danışmanlık Hizmetleri verdiğim kurumlarda sürekli olarak, bilgi işlem personellerinin yaptığı işleri genelde ezbere ve neden yaptıklarını tam olarak kavrayamadan, bilmeden yaptıklarına şahit oldum. Böyle durumlarda da genelde firmalar, çalışanlarına IT eğitimleri aldırarak, daha profesyonel ve biliçli personeller istihdam etmektedirler. Sizler de kurumunuzda istihdam ettirdiğiniz bilgi işlem personellerinize IT Eğimleri aldırarak, kurumsal olarak yeni teknolojilere daha güçlü ve bilinçli geçişler yaparak ya da mevcut teknolojiler ile yapılandırılmış alt yapınızın bilgi işlem personelleriniz tarafından bilinçli ve profesyonel olarak ayakta tutmasını ve yürütmesini sağlayabilirsiniz.

Detaylar »





BT DANIŞMANLIK

Kendi bünyesinde IT departmanı isitihdam etmeyen ve bu hizmeti danışmanlık kapsamında outsource olarak alan firmalar, bilgisayar sistemlerinin bakımı ve onarımı için profesyonellerden bakım anlaşması kapsamında hizmet talep etmektedirler. Bilişim sektöründe danışmanlık önemli bir konudur. Bu nedenle, işinin ehli olmayan kişilere sisteminizi emanet edemezsiniz. Profesonel IT Uzmanı olarak; işletmelerin Kurumsal IT ihtiyaçlarına yönelik IT ekipmanlarının ve sistemlerinin kurulum,bakım ve konfigürasyonlarının yapılması hizmetlerini sunuyorum.

Detaylar »





İLETİŞİM

Taleplerinizi iletişim formu aracılığıyla direkt olarak bana iletebilirsiniz.
İletilerinize cevap verebilmem için mutlaka gerçeli bir e-posta adresi girin. Gönderdiğiniz iletiler en kısa sürede cevaplanacaktır. Girdiğiniz bilgiler asla üçüncü taraflarla paylaşılmaz. İletilerinizi iletişim formu aracılığı ile direkt olarak iletebileceğiniz gibi, kendi e-posta sunucunuzu kullanarak da mail adresime iletebilirsiniz.

İletişim Formu »