Aracılığıyla paylaş


Yerel xml Web hizmetlerini kullanmaya yönelik en iyi yöntemler

Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.

Bu konuda ne zaman planlama ve değerlendirme de yerel xml Web Hizmetleri göz önüne almanız gereken bazı en iyi uygulamaları sunan SQL Server kullanılmak üzere iş çözümleri.Bu öneriler aşağıdaki yollarla yardımcı olmak amacıyla tasarlanmıştır:

  • Kurulumunuzun güvenliğini SQL Server kullandığınızda yerel xml Web Hizmetleri.

  • Kurulumunuzun performansını artırmaya yardımcı SQL Server tarafından sunan Kullanım Kılavuzu.Bu yönergeler olup uygulama etkili bir şekilde yerel xml Web Hizmetleri kullanarak sunulan üzerinde karar vermenize yardımcı olabilir.

En iyi güvenlik yöntemleri

Aşağıdaki güvenlik en iyi yöntemi önerilerini dikkate zaman, dağıtmak yerel xml Web Hizmetleri:

  • Kerberos kimlik doğrulaması 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.

  • Use SQL Server arkasında bir güvenlik duvarı.

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

  • Gerektiği gibi denetim ve güncelleştirme bitiş noktası durumu.

  • Olabildiğince güvenli endpoint varsayılanları kullanın.

Kerberos kimlik doğrulaması kullanmak

Kullandığınızda, Bitiş noktası (Transact-sql) oluştur bitiş noktaları oluşturmak için ya da kimlik doğrulaması seçin ya da kerberos kimlik doğrulaması = TÜMLEŞİK bir son nokta. üzerinde kullanılan kimlik doğrulama türü olarak kullanılacak Kerberos altında Windows tümleşik güvenliği etkinleştirmek için =Birinci seçenek izin yalnızca Kerberos son nokta kimlik doğrulaması modu olarak.İkinci seçenek noktayı ntlm hem Kerberos desteği veren kimlik doğrulaması.

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

Kerberos kimlik doğrulaması kullanırken, SQL Server onu çalıştırıyor üzerinde hesabı olan bir hizmet asıl adı (spn) ilişkilendirmelisiniz.Daha fazla bilgi için bkz: Http.sys kullanarak Kerberos hizmet asıl adlarını kaydetme.

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

Dağıtım için gerekli olan bitiş noktaları oluşturduktan sonra bunları kullanarak bitiş noktası bağlantı izinlerini ayarlayarak güvenli Transact-SQL deyimleri, grant connect ve on alter bitiş noktası.Bağlantı İzinleri atarken belirli ve yalnızca belirli kullanıcılara veya bitiş noktası erişim için ayrılmış özel bir grup için izni SQL Server.

Genellikle, yalnızca uç bağlanmak tek tek kullanıcılara izin vermek için izinleri sınırlamanız gerekir.Erişim ortak rolü önerilir.Bunun yerine, izinleri modeli için tam olarak anladığınızdan emin öneririz SQL Server.Bu model akıllıca bitiş noktası erişim denetimi için kullanabilirsiniz.

Önemli notÖnemli

The public role is a special database role to which every SQL Server user belongs.Bu rol, veritabanına erişebilen herhangi bir kullanıcı için varsayılan erişim izinlerini içerir.Yerleşik varsayılan rol, bu veritabanı rolü olduğu için SQL Server biçimde yapılandırdığınızda izinleri üzerinde dikkatli kullanılmalıdır, (benzer Herkes veya Authenticated Users Windows izinleri), tüm kullanıcıların erişimine izin vermek için bir yol olarak gören ve SQL Server.

Daha fazla bilgi için bkz: Bitiş noktası izinleri (Transact-sql).

Önemli veri değişimi için Güvenli Yuva Katmanı'nı kullanma

Güvenli Yuva Katmanı (ssl) protokol güvenli bir TCP/IP yuvası (IP adresi ve tcp bağlantı noktası numarası birleşimi) arabirim üzerinden hem şifreleme hem de şifre çözme veri için destek sağlar.İçin SQL Server ssl şifreleme sağlamak için bitiş noktaları önce sertifika. yapılandırmalısınız

443 Varsayılan ssl bağlantı noktası için bir sertifika kayıt yaptırdığınızda, aynı sertifikanın ayrıca başka uygulamalar tarafından paylaşılan olabilir olduğunu göz önünde bulundurun.Örneğin, Internet Information Services (IIS), aynı bağlantı noktasında ssl trafiğini barındıran durum bu yapılandırma IIS kullanıcıları etkileyebilir.Bu, sertifikaları ve ssl bağlantı noktası Paylaşımı nedeniyle güvenlik üzerinde etkileri olabilir.

Daha fazla bilgi için bkz: ssl tarafından kullanım için sertifika yapılandırma.

sql Server güvenlik duvarı arkasında kullanın

Olası en iyi güvenlik için yalnızca yerel xml Web Hizmetleri güvenlik duvarının arkasında kullanmalısınız.Emin olun o zaman, küme http erişim sağlamak için kullandığınız herhangi bir tcp bağlantı noktası numaraları güvenlik duvarı tarafından korunduğundan emin bitiş noktaları kurmak.Yüklemesini sağlayarak SQL Server doğrudan erişilen Internet istemcileri tarafından ve bir güvenlik duvarı tarafından koruma sağlamaktır değil bir önerilen ağ yapılandırma.Daha fazla bilgi için bkz: Bir sql Server yüklemesi için güvenlik konuları.

Sunucuda Windows Guest hesabını devre dışı doğrulayın

Konuk hesabı'nın çoğu sürümünde sağlanan yerleşik kullanıcı hesabı olan Microsoft Windows.De Windows Server 2003, onu olarak devre dışıdır varsayılan.İçin Windows 2000 Server ve Windows NT Server 4.0, varsayılan olarak etkindir

Bitiş noktaları kullanıldığında yüzey saldırıları riskini azaltmak için Konuk hesabı sunucuyu dışıdır doğrulamalısınız SQL Server çalışmaktadır.Daha fazla bilgi için "devre dışı bırakın veya bir yerel kullanıcı hesabı etkinleştirmek için" konusuna bakın. Windows Yardımı'nda.

Denetim ve bitiş noktası gerektiği gibi durumu güncelleştirme

Oluşturduğunuzda, bir son nokta kullanarak Bitiş noktası (Transact-sql) oluştur, açıkça bu durum belirterek başlamadan sürece varsayılan durum durduruldu BAŞLADI. =Varolan bir bitiş noktası durumunu denetlemek için kullanın alter bitiş noktası (Transact-sql) yapmak için DURDU, BAŞLADI ya da devre dışı BIRAKILDI.

Örneğin, başlatmak veya önceden oluşturulmuş bitiş noktası durdurmak için aşağıdaki deyimi kullanın sql_endpoint:

ALTER ENDPOINT sql_endpoint STATE=STARTED

ALTER ENDPOINT sql_endpoint STATE=STOPPED

Ayrıca bitiş noktaları devre dışı bırakmak veya öngörülebilir hiçbir kullanım için bunları Eğer bir son nokta veya bitiş noktası, belirli Web yöntemleri bırak gerekir.

Bir son nokta devre dışı bırakma aşağıdaki örnekte gösterilmiştir:

ALTER ENDPOINT sql_endpoint STATE=DISABLED

Not

Bir son nokta devre dışı bırakıldıktan sonra kadar yeniden başlatılamıyor SQL Server (MSSQLServer) hizmet yeniden başlatılmış olur.

Bir Web yöntem bir bitiş noktasından bırakmak için aşağıdaki biçime benzer bir deyim kullanırsınız:

ALTER ENDPOINT sql_endpoint

FOR SOAP

(

DROP WEBMETHOD 'SayHello'

)

Bir son nokta bırakmak için kullanmak Bırakın son nokta.

Olabildiğince güvenli Endpoint varsayılanları kullanın

Oluşturduğunuzda veya bir son nokta kullanarak değiştirin Bitiş noktası oluşturmak veya alter bitiş noktası, seçenek varsayılanları uygulanır, sürece, açıkça küme yoksa:

  • TOPLU İŞLEMLERİ = DEVRE DIŞI

    Transact-SQL batch mode is disabled for the endpoint.

  • LOGIN_TYPE = WINDOWS

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

Erişim veya düşündüğünüz ve uygulama dağıtımınızı gerektiren işlevselliğini desteklemek için bu ayarları değiştirmeniz gerekir sürece mümkün olan her durumda bu seçenekler için varsayılan değerleri kullanmanızı öneririz.

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

Performans için en iyi yöntemler

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

  • Uygun senaryolarda dağıtın.

  • soap tabanlı çözümler planlarken ek sunucu kaynaklarına çarpan.

  • Gereksinimleriniz için uygun wsdl seçeneği yapılandırın.

Uygun senaryoları dağıtma

Yerel xml Web Hizmetleri aşağıdaki gereksinimleri olan senaryoları için uygundur:

  • Uygulamanızın döndürür veya xml veri tüketir.

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

  • Tümleştirmek istediğiniz Şirket çözümünüzün bir parçası olarak, bir SQL Server-barındırılan Web hizmet uygulaması, bir servis odaklı mimari (soa) hedeflere ulaşmak için diğer Web hizmet uygulamaları ile.

  • Web Hizmetleri birlikte aynı sunucuda dağıtma sqlxml mid-tier çözümü için daha iyi performanslı değiştirme için aranıyor.

  • Üretmek ve intranet için statik bir rapor yayımlamak istediğiniz Web sitesi burada zengin özellik küme ve ek yükü SQL Server 2005 Reporting Services veya üstü sizin gereksinimleri.

Benzer şekilde, aşağıdaki gereksinimleri olan senaryolarda yerel xml Web Hizmetleri kullanarak önerilmez:

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

  • Uygulamanızı gerektirir gerçek -saat işlem yapma ve kritik yanıt saats.

  • Kullanmakta olduğunuz SQL Server diğer gibi işlemci yoğun uygulamaları ile birliktetpc Kıyaslama c (tpc-c) uygulamaları.

soap tabanlı çözümler planlarken ek sunucu kaynaklarına çarpan

Sekmeli veri akışı (tds) aksine dikkat için planlama amaçlı kapasitesi, protokol, soap performans uygulamaya göre değişir ve ek sunucu kaynak ek yük gerektirebilir.Örneğin, sınama, SQL Server 2005 tarafından gerçekleştirilen SQL Server , büyük xml belgeleri döndürdü, soap tabanlı erişim performansı yüzde 20 ile 30 daha uzun sürdü senaryolarda ürün ekibitds tabanlı erişim.

Gereksinimleriniz için uygun wsdl seçeneği yapılandırın

Yerel xml Web Hizmetleri dağıtmadan önce tüm istemcilerin ve işletim sistemlerinde, çözüm için gerekli olan destekleyici belgelerde kullanmak için uygun wsdl seçeneği belirlemeniz gerekir.

En iyi birlikte çalışabilirlik için Web hizmet istemcileri dahil Windows dışındaki işletim sistemlerinde heterojen ortamlar içinde kullanmak Basit 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.

Bazı durumlarda, üçüncü taraf soap istemciler birlikte çalışabilirlik için özelleştirilmiş bir wsdl gerektirebilir.Daha fazla bilgi için bkz: Özel wsdl desteği sağlama.