SQL Server Management Kullanıcı Oluşturma ve Şifre Değiştirme
Microsoft SQL Server'da kullanıcı yönetimi, veritabanı güvenliğinin en önemli bileşenlerinden biridir. Her kullanıcıya ihtiyaç duyduğu kadar yetki verilmesi, güçlü parola politikalarının uygulanması ve düzenli olarak kullanıcı hesaplarının gözden geçirilmesi; veritabanı güvenliği açısından büyük önem taşır.
Bu rehberde SQL Server Management Studio (SSMS) kullanılarak yeni kullanıcı oluşturma, mevcut kullanıcıların parola ve yetkilerini güncelleme ile kullanıcı yönetiminde dikkat edilmesi gereken güvenlik önerileri adım adım açıklanmaktadır. Anlatılan işlemler güncel SQL Server ve SQL Server Management Studio sürümleriyle uyumludur.
SQL Server'da Kullanıcı Yönetimi
SQL Server'da kullanıcı erişimi iki aşamadan oluşur. İlk aşamada sunucu üzerinde bir Login oluşturulur. Daha sonra bu Login, erişim sağlaması istenen veritabanına kullanıcı olarak atanır ve gerekli yetkiler verilir.
Bu yapı sayesinde aynı Login hesabı birden fazla veritabanına farklı yetkilerle erişebilir. Böylece kullanıcıların yalnızca ihtiyaç duydukları verilere erişmesi sağlanarak güvenlik artırılır.
Login ve Database User Arasındaki Fark
SQL Server'da sık karşılaşılan kavramlardan biri Login ile Database User arasındaki farktır.
- Login, SQL Server sunucusuna giriş yapılmasını sağlayan kullanıcı hesabıdır.
- Database User, Login hesabının belirli bir veritabanındaki yetkilerini temsil eder.
Başka bir ifadeyle kullanıcı önce SQL Server'a giriş yapar, ardından yetkisi bulunan veritabanlarına erişebilir.
Bir Login hesabı oluşturulmuş olsa bile herhangi bir veritabanına yetkilendirilmemişse veritabanı üzerinde işlem yapamaz.
Kullanıcı Oluşturmadan Önce Dikkat Edilmesi Gerekenler
- Kullanıcıya verilecek yetkileri önceden planlayın.
- Güçlü parola kullanılmasını sağlayın.
- Mümkün olduğunca yönetici (sysadmin) yetkisi vermeyin.
- Her kullanıcı için ayrı hesap oluşturmayı tercih edin.
- Ortak kullanıcı hesapları yerine kişiye özel hesaplar kullanın.
Tüm kullanıcıların "sa" hesabını kullanması güvenlik açısından önerilmez. Her kullanıcı için ayrı Login oluşturulması hem güvenliği artırır hem de yapılan işlemlerin kayıt altına alınmasını kolaylaştırır.
Bir Sonraki Adım
Bir sonraki bölümde SQL Server Management Studio kullanılarak yeni bir Login hesabının nasıl oluşturulacağı, parola seçeneklerinin nasıl yapılandırılacağı ve kullanıcı hesabının ilk yapılandırmasının nasıl yapılacağı ayrıntılı olarak anlatılacaktır.
Yeni SQL Server Kullanıcısı (Login) Oluşturma
SQL Server Management Studio (SSMS) üzerinden yeni bir kullanıcı oluşturmak için öncelikle sunucuya yönetici yetkisine sahip bir hesap ile bağlanmanız gerekir. Yeni oluşturacağınız Login hesabı, SQL Server'a erişim sağlayacak kullanıcı kimliğini temsil eder.
Giriş yaptıktan sonra Object Explorer penceresinde bağlı olduğunuz sunucuyu genişletin. Ardından Security klasörü altında bulunan Logins bölümünü açın ve yeni bir Login oluşturma işlemini başlatın.
Login Bilgilerinin Tanımlanması
Yeni kullanıcı oluşturma ekranında öncelikle kullanıcı için benzersiz bir Login Name belirlenmelidir. Bu isim, kullanıcının SQL Server'a bağlanırken kullanacağı kullanıcı adıdır.
Ardından kullanılacak kimlik doğrulama yöntemi seçilir. SQL Server iki farklı kimlik doğrulama yöntemini desteklemektedir.
- Windows Authentication: Windows kullanıcı hesabı ile oturum açılmasını sağlar.
- SQL Server Authentication: SQL Server üzerinde oluşturulan kullanıcı adı ve parola ile giriş yapılmasını sağlar.
Sunucu farklı sistemler veya uygulamalar tarafından kullanılacaksa genellikle SQL Server Authentication yöntemi tercih edilir. Kurumsal Active Directory ortamlarında ise Windows Authentication kullanılması önerilir.
Parola Ayarları
SQL Server Authentication seçildiğinde kullanıcı için güçlü bir parola belirlenmelidir. Güvenlik amacıyla büyük ve küçük harf, rakam ve özel karakter içeren karmaşık parolalar kullanılması tavsiye edilir.
Ayrıca oluşturma ekranında aşağıdaki güvenlik seçenekleri de yapılandırılabilir:
- Windows parola politikasını uygulama (Enforce Password Policy)
- Parola süresinin dolmasını etkinleştirme (Enforce Password Expiration)
- Kullanıcının ilk girişte parolasını değiştirmesini isteme (User must change password at next login)
Üretim ortamlarında parola politikasının devre dışı bırakılması önerilmez. Güçlü parola kuralları, yetkisiz erişim girişimlerine karşı önemli bir güvenlik katmanı sağlar.
Varsayılan Veritabanının Belirlenmesi
Her Login hesabı için bir Default Database seçilebilir. Kullanıcı SQL Server'a bağlandığında, aksi belirtilmediği sürece bu veritabanı otomatik olarak açılır.
Eğer belirli bir tercih yoksa varsayılan olarak master veritabanı kullanılabilir. Ancak uygulama kullanıcıları için ilgili uygulamanın veritabanının varsayılan olarak atanması daha kullanışlı olacaktır.
Kullanıcının Oluşturulması
Gerekli bilgiler tamamlandıktan sonra ayarlar gözden geçirilir ve oluşturma işlemi onaylanır. Bu aşamada yalnızca SQL Server üzerinde bir Login hesabı oluşturulmuş olur.
Ancak kullanıcının henüz herhangi bir veritabanında işlem yapma yetkisi bulunmaz. Bunun için Login hesabının ilgili veritabanına kullanıcı olarak eklenmesi ve gerekli izinlerin verilmesi gerekir.
Kullanıcı oluştururken yalnızca ihtiyaç duyduğu yetkileri vermek, "En Az Yetki Prensibi (Principle of Least Privilege)" açısından en doğru güvenlik yaklaşımıdır.
Bir Sonraki Adım
Bir sonraki bölümde oluşturulan Login hesabının veritabanına nasıl tanımlanacağı, User Mapping işlemi, veritabanı rollerinin atanması ve mevcut kullanıcıların parola ile yetkilerinin nasıl güncelleneceği ayrıntılı olarak ele alınacaktır.
Kullanıcıyı Veritabanına Yetkilendirme (User Mapping)
SQL Server'da bir Login hesabı oluşturulduktan sonra, kullanıcının ilgili veritabanında işlem yapabilmesi için bu hesabın veritabanına kullanıcı (Database User) olarak tanımlanması gerekir. Bu işlem User Mapping olarak adlandırılır.
SQL Server Management Studio üzerinde oluşturduğunuz Login hesabının özelliklerini açarak User Mapping bölümüne geçebilir ve kullanıcının erişebileceği veritabanlarını belirleyebilirsiniz.
Veritabanı Seçimi
User Mapping ekranında sunucuda bulunan tüm veritabanları listelenir. Kullanıcının erişmesini istediğiniz veritabanını işaretleyerek ilgili veritabanına erişim yetkisi verebilirsiniz.
Bir kullanıcı yalnızca yetkilendirildiği veritabanlarında işlem gerçekleştirebilir. Yetkisi bulunmayan veritabanlarına erişim sağlayamaz.
Aynı Login hesabı birden fazla veritabanına bağlanabilir ve her veritabanında farklı yetkilere sahip olabilir.
Database Rollerinin Atanması
Veritabanı seçildikten sonra kullanıcıya uygun roller atanmalıdır. Roller, kullanıcının veritabanı üzerinde hangi işlemleri gerçekleştirebileceğini belirler.
SQL Server'da en sık kullanılan veritabanı rolleri şunlardır:
- db_datareader — Tablolardaki verileri okuyabilir.
- db_datawriter — Veri ekleyebilir, güncelleyebilir ve silebilir.
- db_ddladmin — Tablo, View ve diğer veritabanı nesnelerini oluşturabilir veya düzenleyebilir.
- db_backupoperator — Veritabanı yedekleme işlemlerini gerçekleştirebilir.
- db_owner — Veritabanı üzerinde tam yetkiye sahiptir.
Gerçekten ihtiyaç duyulmadıkça kullanıcılara db_owner rolü verilmemesi önerilir. Gereğinden fazla yetki verilmesi hem güvenlik hem de veri bütünlüğü açısından risk oluşturabilir.
Mevcut Kullanıcının Bilgilerini Güncelleme
SQL Server Management Studio üzerinden daha önce oluşturulan kullanıcı hesaplarının bilgileri istenildiği zaman güncellenebilir.
Login hesabının özellikleri açılarak aşağıdaki işlemler gerçekleştirilebilir:
- Kullanıcı adını gözden geçirme
- Parola değiştirme
- Varsayılan veritabanını değiştirme
- Kimlik doğrulama seçeneklerini düzenleme
- Yeni veritabanlarına yetki ekleme veya mevcut yetkileri kaldırma
- Database Rollerini güncelleme
Kullanıcı Yetkilerini Düzenlerken Dikkat Edilmesi Gerekenler
Kullanıcı yetkilerinde yapılacak değişiklikler, ilgili kullanıcının uygulamalara veya veritabanına erişimini doğrudan etkileyebilir. Bu nedenle yetki değişiklikleri yapılmadan önce mevcut ihtiyaçlar dikkatlice değerlendirilmelidir.
Özellikle üretim ortamlarında yapılan değişikliklerin mümkünse bakım saatlerinde gerçekleştirilmesi ve gerekli durumlarda mevcut yapılandırmanın yedeğinin alınması tavsiye edilir.
Belirli aralıklarla kullanılmayan kullanıcı hesaplarını kontrol ederek devre dışı bırakmanız veya silmeniz, SQL Server güvenliğini artıran önemli bakım işlemlerinden biridir.
Bir Sonraki Adım
Bir sonraki bölümde SQL Server kullanıcı yönetiminde en sık karşılaşılan hatalar, güvenlik önerileri, kullanıcı hesaplarının silinmesi veya devre dışı bırakılması ile makalenin genel özeti ele alınacaktır.
Sık Karşılaşılan Sorunlar ve Çözüm Önerileri
SQL Server kullanıcı yönetimi sırasında yanlış yapılandırmalar veya eksik yetkilendirmeler nedeniyle bağlantı ve erişim hatalarıyla karşılaşabilirsiniz. Bu hataların büyük bir bölümü kullanıcı ayarlarının gözden geçirilmesiyle kısa sürede giderilebilir.
Login Başarısız Hatası
Kullanıcının SQL Server'a bağlanamaması durumunda öncelikle kullanıcı adı ve parola doğruluğu kontrol edilmelidir. Ardından SQL Server Authentication modunun etkin olduğundan ve ilgili Login hesabının devre dışı olmadığından emin olunmalıdır.
Windows Authentication ile oluşturulan hesaplar yalnızca yetkili Windows kullanıcıları tarafından kullanılabilir. SQL Authentication hesapları ise kullanıcı adı ve parola ile bağlantı kurar.
Veritabanına Erişim Sağlanamıyor
Kullanıcı SQL Server'a giriş yapabiliyor ancak veritabanını görüntüleyemiyor veya işlem yapamıyorsa, çoğu zaman ilgili veritabanına User Mapping yapılmamış ya da gerekli Database Rolleri atanamamıştır.
Böyle bir durumda kullanıcının erişmesi gereken veritabanı seçilmeli ve ihtiyaç duyduğu roller yeniden kontrol edilmelidir.
Yetki Hataları
"Permission Denied", "Access Denied" veya benzeri hata mesajları genellikle eksik yetkilendirmeden kaynaklanır. Kullanıcının gerçekleştireceği işlemlere uygun roller atanmalı, gereksiz yetkiler ise kaldırılmalıdır.
Her kullanıcıya yalnızca görevini yerine getirecek kadar yetki verilmesi (Least Privilege Principle) hem güvenlik hem de sistem yönetimi açısından en doğru yaklaşımdır.
Güvenlik Önerileri
SQL Server üzerinde oluşturulan kullanıcı hesaplarının güvenliği, veritabanı güvenliğinin en önemli parçalarından biridir. Güçlü parola politikaları uygulanmalı ve kullanılmayan hesaplar düzenli olarak kontrol edilmelidir.
Güvenliği artırmak için aşağıdaki öneriler uygulanabilir:
- Güçlü ve karmaşık parolalar kullanın.
- Varsayılan sa hesabını mümkünse yeniden adlandırın veya yalnızca gerektiğinde kullanın.
- Kullanılmayan Login hesaplarını devre dışı bırakın veya silin.
- Yönetici yetkisini yalnızca ihtiyaç duyulan hesaplara verin.
- Parolaları belirli aralıklarla değiştirin.
- SQL Server hata günlüklerini ve oturum kayıtlarını düzenli olarak inceleyin.
Kurumsal ortamlarda kullanıcı hesaplarının düzenli olarak gözden geçirilmesi ve yetki denetimlerinin yapılması, olası güvenlik açıklarının önüne geçilmesine yardımcı olur.
Sonuç
SQL Server Management Studio, kullanıcı hesaplarının oluşturulması, düzenlenmesi ve yetkilendirilmesi için kapsamlı bir yönetim ortamı sunar. Doğru yapılandırılmış kullanıcı hesapları hem veritabanı güvenliğini artırır hem de uygulamaların sorunsuz şekilde çalışmasını sağlar.
İSİMKAYIT Yardım Merkezi
Bu makalede SQL Server Management Studio üzerinde kullanıcı oluşturma, kullanıcı bilgilerini güncelleme, veritabanı yetkilendirme (User Mapping), rol atama ve güvenlik önerileri ayrıntılı olarak ele alınmıştır. SQL Server yönetimi, veritabanı güvenliği ve sistem yönetimiyle ilgili diğer teknik içerikler için İSİMKAYIT Yardım Merkezi'ndeki ilgili makaleleri inceleyebilirsiniz.
Bu makale yardımcı olmadı mı? Destek ekibimizle iletişime geçin veya 0850 290 3344 numaralı hattı arayın.