Istemci bağlantıları'nda hizmet asıl adı (spn) desteği

İle başlayan SQL Server 2008, hizmet asıl adları (SPN) için destek tüm protokolleri karşılıklı kimlik doğrulamayı etkinleştirmek için genişletilmiş. Önceki sürümlerinde SQL Server, SPN sadece desteklenen için Kerberos'u tcp üzerinden zaman varsayılan spn SQL Serverörneği kayıtlı Active Directory ile.

SPN, hangi hesap belirlemek için kimlik doğrulama protokolü kullanılır bir SQL Serverörneğini çalıştırır. Örnek hesap biliniyorsa, Kerberos kimlik doğrulama karşılıklı kimlik doğrulama sağlamak için istemci ve sunucu tarafından kullanılır. Örnek hesap bilinmiyor, yalnızca sunucu istemcinin kimlik doğrulama sağlar, ntlm kimlik doğrulaması kullanılır. Şu anda, SQL Serveryerel istemci spn örneğinin adını ve ağ bağlantı özelliklerinden ya kimlik arama yapar. SQL Serverörneklerinin SPN kaydı başlangıçta dener veya el ile kaydedilebilir. Ancak, yetersiz erişim hakları SPN'ler kaydetmeye çalıştığı hesabın varsa kayıt başarısız olur.

Etki alanı ve bilgisayar hesapları, Active Directory'de otomatik olarak kaydedilir. Bu SPN kullanılabilir veya Update'in kendi SPN'ler tanımlayabilirsiniz. SQL Serveristemcilerin doğrudan kullanmak için spn belirtmek için izin vererek daha yönetilebilir ve güvenilir kimlik doğrulaması güvenli hale getirir.

[!NOT]

Bir istemci uygulama tarafından belirtilen spn yalnızca Windows tümleşik güvenlik 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 tabloda, hangi istemci uygulamaları güvenli kimlik doğrulamasını etkinleştirebilirsiniz en yaygın senaryolar açıklanır.

Senaryo

Açıklama

Eski uygulama spn belirtin.

Bu uyumluluk senaryo, önceki sürümleri için geliştirilen uygulamaların hiçbir davranış değişikliği olacak garanti SQL Server. Hiçbir spn belirtilirse, uygulama üzerinde oluşturulan SPN dayandığı ve hiçbir bilgi kimlik doğrulama yöntemi kullanılır.

Geçerli sürümünü kullanarak bir istemci uygulaması SQL Serveryerel istemci bağlantı dizesi bir etki alanı kullanıcı veya bilgisayar hesabının, bir örneği özgü spn veya kullanıcı tanımlı bir dize bir spn belirtir.

ServerSPNAnahtar sağlayıcı, başlatma veya bağlantı dizesinde aşağıdakileri yapmak için kullanılabilir:

  • Tarafından kullanılan hesabı belirtmek SQL Serverörneği için bir bağlantı. Bu, Kerberos kimlik doğrulamasını erişimi basitleştirir. Bir Kerberos Anahtar Dağıtım Merkezi (kdc) bulunduğundan ve doğru hesap belirtilirse, Kerberos kimlik doğrulamasını ntlm kullanılacak daha yüksektir. kdc, genellikle etki alanı denetleyicisiyle aynı bilgisayarda bulunur.

  • Hizmet hesabını aramak için bir spn belirtmek SQL Serverörneği. İçin her SQL Serverörneği, bu amaçla kullanılabilecek SPN'ler oluşturulan varsayılan iki. Bu anahtarlar Active Directory'de, ancak bu durum Kerberos kimlik doğrulaması garanti edilmeyen şekilde bulunması garanti edilmez.

  • Hizmet hesabını aramak için kullanılan bir spn belirtmek SQL Serverörneği. Bu hizmet hesabına eşlendiği herhangi bir kullanıcı tanımlı bir dize olabilir. Bu durumda, anahtar elle kdc kaydedilmiş olması gerekir ve kurallar için kullanıcı tanımlı bir spn karşılamak gerekir.

FailoverPartnerSPNAnahtar kelime için yerine çalışma ortağı sunucu spn belirtmek için kullanılabilir. Hesap ve Active Directory anahtar değerleri aralığı asıl sunucu için belirttiğiniz değerleri ile aynıdır.

Bir odbc uygulaması olarak bir bağlantı özniteliği asıl sunucu veya yerine çalışma ortağı sunucu için bir spn belirtir.

Bağlantı özniteliği SQL_COPT_SS_SERVER_SPNasıl sunucu bağlantısı spn belirtmek için kullanılır.

Bağlantı özniteliği SQL_COPT_SS_FAILOVER_PARTNER_SPNiçin yerine çalışma ortağı sunucu spn belirtmek için kullanılır.

ole db uygulama olarak bir veri kaynağı başlatma özelliği olarak asıl sunucu veya yerine çalışma ortağı sunucu için bir spn belirtir.

Connection özelliği SSPROP_INIT_SERVER_SPNde DBPROPSET_SQLSERVERDBINITözellik kümesi bağlantı spn belirtmek için kullanılabilir.

Connection özelliği SSPROP_INIT_FAILOVER_PARTNER_SPNde DBPROPSET_SQLSERVERDBINITiçin yerine çalışma ortağı sunucu spn belirtmek için kullanılır.

Bir kullanıcı, bir odbc veri kaynağı adı (dsn) için bir sunucu veya yerine çalışma ortağı sunucu için bir spn belirtir.

spn bir odbc dsn dsn kurulum iletişim kutuları aracılığıyla belirtilebilir.

Kullanıcı bir sunucu veya yerine çalışma ortağı sunucu için bir spn belirtir bir ole db Data Link veya giriş iletişim kutusu.

spn belirtilebilir bir Data Link veya giriş iletişim kutusu. Giriş odbc veya ole db ile iletişim kutusunda kullanılabilir.

Bir odbc uygulaması bağlantı kurmak için kullanılan kimlik doğrulama yöntemini belirler.

Bağlantı başarıyla açıldı, bir uygulama bağlantı özniteliği sorgulayabilir SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHODkullanılan kimlik doğrulama yöntemini belirlemek için. Değerleri içerir, ancak bunlarla sınırlı olmayan NTLMve Kerberos.

ole db uygulama bağlantı kurmak için kullanılan kimlik doğrulama yöntemini belirler.

Bağlantı başarıyla açıldı, bir uygulama bağlantı özelliği sorgulayabilir SSPROP_AUTHENTICATION_METHODde DBPROPSET_SQLSERVERDATASOURCEINFOözelliğini ayarlayın kullanılan kimlik doğrulama yöntemini belirlemek için. Değerleri içerir, ancak bunlarla sınırlı olmayan NTLMve Kerberos.

Yerine çalışma

SPN'ler yük devretme önbellekte depolanmaz ve bu nedenle arasındaki bağlantıları geçirilemez. SPN, tüm bağlantı girişimlerini asıl adı ve bağlantı dizesi veya bağlantı özniteliklerini belirtilen ortak kullanılacak.

Bağlantı havuzu oluşturma

Uygulamalar, ancak tüm bağlantı dizelerinde SPN'ler belirtme havuzu parçalanma katkıda bilmelidir.

Uygulamalar program aracılığıyla bağlantı dizesi anahtar sözcükler yerine bağlantı özniteliklerini SPN'ler belirtebilirsiniz. Bu bağlantı havuzu parçalanma yönetmenize yardımcı olabilir.

Uygulamalar, bağlantı dizelerinde SPN'ler karşılık gelen bağlantı özniteliklerini ayarlama geçersiz kılınabilir, ancak bağlantı havuzu tarafından kullanılan bağlantı dizeleri amaçları havuzu için bağlantı dizesi değerlerini kullanacak bilmelidir.

Aşağı düzey Server davranışı

Yeni bağlantı davranışı 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, @provstrparametresi sp_addlinkedserver sunucu ve yerine çalışma ortağı SPN belirtmek için kullanılır. Bunu yapmanın faydaları belirtmeyi SPN'ler istemci bağlantı dizeleri ile aynıdır: daha basit ve daha güvenilir Kerberos kimlik doğrulaması kullanan bağlantılar kurmak için.

Bağlantılı sunucular ile temsilci seçme Kerberos kimlik doğrulaması gerektirir.

Gereksinimler bkz: listesi için Configuring Linked Servers for Delegation.

Uygulamalar tarafından belirtilen SPN yönetimi yönleri

(Aracılığıyla bağlantı dizeleri) bir uygulama veya program aracılığıyla SPN'ler belirtmek isteyip seçerken bağlantı özellikleri (yerine defalt sağlayıcı güvenmek SPN'ler oluşturulan), aşağıdaki faktörleri dikkate alın:

  • Güvenlik: belirtilen spn korunan bilgileri ifşa?

  • Güvenilirlik: varsayılan SPN kullanımını etkinleştirmek için hizmet hesabı içinde SQL Serverörneğinin çalışacağı kdc üzerinde Active Directory güncelleştirmek için yeterli ayrıcalıklara sahip olmalısınız.

  • Kolaylık ve konum şeffaflık: veritabanını farklı bir taşırsa, nasıl bir uygulama SPN olacak etkilenen SQL Serverörneği? Veritabanı yansıtma kullanıyorsanız bu asıl sunucu hem de onun yerine çalışma ortağı için geçerlidir. Sunucu değişikliği SPN'ler değiştirilmesi gerekir anlamına gelir, bu etkiler uygulamaları nasıl olacak? Değişiklikleri yönetilecek?

spn belirtme

spn, iletişim kutularında ve kodu belirtebilirsiniz. Bu bölümde, bir spn belirtin nasıl anlatılmaktadır.

İçin bir spn uzunluğu en fazla 260 karakter olabilir.

Bağlantı dizesi veya bağlantı özniteliklerini SPN'ler kullanmak sözdizimi 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 örneği için.

fqdnbir tam etki alanı adıdır.

MSSQLSvc /fqdn:port

Sağlayıcı tarafından oluşturulan varsayılan spn tcp kullanıldığında.

portbir 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ış bir örneği için.

InstanceNameolan bir SQL Serverörnek adı.

ANA /fqdn

ANA /MachineName

Windows tarafından otomatik olarak kaydedilen dahili bilgisayar hesapları eşleştirir spn.

Username@Domain

Bir etki alanı hesabı doğrudan belirtimi.

Usernamebir Windows kullanıcı hesabı adıdır.

Domainbir Windows etki alanı adı veya tam etki alanı adı değil.

MachineName$@Domain

Bilgisayar hesabı doğrudan belirtimi.

(Bağlandığınız sunucuda Kerberos kimlik doğrulaması almak için local system veya network SERVICE hesapları altında çalışıyorsa, ServerSPNolabilir MachineName$@ Domain biçimi.)

KDCKey/MachineName

Kullanıcı tarafından belirtilen spn.

KDCKeykdc anahtarı kurallara uyan bir alfasayısal dizedir.

SPN'ler destekleme odbc ve ole db sözdizimi

Sözdizimi özgü bilgi için aşağıdaki konulara bakın:

Bu özellik gösteren örnek uygulamalar hakkında daha fazla bilgi için bkz: Considerations for Installing SQL Server Samples and Sample Databases.

Ayrıca bkz.

Diğer Kaynaklar

SQL Server yerel istemci özellikleri