Microsoft SQL Server’da Yetkisiz Kullanıcılardan Veritabanı İsimlerini Gizlemek

Microsoft SQL Server’da varsayılan olarak izinler iki bölümden oluşmaktadır. Oturum açma izni ve veritabanı izinleri. Oturum izinlerinde kullanıcı MS SQL Server yönetim aracı ile oturum açar fakat bir veri tabanında işlem yapamaz. Veri tabanı izinleri ile de oturum açan kullanıcılara yönetecekleri veritabanları için okuma, yazma, sahiplik gibi birçok yetki verilir.

Kullanıcıya oturum açma izni ve yöneteceği veritabanı için izin verildiğinde kullanıcı izni olmayan veritabanlarını da görür. Bu veritabanların da herhangi bir işlem yapamaz fakat gene de isimlerini görebilir.

Kullanıcıların yetkisiz oldukları veritabanlarının isimlerini görmelerini engellemek istiyorsanız aşağıdaki metotları uygulayabilirsiniz.

Birinci metot:

Kullanıcımızı sunucu güvenliği bölümünden ekliyoruz.

 

Hiçbir veritabanına yetkilendirmiyoruz.

 

Veritabanı yaratıyoruz.

 

“Owner” bölümünün ayarlarına geliyoruz.

 

Kullanıcımızı seçiyoruz.

Bu işlemin ardından veritabanımızı yaratıyoruz.

Son bir ayar olarak sunucu seviyesinde tüm veritabanlarını görme iznini kullanımız için yasaklamamız gerekiyor.

Sunucu özelliklerine geliyoruz.

 

İzinlerden kullanıcımızı seçip “view any database” için “deny” ı işaretliyoruz.

 

Bu işlemlerinden ardından kullanıcımız ms sql server yönetim aracı le oturum açtığından sadece yetkili olduğu veritabanını görebilecektir.

 

İkinci metot:

İkinci metot da ise benzer ayarları var olan veritabanları için nasıl uygulayacağımıza bakacağız.

Kullanıcımıza gene sunucumuzda oturum açma izni veriyoruz.

Aşağıdaki sorguyu kullanıcımız ve yetkilendireceğimiz veri tabanı için çalıştırıyoruz;

Use ortacdb

Alter Authorization on database::ortacdb to ortac

 

Bu işlemin ardından birinci metot da olduğu gibi sunucu özelliklerine gelip güvenlik izinlerinden “view any database” izni için kullanıcımıza “deny” verirsek eğer kullanıcı oturum açtığından sadece yetkili olduğu veri tabanını görüntüleyebilir.

Paylaş

Leave a Reply

Your email address will not be published. Required fields are marked *