Fırat Boyan | MCT- Microsoft Certified Trainer.



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 KATEGORİ: MS SQL Server 2014

category Fırat Boyan category 18.11.2015 category 10

SQL Server WAN Bağlantı Ayarları Yapılandırma ve Kullanıcı Rolleri Tanımlama


Bu makalemde Windows Server 2012 R2 üzerinde çalışan SQL Server'ımıza WAN üzerinden yani şirket dışında başka bir ortamdan nasıl bağlantı yapma işlemini ve kullanıcı oluşturarak oluşturulan kullanıcıya rol ve yetki tanımlamasının nasıl yapılacağından bahsediyor olacağım. Bu yapılandırmamı, VPN ile bağlantı sağlayarak bağlantı sağlayacağınızı varsayarak, Firewall üzerinde gerekli NAT yapılandırması işlemine değinmeden anlatacağım.

1- SQL Server WAN Bağlantı Ayarları Yapılandırma

İlk adım olarak, SQL Server'a WAN ortamından, yani (ör. şirket dışından) bağlantı kurulabilmesi için gerekli olan teknik hazırlığı yapmam gerekiyor. Bunun için;

1.1- SQL Server 2014 Configuration'ı çalıştırıyorum.

sql server dışarıdan bağlanma

1.2- SQL Server 2014 Configuration, SQL Server'ın Servislerinin bulunduğu yönetim arabirimidir. Configuration penceresinden SQL Server Network Configuration altında bulunan Protocols for MSSQLSERVER'ı tıklıyorum. 

sql server dışarıdan bağlanma

1.3- Sağ tarafta bulunan TCP/IP, Disabled durumda. Sağ tıklayarak Enable duruma getiriyorum. 

sql server dışarıdan bağlanma

1.4- Karşımıza, yapılan değişikliklerin servisin yeniden başlatıldığında gerçeli olacağını belirten bir uyarı penceresi çıkıyor. OK tıklıyorum. 

sql server dışarıdan bağlanma

1.5- TCP/IP Protocol Enabled durumda. Buradan sağ tıklayarak Properties'i tıklıyorum.

sql server dışarıdan bağlanma

1.6- TCP/IP Properties penceresinden IP Addresses sekmesini açarak WAN için kullandığınız network kartı hangisi ise, burada IP Address alanına Server IP'sini giriyor, Apply butonuna basıyorum. 

sql server dışarıdan bağlanma

1.7- Aynı şekilde, yapılan değişikliklerin servisin yeniden başlatıldığında gerçeli olacağını belirten bir uyarı penceresi çıkıyor. OK butonuna tıklıyorum. 

sql server dışarıdan bağlanma

1.8- Windows + R tuş kombinasyonu ile Run'ı çalıştırıp services.mcs ile servislerin bulunduğu alanı açıyorum. Burada, SQL SERVER(MSSQLSERVER) servisini restart ediyorum.

sql server dışarıdan bağlanma

1.9- Servis Restart oluyor.... 

sql server dışarıdan bağlanma

1.10- Görüldüğü gibi, Server'ımın DNS kaydı mevcut. Ben SQL Server Kurulumu yaparken Named Instance seçtiğim ve ilk kurulum yapan da ben olduğum için SQL Server, Server'ımın adını atadı.

Buraya Server IP'si ile de bağlanabilirim. Bu kısım özellikle makale sonunda Windows Server 2012 R2 üzerinde çalışan SQL Server'a uzaktan bağlantı yaparken DNS isim çözümlemesi yaptığı için hem Server IP'si, hem de Hostname ile bağlantı kurabiliyor olacağıma değineceğim.

sql server dışarıdan bağlanma

2- SQL Server Kullanıcı Oluşturma ve Kullanıcı Rolleri Tanımlama

2.1- Sıra geldi WAN üzerinden yani şirket dışında başka bir ortamdan SQL Server'a bağlantı kuracak olan Kullanıcıyı oluşturup gerekli rollerini atamaya..

Kullanıcı adını tanımladıktan sonra, dışarıdan bağlantı kurabilmesi için SQL Server authentication'ı seçmek durumundayız. Burada oluşturacağımız kullanıcı için bir Şifre belirletikden sonra OK butonuna basmamız yeterli olacaktır. 

sql server dışarıdan bağlanma

2.2- Oluşturduğumuz kullanıcının Security > Logins altında yer aldığını görebiliyoruz. Bundan sonraki adımlarda, Kullanıcıya ihtiyaç dahilinde Rollerin ve İzinlerin atanması işlemini uygulamak için kullancı üzerinde sağ tıklayıp Properties tıklayın. 

sql server dışarıdan bağlanma

2.3- Ben yetkilendiremeden de bahsetmek istediğim için oluşturdum FIRAT kullanıcısı üzerinde sağ tıklayıp Properties'e tıklıyorum.

sql server dışarıdan bağlanma

A- SQL Server Server Rolleri:

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ığı veritabanda yürüteceği 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 rolü 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 dışarıdan bağlanma
 

B- SQL Server Database (Veritabanı) Rolleri:

Sql Server’da kullanıcıya Server Rolleri 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, kullanıcının atandığı veritabanına bağlandığında hangi yetkilere(rollere) sahip olacağını, yani Database (Veritabanı) Rollerini belirliyoruz.

Kullanıcıyı birden fazla veritabanına da atayabilirsiniz ancak ben, örnek olarak FIRAT kullanıcısını dukkan isimli veritabanına atadım. Kullanıcım sadece atandığı veritabanı üzerinde, kullanıcı rolleri dahilinde işlem yapabilir. 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 verilebilir.

Database (Veritabanı) 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 dışarıdan bağlanma

C- SQL Server Server Seviyesinde Kullanıcı Yetkileri Yapılandırılma:

Login Properties penceresinde Securable alanında kullanıcının SQL Server erişimi ile ilgili tüm güvenlik ayarlarını yapılandırabilirsiniz.

Örneğin, 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 ayarları da buradan yönetebilirsiniz.

sql server dışarıdan bağlanma

Kullanıcımızı oluşturup gerekli rol ve izin atamaları yaptıktan sonra (Internet bağlantısını VPN ile sağladığınızı varsayarak) şirket dışından Server Name kısmına Server IP'sini (Server LOCAL IP) yazarak bağlantımızı gerçekleştirebiliriz.

ÖNEMLİ!: VPN bağlantısı yoksa, Server Name kısmına Firewall veya Router'ınızın dışarıya bakan kısmındaki (WAN) IP adresini (ISP'nin sağladığı INTERNET IP) yazmanız gerekmektedir.

ÖNEMLİ!: Firewall veya Modem üzerinden SQL Server IP'sine NAT (yönlendirme) işleminin de önceden yapılmış olması gerekmektedir.

sql server dışarıdan bağlanma

Bu noktada şunu da unutmamak gerekiyor; Windows Server 2012 R2 üzerinde çalışan SQL Server'a uzaktan bağlantı yaparken DNS isim çözümlemesi yaptığı için hem Server IP'si, hem de Hostname (bende SRV001) ile bağlanabiliriz.

Windows Server 2012 R2 üzerinde çalışan SQL Server'a başarılı bir şekilde giriş yaptık.

sql server dışarıdan bağlanma

NOT: Ben bu bağlantıyı; (aynı Network'e dahil olduğumuz için test amacıyla) kendi fiziksel bilgisayarımda kurulu olan SQL Server üzerinden, Sanal Ortamda kurduğum ve Windows Server 2012 R2 ortamında çalışan SQL Server'a bağlanarak gerçekleştirdim.

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 HAKKINDA:

Adım Fırat Boyan. Sistem ve Network Mühendisiyim. 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 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.

Sertifikalarım:
MCT (Microsoft Certified Trainer)- 2016/2017 - 2017/2018 - 2018/2019 - 2019/2020
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 10 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


07-03-2018


Yasin Dikkaya

Merhaba iyi günler Fırat Bey, üniversite öğrencisiyim ve bir proje üzerinde çalışma yapıyorum sizinle bu proje üzerinde veri kaydetme çekme konusunda biraz bilgi edinmek istiyorum bana yardımcı olur musunuz ?


07-03-2018


Fırat BOYAN

Mehaba Yasin, nasıl bir yardıma ihtiyacın var?


08-01-2018


Murat

Merhaba, Bizim yapıda Güvenlik Duvarı var. Güvenlik duvarının olduğu lokasyonun dış ipsi ile bizim lokasyonun dış ipleri farklı. Ama Kurumumuzun tüm lokasyonları Telekomun sağladığı VPN ağı içerisinde bulunuyor.Benim lokasyondaki bir sunucuda SQL Server kurulu. Güvenlik duvarının olduğu lokasyonda ise bir personelimizin kullandığı masaüstü yazılımın bizdeki sunucuda bulunan veritabanına erişmesi lazım. Yukarıdaki ayarları zaten yapmıştım. Bağlantıyı sağlamak için ne yapmamız lazım ? teşekkür ederim.


08-01-2018


Fırat BOYAN

Merhaba, Verdiğin bilgiye göre, Sadece ilgili porta firewall olan şubenden disari cikiş portuna izin vermen yeterli olur. Ama öncesinde ve sonrasında 1433 portuna bir telnet çekerek test etmende fayda var.


12-12-2017


mehmet Çatalkaya

Merhaba güzel paylaşamınız için teşekkürler ,sql veri tabanında sizin anlattıgınız gibi başka pc de tutup diger bilgisayardan yazmış oldugum vb uygulaması ile gitmeye çalıştıgımda surekli hata alıyorum neden kaynaklanıyor olabilir ,bir başka deyişle connectstring tanımlamamada nasıl bir sorun olabilir


12-12-2017


Fırat Boyan

Merhaba Mehmet. Local içinde misin? yoksa WAN ortamından local ine mi erişmeye çalışıyorsun? connection string inde de sorun olabilir.


11-03-2017


kamil çoban

güzel adamsın teşekkür ederim.


28-06-2017


Fırat Boyan

Faydalı olmasına sevindim Kamil.


28-10-2016


Metin Akbaş

Güzel bir yazı olmuş, yaralandım teşekkür ederim.


28-06-2017


Fırat Boyan

Faydalı olmasına sevindim Metin.