İstemci Bağlantıları'nda hizmet asıl adı (spn) desteği
İle başlayan SQL Server 2008, hizmet asıl adları (SPN) için genişletilmiş destek karşılıklı etkinleştirmek için kimlik doğrulaması üzerinden tüm iletişim kuralları.Önceki sürümlerinde SQL Server, SPN yalnızca desteklenen için Kerberos tcp üzerinden zaman varsayılan spn SQL Server örnek Active Directory ile kayıtlı
SPN'ler hesabı hangi belirlemek için kimlik doğrulaması protokol tarafından kullanılır bir SQL Server örnek çalıştırır.Örnek hesap yapılmamışsa, Kerberos kimlik doğrulaması karşılıklı kimlik doğrulaması sağlamak için istemci ve sunucu tarafından kullanılır.Örnek Hesap bilinmiyor, yalnızca kimlik doğrulaması sağlayan, ntlm kimlik doğrulaması, istemci sunucu tarafından kullanılır.Currently, SQL Server Native Client performs the authentication lookup, deriving the SPN from the instance name and network connection properties.SQL Server instances will attempt to register SPNs on startup, or they can be registered manually.Ancak, erişim hakları yetersiz SPN'ler kaydettirmeyi deneyen hesabın varsa kayıt başarısız olur.
Etki alanı ve bilgisayar hesapları, Active Directory'de otomatik olarak kaydedilir.These can be used as SPNs, or administators can define their own SPNs.SQL Server makes secure authentication more manageable and reliable by allowing clients to directly specify the SPN to use.
Not
Bir istemci uygulama tarafından belirtilen spn yalnızca Windows NT tümleşik güvenliği ile bir bağlantı yapıldığında kullanılır.
Kerberos hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Kullanım
Aşağıdaki tablo hangi istemci uygulamaları güvenli kimlik doğrulamasısını etkinleştirebilir en genel senaryolar açıklanmaktadır.
Senaryo |
Açıklama |
---|---|
Eski bir uygulama spn belirtin. |
Bu uyumluluk senaryo önceki sürümleri için geliştirilen uygulamalar için hiçbir davranış değişikliği olacağını garanti SQL Server.Hiçbir spn belirtilirse, uygulama üzerinde oluşturulan SPN dayanır ve hangi kimlik doğrulaması yöntem olarak kullanılır, hiçbir bilgi vardır. |
Geçerli sürüm kullanarak bir istemci uygulaması SQL Server Native Client belirtir bir spn, bağlantı dizesi bir etki alanı kullanıcı veya bilgisayar hesabının, örnek özgü spn veya bir kullanıcı tanımlı dize. olarak |
The ServerSPN keyword can be used in a provider, initialization, or connection string to do the following:
The FailoverPartnerSPN keyword can be used to specify the SPN for the failover partner server.Hesap ve Active Directory anahtar değerleri aralık asıl sunucu için belirttiğiniz değerleri aynıdır. |
Bir odbc uygulaması olarak asıl sunucu veya yerine çalışma ortak sunucu için bir bağlantı öznitelik spn belirtir. |
Bağlantı öznitelik SQL_COPT_SS_SERVER_SPN bağlantı spn belirtmek için kullanılabilir asıl sunucu. Bağlantı öznitelik SQL_COPT_SS_FAILOVER_PARTNER_SPN için yerine çalışma ortak sunucu spn belirtmek için kullanılabilir |
ole db uygulama olarak bir veri kaynak başlatma özellik asıl sunucu veya yerine çalışma ortak sunucu için bir spn belirtir. |
Connection özelliği SSPROP_INIT_SERVER_SPN , DBPROPSET_SQLSERVERDBINIT özellik küme için bir bağlantı spn belirtmek için kullanılabilir Connection özellik SSPROP_INIT_FAILOVER_PARTNER_SPN , DBPROPSET_SQLSERVERDBINIT için yerine çalışma ortak sunucu spn belirtmek için kullanılabilir |
Bir kullanıcı bir sunucu veya yerine çalışma ortak sunucu için bir spn bir odbc veri kaynak adı (dsn) belirtir. |
spn, içinde bir odbc dsn dsn Kurulum iletişim kutuları aracılığıyla belirtilebilir. |
Kullanıcı bir ole db sunucu veya yerine çalışma ortak sunucu için bir spn belirtir Data Link veya Login iletişim kutusu. |
spn olarak belirtilen bir Data Link veya Login iletişim kutusu.The Login dialog box can be used with either ODBC or OLE DB. |
Bir odbc uygulaması bağlantı kurmak için kullanılan kimlik doğrulaması yöntem belirler. |
Bağlantı başarıyla açıldı, bir uygulama bağlantı öznitelik sorgulayabilir SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD hangi kimlik doğrulamasısını belirlemek için yöntem kullanıldı.Değerler dahil, ancak bunlarla sınırlı değildir NTLM ve Kerberos. |
ole db uygulama bağlantı kurmak için kullanılan kimlik doğrulaması yöntem belirler. |
Bağlantı başarıyla açıldı, bir uygulama bağlantı sorgulayabilir özellik SSPROP_AUTHENTICATION_METHOD , DBPROPSET_SQLSERVERDATASOURCEINFO özellik hangi kimlik doğrulaması yönteminin kullanıldığını belirlemesini küme.Değerler dahil, ancak bunlarla sınırlı değildir NTLM ve Kerberos. |
Yük devretme
SPN'ler yük devretme önbellekte saklanır ve bu nedenle arasındaki bağlantıları geçirilemez.SPN'ler kullanılan tüm bağlantı girişimlerini patron ve connection ile belirtilen zaman ortak üzerinde dize veya bağlantı öznitelikleri.
Bağlantı havuzu oluşturma
Uygulamalar, ancak tüm bağlantı dizelerinde SPN'ler belirtme havuzu parçalanma için katkıda bulunabilir bilmeniz gerekir.
Uygulamalar programlı olarak belirtebilirsiniz SPN olarak bağlantı belirtmek yerine bağlantı özniteliklerini, dize anahtar sözcükler.Bu, bağlantı havuzu parçalanma yönetmenize yardımcı olabilir.
Uygulamaları farkında olması gereken bu SPN'ler Bağlantısı'nda dizes karşılık gelen bağlantı özniteliklerini, ancak bağlantı ayarlayarak geçersiz kılınmış dizes bağlantı havuzu tarafından kullanılan bağlantı kullanacak dize amaçları havuzu için değerleri.
Alt düzey Server davranışı
Yeni bağlantı davranışını istemci tarafından uygulanır; Bu nedenle, belirli bir sürüm için değil SQL Server.
Bağlantılı sunucuları ve temsilci seçme
Bağlantılı sunucular oluşturulduğunda, @provstr parametresi sp_addlinkedserver server ve yerine çalışma ortak SPN belirtmek için kullanılır.Bunu yapmanın faydaları istemci bağlantı dizelerinde SPN'ler belirtmeyi aynıdır: Bu basit ve Kerberos kimlik doğrulaması kullanan bağlantılar kurmak için daha güvenilir olur.
Bağlantılı sunucular ile temsilci seçme Kerberos kimlik doğrulaması gerektirir.
Gereksinimleri bakın listesi için Temsilci atama için bağlı sunucuları yapılandırma.
Uygulamalar tarafından belirtilen SPN yönetimi yönlerini
Seçerken mi (aracılığıyla bağlantı dizeleri) bir uygulama veya program aracılığıyla SPN'ler belirtmek bağlantı özellikleri aracılığıyla (yerine üzerinde defalt sağlayıcı güvenmek SPN'ler oluşturulan), aşağıdaki faktörleri dikkate alın:
Güvenlik: Belirtilen spn korunan bilgileri açıklayabilir mu?
Güvenilirlik: Varsayılan SPN'ler, hizmet hesabı olarak kullanımını etkinleştirmek için SQL Server örnek çalıştırır kdc. Active Directory güncelleştirmek için yeterli ayrıcalıklara sahip olması gerekir
Saydamlık: rahatlık ve konumu Nasıl bir uygulama SPN etkilenecektir, veritabanını farklı bir taşırsa, SQL Server örnek?Veritabanı kullanıyorsanız, bu asıl sunucu ve onun yerine çalışma ortak için geçerlidir yansıtma.Sunucu değişikliği SPN'ler değiştirilmesi gerektiği anlamına gelir, bu etkiler uygulamaları nasıl olur? Herhangi bir değişiklik, yönetilecektir?
spn belirtme
spn, iletişim kutularında ve kodu belirtebilirsiniz.Bu bölümde, bir spn nasıl belirleyeceğiniz anlatılmaktadır.
Bir SPN uzunluğu en fazla 260 karakter olabilir.
SPN'ler bağlantısında kullandığınız sözdizimi dize veya bağlantı öznitelikleri aşağıdaki gibidir:
Sözdizimi |
Açıklama |
---|---|
MSSQLSvc /fqdn |
Sağlayıcı tarafından oluşturulan varsayılan spn tcp dışında bir protokol kullanıldığında, varsayılan örnek için. fqdn bir tam etki alanı adıdır. |
MSSQLSvc /fqdn:port |
Sağlayıcı tarafından oluşturulan varsayılan spn tcp kullanılması. port bir tcp bağlantı noktası numarasıdır. |
MSSQLSvc /fqdn:InstanceName |
Sağlayıcı tarafından oluşturulan varsayılan spn tcp dışında bir protokol kullanıldığında, adlandırılmış örnek için. InstanceNameis a SQL Server örnek name. |
ANA BİLGİSAYAR /fqdn ANA BİLGİSAYAR /MachineName |
Windows tarafından otomatik olarak kaydedilen yerleşik bilgisayar hesapları eşleştirir spn. |
Username@Domain |
Bir etki alanı hesabı doğrudan belirtimi. Username bir Windows kullanıcı hesabı adıdır. Domain bir Windows etki alanı adı veya tam etki alanı adıdır. |
MachineName$@Domain |
Bir bilgisayar hesabı doğrudan belirtimi. (Kerberos almak için local system veya network SERVICE hesabı altında bağlandığınız sunucunun çalışıp çalışmadığını kimlik doğrulaması, ServerSPN can be in the MachineName$@Domain format.) |
KDCKey/MachineName |
Bir kullanıcı tarafından belirtilen spn. KDCKey alfasayısal bir ise dize bir kdc anahtar kurallarına uyuyor. |
SPN'ler destekleme odbc ve ole db sözdizimi
Sözdizimi özgü bilgiler için aşağıdaki konulara bakın:
Bu özellik gösteren örnek uygulamalar hakkında daha fazla bilgi için bkz: SQL Server Örnekleri ve Örnek Veritabanlarının Yüklenmesiyle İlgili Önemli Noktalar.