Aracılığıyla paylaş


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

  • Tarafından kullanılan hesabı belirtmek SQL Server örnek için bir bağlantı.Bu Kerberos erişimi basitleştirir kimlik doğrulaması.Bir Kerberos Anahtar Dağıtım Merkezi (kdc) varsa ve doğru hesap belirtilirse, Kerberos kimlik doğrulaması ntlm kullanılması daha yüksektir.kdc, genellikle etki alanı denetleyicisi ile aynı bilgisayar üzerinde yer alır.

  • Hizmet hesabı için aramak için bir spn belirtmek SQL Server örnek.İçin her SQL Server örnek, iki varsayılan SPN'ler oluşturulur, kullanılabilir için bu amaç.Bu anahtarlar Active Directory'de, ancak, bu durumda Kerberos kimlik doğrulaması garanti edilir şekilde bulunması garanti edilmez.

  • Hizmet hesabı için aramak için kullanılan bir spn belirtmek SQL Server örnek.Bu hizmet hesabına eşlendiği herhangi kullanıcı tanımlı bir dize olabilir.Bu durum, anahtar kdc el ile kaydedilmiş olması gerekir ve kullanıcı tanımlı bir spn için kurallara uygun olmalıdır.

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.

Ayrıca bkz.

Diğer Kaynaklar