Share via


Yerel XML Web hizmetlerini kullanmaya yönelik en iyi uygulamalar

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Bu konu planlamak ve yerel XML Web Hizmetleri'nde değerlendirmek göz önüne almanız gereken bazı en iyi yöntemler sunar. SQL Server 2005 veya SQL Server 2008 iş çözümleriniz için kullanımda. Bu öneriler, aşağıdaki yollarla yardımcı olmak için tasarlanmıştır:

  • Yüklemenizin güvenliğini SQL Server Yerel XML Web Hizmetleri'nde kullandığınızda SQL Server 2005 veya SQL Server 2008.

  • Yüklemenizin performansının iyileştirilmesine yardımcı olmak SQL Server Kullanım Kuralları'nı sunarak. Bu yönergeler olup uygulamanız etkin yerel XML Web Hizmetleri'ni kullanarak sunulan üzerinde karar vermenizde yardımcı olabilir.

En iyi güvenlik yöntemleri

Yerel XML Web Hizmetleri'ni dağıtırken aşağıdaki güvenlik en iyi yöntem önerileri göz önünde bulundurun:

  • Kerberos kimlik doğrulaması'nı kullanın.

  • Sınır bitiş noktası izinleri belirli kullanıcılara veya gruplara bağlanır.

  • gizli veri değişimi için Güvenli Yuva Katmanı'nı kullanın.

  • Kullanımı SQL Server güvenlik duvarı arkasındaysa.

  • Sunucuda Windows Konuk hesabını devre dışı olduğunu doğrulayın.

  • Gerektiğinde denetim ve güncelleştirme bitiş durumu.

  • Olabildiğince güvenli bitiş noktası varsayılan ayarları kullanın.

Kerberos kimlik doğrulaması kullan

Kullandığınızda (Transact-SQL) son NOKTA oluşturun bitiş noktalarını oluşturmak için , her iki kimlik doğrulaması seçin ya da kimlik doğrulaması KERBEROS = TÜMLEŞIK bir son noktada kullanılan kimlik doğrulaması türü olarak kullanılabilmesi için Kerberos altında Windows tümleşik güvenliği etkinleştirmek için =. Ilk seçeneği, yalnızca Kerberos, son nokta kimlik doğrulaması modu izin verir.NTLM hem de Kerberos desteklemek son nokta ikinci seçeneği verir kimlik doğrulaması.

Kimlik doğrulama için Kerberos protokol, karşılıklı kimlik doğrulaması gibi yerleşik özelliklerini kullanarak gelişmiş güvenlik sağlar.Yani, her iki kimliğini ve istemciler tarafından kimlik doğrulaması yapılır.

Kerberos kimlik doğrulamasını kullandığınızda SQL Server bir hizmet asıl adı (SPN), çalıştırıyor olmanız bir hesap ile ilişkilendirmeniz gerekir. Daha fazla bilgi için bkz:Kerberos bir hizmet asıl adı, HTTP.sys kullanarak kaydediliyor.

Sınır Endpoint belirli kullanıcılar veya gruplar için izinler Bağlan

Dağıtımınız için gerekli olan bitiş noktası oluşturduktan sonra bunları kullanarak bitiş bağlantı izinlerini ayarlayarak güvenli Transact-SQL GRANT CONNECT ve ALTER ON bitiş NOKTASı deyimleri. Bağlantı izinlerini atamak, belirgin ve yalnızca belirli kullanıcılara veya bitiş noktası erişmek için rezerve edilen belirli bir grup için izin verin. SQL Server.

Genellikle, yalnızca son noktalar için bağlanmak tek tek kullanıcılara izin veren yetkileri sınırlamalısınız.Erişim verme Ortak rolü önerilir.Bunun yerine, izinler modelini tam olarak anladığınızdan emin önerilir SQL Server. Bu model dikkatli denetim noktası erişmek için kullanabilirsiniz.

Important noteImportant Note:

The public role is a special veritabanı rolü to which every SQL Server user belongs. Bu rol, veritabanına erişmek herhangi bir kullanıcı için varsayılan erişim izinlerini içerir.Bu veritabanı rolü bir yerleşik varsayılan rolünün olduğundan SQL Server tüm kullanıcılara (Windows izinlerine Herkes veya Authenticated Users gibi), erişim izinlerini yapılandırırken dikkatli kullanılmalıdır vermek için bir yol olarak tanımlanmasını ve SQL Server.

Daha fazla bilgi için bkz:Endpoint IZINLERI (Transact-SQL).

Exchange kritik verileri için Güvenli Yuva Katmanı'nı kullanın

Güvenli Yuva Katmanı (SSL) protokolü güvenli bir TCP/IP yuvası (IP adresi ve TCP bağlantı noktası numarası bileşimiyle) arabirim şifreleme ve şifre çözme veri için destek sağlar.Için SQL Server SSL şifrelemesini sağlamak üzere bitiş noktası, sertifika ilk yapılandırmanız gerekir.

Varsayılan SSL bağlantı noktası 443'ın sertifikası için kaydolduğunuzda, aynı sertifika ayrıca başka uygulamalar tarafından paylaşılması, göz önünde bulundurun.Örneğin, ınternet ınformation Services (IIS) aynı bağlantı noktası, SSL trafiğini, bu durumda barındıran yapılandırma IIS kullanıcıları etkileyebilir.Bu, sertifikaları ve SSL bağlantı noktası paylaşma nedeniyle güvenlik üzerinde etkileri olabilir.

Daha fazla bilgi için bkz:SSL kullanmak için sertifika yapılandırma.

Bir güvenlik duvarının arkasında bir SQL Server'ı kullanın

En olası güvenlik için yalnızca yerel XML Web Hizmetleri güvenlik duvarının arkasında kullanmalısınız.HTTP erişim sağlamak için kullandığınız herhangi bir TCP bağlantı noktası numarası güvenlik duvarı tarafından korunan bir bitiş noktası ayarladığınızda emin olun.Yüklemesini sağlar. SQL Server doğrudan ınternet istemcileri tarafından erişilen ve güvenlik duvarı tarafından korunan bir önerilen ağ yapılandırması değildir. Daha fazla bilgi için bkz:SQL Server yükleme için güvenlik konuları.

Sunucuda Windows Konuk hesabını devre dışı doğrulayın.

Konuk hesabının sürümlerinin bir çoğuyla içinde sağlanan bir yerleşik kullanıcı hesabıdır Microsoft Windows. Içinde Windows Server 2003, varsayılan olarak devre dışıdır. Için Windows 2000 Server ve Windows NT Server 4.0, varsayılan olarak etkin durumdadır.

Bitiş noktaları kullanıldığında, yüzey saldırıların riskini azaltmak için , Konuk hesabı, sunucuda devre dışı bırakıldığından emin olun SQL Server çalışıyor. Daha fazla bilgi için Windows Yardımı'nda "devre dışı bırakmak için veya yerel kullanıcı hesabını etkinleştirmek için" konusuna bakın.

Denetim ve güncelleştirme Endpoint gerekli olarak durumu

Son nokta kullanarak oluşturduğunuzda (Transact-SQL) son NOKTA oluşturun, açıkça bu DURUM belirterek başlattığınız sürece varsayılan durumu durduruldu BAŞLATıLDı =. Varolan bir son nokta durumunu denetlemek için kullanın. ALTER bitiş NOKTASı (Transact-SQL) DURDURULDU, BAŞLATıLDı veya DISABLED belirtmek için .

Örneğin, başlatmak veya önceden oluşturulmuş bir son nokta durdurmak için aşağıdaki ifadeleri kullanın... sql_endpoint:

ALTER ENDPOINT sql_endpoint STATE=STARTED

ALTER ENDPOINT sql_endpoint STATE=STOPPED

Ayrıca bitiş noktaları devre dışı veya yok öngörülebilir kullanmak için bunları varsa, son nokta veya son nokta için belirli Web yöntemleri bırak gerekir.

Aşağıdaki örnek, bir bitiş noktası'nı devre dışı bırakılması gösterir:

ALTER ENDPOINT sql_endpoint STATE=DISABLED

Not

Son nokta devre dışı bırakıldıktan sonra bu kadar yeniden SQL Server (MSSQLServer) hizmet yeniden başlatılır.

Son noktayı Web yöntem silmek için aşağıdaki biçime benzer bir deyim kullanın:

ALTER ENDPOINT sql_endpoint

FOR SOAP

(

DROP WEBMETHOD 'SayHello'

)

Son nokta bırakmak için kullanın. SON NOKTA İÇİN BIRAKIN.

Kullanılabilir olduğunda, güvenli Endpoint varsayılanları kullanın.

Oluşturduğunuzda veya bir son nokta kullanarak değiştirin. SON NOKTA OLUŞTURUN or BİTİŞ NOKTASI DEĞİŞTİRME, aşağıdaki seçenek tersi açıkça küme sürece varsayılan değerleri, uygulanır:

  • TOPLU İŞLEMLERİ = disabled

    Transact-SQLToplu iş modu, son nokta için devre dışı bırakılır.

  • login_type windows =

    Yalnızca Windows kimlik doğrulaması, son nokta kullanıcıları için izin verilir.

Erişim veya dağıtmanız ve uygulama dağıtımınızda gerektiren işlevleri desteklemek için bu ayarları değiştirmeniz gereken sürece, mümkünse bu seçenekler için varsayılan kullanmanızı öneririz.

Bir şifreleme algoritmasını seçme hakkında bilgi için bkz: Bir şifreleme algoritması seçme.

Performansı en iyi yöntemler

Aşağıdaki performansını en iyi yöntem önerileri göz önünde bulundurun olduğunda, dağıtmak yerel XML Web Hizmetleri:

  • dağıtmak uygun senaryolarda.

  • SOAP tabanlı çözümler planlarken, ek sunucu kaynakları etmen.

  • Gereksinimlerinize uygun WSDL seçeneğini yapılandırın.

Uygun senaryolarını Dağıt

Yerel XML Web Hizmetleri aşağıdaki gereksinimleriyle senaryoları için uygundur:

  • Uygulamanıza döndürür veya XML verilerini kullanır.

  • Uygulamanız yoğun olarak saklı yordamlar için iş mantığı kullanır.

  • Iş çözümünüzün bir parçası olarak tümleþtirmek istediğiniz bir SQL Server-Web hizmeti ve diğer Web hizmeti uygulamaları, bir hizmet yönelimli Architecture (SOA) ulaşmalarında uygulamayla barındırılan.

  • Web hizmetlerini aynı sunucuda birlikte dağıtmaya yönelik SQLXML mid-tier çözümü için daha iyi gerçekleştirme değiştirme için aranıyor.

  • Oluşturmak ve bir intranet Web sitesi için statik bir rapor yayımlamak istediğiniz yeri zengin özelliği küme ve ek giderleri SQL Server 2005 Reporting Services (SSRS) veya, gereksinimlerinizi daha sonra aşabilir.

Benzer şekilde, aşağıdaki gereksinimleri olan senaryolarda yerel XML Web Hizmetleri'ni kullanma önerilmez:

  • Your application is used to insert or retrieve binary large object (BLOB) data, such as large binaryimage, or text values.

  • Gerçek-CVE-2006-uygulamanızı gerektiren saat işlemler'i ve kritik önemde yanıt saat s.

  • Kullanmakta olduğunuz SQL Server TPC Kıyaslama C (TPC-C) uygulamaları gibi işlemci yoğun diğer uygulamalarla birlikte.

SOAP tabanlı çözümler için planlama yaparken ek sunucu kaynakları çarpanı

Amaçlar için kapasite planlama, tablo verisi akışı (TDS) protokol farklı olarak, uygulama tarafından SOAP performans değişeceğini unutmayın ve ek sunucu kaynak ek yük gerektirebilir.Örneğin, test etme SQL Server 2005 gerçekleştirdiği SQL Server ürün ekibi senaryolarda, büyük bir XML belgeleri, SOAP tabanlı erişim performansı yüzde 20 ile 30 arasında TDS tabanlı erişim uzun sürdü döndürülmedi.

Bilgisayarınızı gereksinimleri için uygun WSDL seçeneğini yapılandırın.

Yerel XML Web Hizmetleri dağıtmadan önce tüm istemci ve çözümünüz için gerekli olan bir işletim sistemi destek'i kullanmak için uygun WSDL seçeneği belirlemeniz gerekir.

Türdeş olmayan ortamlarda Windows dışındaki işletim sistemlerinde, Web hizmet istemcileri dahil içinde en fazla birlikte çalışabilirlik için kullanmak Basit bir WSDL.For Windows-only environments in which you are developing with Microsoft Visual Studio 2005, you can use the default WSDL to access the rich type support included in Visual Studio 2005.

Bazen, birlikte çalışabilirlik için özelleştirilmiş bir WSDL SOAP istemcilerinin üçüncü taraf gereksinim duyabilir.Daha fazla bilgi için bkz:Uygulama özel WSDL desteği.