Aracılığıyla paylaş


SQL Server'da kimlik doğrulaması

ADO.NET indirin

SQL Server iki kimlik doğrulama modunu destekler: Windows kimlik doğrulama modu ve karma mod.

  • Windows kimlik doğrulaması varsayılandır ve bu SQL Server güvenlik modeli Windows ile sıkı bir şekilde tümleştirildiğinden genellikle tümleşik güvenlik olarak adlandırılır. Sql Server'da oturum açmak için belirli Windows kullanıcı ve grup hesapları güvenilirdir. Kimliği önceden doğrulanmış Windows kullanıcılarının ek kimlik bilgileri sunmaları gerekmez.

  • Karma mod, hem Windows hem de SQL Server tarafından kimlik doğrulamayı destekler. Kullanıcı adı ve parola çiftleri SQL Server içinde tutulur.

Önemli

Mümkün olduğunca Windows kimlik doğrulaması kullanmanızı öneririz. Windows kimlik doğrulaması, SQL Server'da kullanıcıların kimliğini doğrulamak için bir dizi şifreli ileti kullanır. SQL Server oturum açma bilgileri kullanıldığında, SQL Server oturum açma adları ve şifrelenmiş parolalar ağ üzerinden geçirilir ve bu da onları daha az güvenli hale getirir.

Windows kimlik doğrulamasıyla, kullanıcılar Windows'ta zaten oturum açmış durumdadır ve SQL Server'da ayrı olarak oturum açmak zorunda değildir. Aşağıdaki SqlConnection.ConnectionString , kullanıcıların bir kullanıcı adı veya parola sağlamasına gerek kalmadan Windows kimlik doğrulamasını belirtir.

"Server=MSSQL1;Database=AdventureWorks;Integrated Security=true;Encrypt=True;"

Uyarı

Oturum açmaları, veritabanı kullanıcılarından farklı olarak ele alınmalıdır. Oturum açma bilgilerini veya Windows gruplarını ayrı bir işlemde veritabanı kullanıcılarıyla veya rolleriyle eşlemeniz gerekir. Ardından kullanıcılara veya rollere veritabanı nesnelerine erişim izinleri verirsiniz.

Kimlik doğrulama senaryoları

Windows kimlik doğrulaması genellikle aşağıdaki durumlarda en iyi seçenektir:

  • Bir etki alanı denetleyicisi vardır.

  • Uygulama ve veritabanı aynı bilgisayardadır.

  • SQL Server Express veya LocalDB örneği kullanıyorsunuz.

SQL Server oturum açma bilgileri genellikle aşağıdaki durumlarda kullanılır:

  • Bir çalışma grubunuz varsa.

  • Kullanıcılar farklı, güvenilir olmayan etki alanlarından bağlanır.

  • ASP.NET gibi İnternet uygulamaları.

Uyarı

Windows kimlik doğrulamasının belirtilmesi SQL Server oturum açmalarını devre dışı bırakmaz. Yüksek düzeyde ayrıcalıklı SQL Server oturum açmalarını devre dışı bırakmak için ALTER LOGIN DISABLE Transact-SQL ifadesini kullanın.

Oturum açma türleri

SQL Server üç tür oturum açmayı destekler:

  • Yerel bir Windows kullanıcı hesabı veya güvenilen etki alanı hesabı. SQL Server, Windows kullanıcı hesaplarının kimliğini doğrulamak için Windows'a dayanır.

  • Windows grubu. Bir Windows grubuna erişim izni vermek, grubun üyesi olan tüm Windows kullanıcı oturum açma işlemlerine erişim verir.

  • SQL Server girişi. SQL Server, oturum açma girişimlerini doğrulamak için iç kimlik doğrulama yöntemlerini kullanarak parolanın hem kullanıcı adını hem de karması ana veritabanında depolar.

Uyarı

SQL Server, yalnızca kod imzalama için kullanılan sertifikalardan veya asimetrik anahtarlardan oluşturulan oturum açma bilgileri sağlar. SQL Server'a bağlanmak için kullanılamazlar.

Karma modu kimlik doğrulaması

Karma mod kimlik doğrulaması kullanmanız gerekiyorsa, SQL Server'da depolanan SQL Server oturum açma bilgilerini oluşturmanız gerekir. Ardından çalışma zamanında SQL Server kullanıcı adını ve parolasını sağlamanız gerekir.

Önemli

SQL Server, "sa" (bu "sistem yöneticisi"nin kısaltmasıdır) adında bir SQL Server oturum açma bilgisiyle yüklenir. Güçlü bir parola atamak için sa oturum açma bilgisini kullanın ve sa oturum açma bilgisini uygulamanızda kullanmayın. Oturum sa açma, tüm sunucuda geri alınamaz yönetim kimlik bilgilerine sahip sabit sunucu rolüne sysadmin eşlenir. Bir saldırganın sistem yöneticisi olarak erişim kazanması durumunda olası zararla ilgili bir sınır yoktur. Windows BUILTIN\Administrators grubunun tüm üyeleri (yerel yöneticinin grubu) varsayılan olarak rolün sysadmin üyesidir, ancak bu rolden kaldırılabilir.

Önemli

Bağlantı dizelerini kullanıcı girişinden birleştirmek, sizi bağlantı dizesi enjeksiyon saldırısına karşı savunmasız bırakabilir. Çalışma zamanında sözdizimsel olarak geçerli bağlantı dizeleri oluşturmak için SqlConnectionStringBuilder kullanın.

Dış kaynaklar

Daha fazla bilgi için aşağıdaki kaynaklara bakın.

Resource Description
Principals SQL Server'da oturum açma bilgilerini ve diğer güvenlik sorumlularını açıklar.

Sonraki Adımlar