Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows Communication Foundation'a (WCF) dahil edilen sistem tarafından sağlanan bağlamalar, WCF uygulamalarını programlamak için hızlı bir yol sunar. Tek bir özel durumla, tüm bağlamaların varsayılan güvenlik düzeni etkindir. Bu konu, güvenlik gereksinimleriniz için doğru bağlamayı seçmenize yardımcı olur.
WCF güvenliğine genel bakış için bkz. Güvenliğe Genel Bakış. Bağlamaları kullanarak WCF programlama hakkında daha fazla bilgi için bkz. WCF Güvenliğini Programlama.
Zaten bir bağlama seçtiyseniz , Güvenlik Davranışları bölümünde güvenlikle ilişkili çalışma zamanı davranışları hakkında daha fazla bilgi edinebilirsiniz.
Bazı güvenlik işlevleri, sistem tarafından sağlanan bağlamalar kullanılarak programlanamaz. Özel bağlama kullanarak daha fazla denetim için bkz. Özel Bağlamalarla Güvenlik Özellikleri.
Bağlamaların Güvenlik İşlevleri
WCF, çoğu gereksinimi karşılayan bir dizi sistem tarafından sağlanan bağlama içerir. Belirli bir bağlama yeterli değilse, özel bir bağlama da oluşturabilirsiniz. Sistem tarafından sağlanan bağlamaların listesi için bkz. System-Provided Bağlamaları. Özel bağlamalar hakkında daha fazla bilgi için bkz. Özel Bağlamalar.
WCF'deki her bağlamanın iki biçimi vardır: API olarak ve yapılandırma dosyasında kullanılan XML öğesi olarak. Örneğin, WSHttpBinding (API) wsHttpBinding'de<> bir karşılığı vardır.
Aşağıdaki bölümde her bağlama için her iki form da listelenmiştir ve güvenlik özellikleri özetlenmiştir.
TemelHttp
Kodda sınıfını BasicHttpBinding kullanın; yapılandırmada temelHttpBinding'i<> kullanın.
Bu bağlama, aşağıdakiler de dahil olmak üzere bir dizi mevcut teknolojiyle kullanılmak üzere tasarlanmıştır:
ASP.NET Web hizmetleri (ASMX), sürüm 1.
Web Hizmeti Geliştirmeleri (WSE) uygulamaları.
Web Hizmetleri Birlikte Çalışabilirlik (WS-I) belirtiminde (https://go.microsoft.com/fwlink/?LinkId=38955) tanımlanan Temel Profil.
WS-I'de tanımlanan temel güvenlik profili.
Varsayılan olarak, bu bağlama güvenli değildir. ASMX hizmetleriyle birlikte çalışabilmek için tasarlanmıştır. Güvenlik etkinleştirildiğinde bağlama, temel kimlik doğrulaması, özet ve tümleşik Windows güvenliği gibi Internet Information Services (IIS) güvenlik mekanizmalarıyla sorunsuz birlikte çalışma için tasarlanmıştır. Daha fazla bilgi için, bkz. Aktarım Güvenliğine Genel Bakış Bu bağlama aşağıdakileri destekler:
HTTPS aktarım güvenliği.
HTTP temel kimlik doğrulaması.
WS-Security.
Daha fazla bilgi için bkz. BasicHttpSecurity, BasicHttpMessageSecurity, BasicHttpMessageCredentialTypeve BasicHttpSecurityMode.
WSHttpBinding
Kodda sınıfını WSHttpBinding kullanın; yapılandırmada <wsHttpBinding> kullanın.
Varsayılan olarak, bu bağlama WS-Security belirtimini uygular ve WS-* belirtimlerini uygulayan hizmetlerle birlikte çalışabilirlik sağlar. Aşağıdakileri destekler:
HTTPS aktarım güvenliği.
WS-Security.
Çağıranın kimliğini doğrulamak için SOAP ileti kimlik bilgisi güvenliği ile HTTPS aktarım koruması.
Daha fazla bilgi için bkz. WSHttpSecurity, MessageSecurityOverHttp, MessageCredentialType, SecurityMode, HttpTransportSecurity, HttpClientCredentialTypeve HttpProxyCredentialType.
WSDualHttpBinding
Kodda sınıfını WSDualHttpBinding kullanın; yapılandırmada <wsDualHttpBinding> kullanın.
Bu bağlama, çift yönlü hizmet uygulamalarını etkinleştirmek için tasarlanmıştır. Bu bağlama, ileti tabanlı aktarım güvenliği için WS-Security belirtimini uygular. Taşıma güvenliği kullanılamıyor. Varsayılan olarak aşağıdaki özellikleri sağlar:
Güvenilirlik için WS-Reliable Mesajlaşma uygular.
Aktarım güvenliği ve kimlik doğrulaması için WS-Security uygular.
İleti teslimi için HTTP kullanır.
Metin/XML ileti kodlaması kullanır.
bağlama, WS-Security (ileti katmanı güvenliği) kullanarak aşağıdaki parametreleri yapılandırmanıza olanak tanır:
Şifreleme algoritmasını belirlemek için güvenlik algoritması paketi.
Aşağıdakiler için bağlama seçenekleri:
İstemcide bant dışı kanallar üzerinden erişilebilir hizmet kimlik bilgilerini sağlama.
Kanal kurulumu kapsamında hizmet ile müzakere edilen hizmet kimlik bilgilerini sağlama.
Daha fazla bilgi için bkz. WSDualHttpSecurity ve WSDualHttpSecurityMode.
NetTcpBinding
Kodda sınıfını NetTcpBinding kullanın; yapılandırmada netTcpBinding< kullanın>.
Bu bağlama, makineler arası iletişim için iyileştirilmiştir. Varsayılan olarak aşağıdaki özelliklere sahiptir:
Aktarım katmanı güvenliği uygular.
Aktarım güvenliği ve kimlik doğrulaması için Windows güvenliğinden yararlanıyor.
Aktarım için TCP kullanır.
İkili ileti kodlaması uygular.
WS-Reliable Mesajlaşmayı uygular.
Seçenekler şunlardır:
İleti katmanı güvenliği (WS-Securitykullanarak).
İleti kimlik bilgileriyle aktarım güvenliği; TCP üzerinden Aktarım Katmanı Güvenliği (TLS) tarafından sağlanan gizlilik ve bütünlük ve WS-Security tarafından sağlanan yetkilendirme kimlik bilgileri.
Daha fazla bilgi için bkz. NetTcpSecurity, TcpTransportSecurity, TcpClientCredentialType, MessageSecurityOverTcpve MessageCredentialType.
NetNamedPipeBinding
Kodda sınıfını NetNamedPipeBinding kullanın; yapılandırmada netNamedPipeBinding< kullanın>.
Bu bağlama, işlemler arası iletişim için en iyi duruma getirilmiştir (genellikle aynı makinede). Varsayılan olarak, bu bağlama aşağıdaki özelliklere sahiptir:
İleti aktarımı ve kimlik doğrulaması için aktarım güvenliğini kullanır.
İleti teslimi için adlandırılmış kanallar kullanır.
İkili ileti kodlaması uygular.
Şifreleme ve ileti imzalama.
Seçenekler şunlardır:
- Windows güvenliği kullanarak kimlik doğrulaması.
Daha fazla bilgi için bkz. NetNamedPipeSecurity, NetNamedPipeSecurityMode ve NamedPipeTransportSecurity.
MsmqIntegrationBinding
Kodda sınıfını MsmqIntegrationBinding kullanın; yapılandırmada <msmqIntegrationBinding> kullanın.
Bu bağlama, WCF olmayan Microsoft Message Queuing (MSMQ) uç noktalarıyla birlikte çalışabilen WCF istemcileri ve hizmetleri oluşturmak için iyileştirilmiştir.
Varsayılan olarak, bu bağlama aktarım güvenliğini kullanır ve aşağıdaki güvenlik özelliklerini sağlar:
Güvenlik devre dışı bırakılabilir (Yok).
MSMQ taşıma güvenliği (Taşıma).
Daha fazla bilgi için bkz. NetMsmqSecurity ve NetMsmqSecurityMode.
NetMsmqBinding
Kodda sınıfını NetMsmqBinding kullanın; yapılandırmada netMsmqBinding< kullanın>.
Bu bağlama, MSMQ kuyruğa alınmış ileti desteği gerektiren WCF hizmetleri oluşturulurken kullanılmak üzere tasarlanmıştır.
Varsayılan olarak, bu bağlama aktarım güvenliğini kullanır ve aşağıdaki güvenlik özelliklerini sağlar:
Güvenlik devre dışı bırakılabilir (Yok).
MSMQ taşıma güvenliği (Taşıma).
SOAP tabanlı ileti güvenliği (İleti).
Eşzamanlı Aktarım ve İleti güvenliği (Her İkisi).
Desteklenen İstemci Kimlik Bilgileri Türleri: None, Windows, UserName, Certificate, IssuedToken.
Kimlik Certificate bilgisi yalnızca güvenlik modu Both veya Message olarak ayarlandığında desteklenir.
Daha fazla bilgi için bkz. MessageSecurityOverMsmq ve MsmqTransportSecurity.
WSFederationHttpBinding
Kodda sınıfını WSFederationHttpBinding kullanın; yapılandırmada <wsFederationHttpBinding> kullanın.
Varsayılan olarak, bu bağlama WS-Security (ileti katmanı güvenliği) kullanır.
Daha fazla bilgi için bkz. Federasyon, WSFederationHttpSecurityve WSFederationHttpSecurityMode.
Özel Bağlamalar
Sistem tarafından sağlanan bağlamalardan hiçbiri gereksinimlerinizi karşılamıyorsa, özel bir güvenlik bağlama öğesiyle özel bağlama oluşturabilirsiniz. Daha fazla bilgi için bkz. Özel Bağlamalarla Güvenlik Özellikleri.
Bağlama Seçenekleri
Aşağıdaki tabloda, güvenlik modu ayarında sunulan özellikler özetlenmiştir; diğer bir ifadeyle, güvenlik modu , Transportveya Messageolarak ayarlandığında TransportWithMessageCredentialkullanılabilen özellikler listelenmiştir. Uygulamanızın gerektirdiği güvenlik özelliklerini bulmanıza yardımcı olması için bu tabloyu kullanın.
| Ayarlar | Özellikler |
|---|---|
| Taşıma | Sunucu kimlik doğrulaması İstemci kimlik doğrulaması Noktadan noktaya güvenlik Birlikte çalışabilirlik Donanım hızlandırma Yüksek aktarım hızı Güvenlik duvarının güvenliğini sağlama Yüksek gecikmeli uygulamalar Birden çok atlama arasında yeniden şifreleme |
| Mesaj | Sunucu kimlik doğrulaması İstemci kimlik doğrulaması Uçtan uca güvenlik Birlikte çalışabilirlik Zengin iddialar Federasyon Çok faktörlü kimlik doğrulaması Özel belirteçler Noter/zaman damgası hizmeti Yüksek gecikmeli uygulamalar İleti imzalarının kalıcılığı |
| Taşıma ile Mesaj Kimliği | Sunucu kimlik doğrulaması İstemci kimlik doğrulaması Noktadan noktaya güvenlik Birlikte çalışabilirlik Donanım hızlandırma Yüksek aktarım hızı Zengin istemci talepleri Federasyon Çok faktörlü kimlik doğrulaması Özel belirteçler Güvenlik duvarının güvenliğini sağlama Yüksek gecikmeli uygulamalar Birden çok atlama arasında yeniden şifreleme |
Aşağıdaki tabloda, çeşitli mod ayarlarını destekleyen bağlamalar listeleniyor. Hizmet uç noktanızı oluşturmak için kullanılacak tablodan bir bağlama seçin.
| Bağlayıcılık | Aktarım modu desteği | İleti modu desteği | TransportWithMessageCredential desteği |
|---|---|---|---|
BasicHttpBinding |
Evet | Evet | Evet |
WSHttpBinding |
Evet | Evet | Evet |
WSDualHttpBinding |
Hayı | Evet | Hayı |
NetTcpBinding |
Evet | Evet | Evet |
NetNamedPipeBinding |
Evet | Hayı | Hayı |
NetMsmqBinding |
Evet | Evet | Hayı |
MsmqIntegrationBinding |
Evet | Hayı | Hayı |
wsFederationHttpBinding |
Hayı | Evet | Evet |
Bağlamalarda Aktarım Kimlik Bilgileri
Aktarım güvenliği modunda BasicHttpBinding veya WSHttpBinding kullanıldığında mevcut olan istemci kimlik bilgisi türleri aşağıdaki tabloda listelenmiştir.
| Türü | Açıklama |
|---|---|
| Hiç kimse | İstemcinin herhangi bir kimlik bilgisi sunması gerekmediğini belirtir. Bu, anonim bir istemci anlamına gelir. |
| Temel | Temel kimlik doğrulaması. Daha fazla bilgi için bkz. RFC 2617 – HTTP Kimlik Doğrulaması: Temel ve Özet Kimlik Doğrulaması, adresinde https://go.microsoft.com/fwlink/?LinkId=84023bulunabilir. |
| Özet | Özet kimlik doğrulaması. Daha fazla bilgi için bkz. RFC 2617 – HTTP Kimlik Doğrulaması: Temel ve Özet Kimlik Doğrulaması, adresinde https://go.microsoft.com/fwlink/?LinkId=84023bulunabilir. |
| NTLM | NT LAN Manager (NTLM) kimlik doğrulaması. |
| Windows | Windows kimlik doğrulaması. |
| Sertifika | Sertifika kullanılarak gerçekleştirilen kimlik doğrulaması. |
| Verilen Token | Hizmetin, bir güvenlik belirteci hizmeti veya CardSpace tarafından verilen bir belirteç kullanılarak istemcinin kimliğinin doğrulanması gerekmesini sağlar. Daha fazla bilgi için bkz. Federasyon ve Verilen Belirteçler. |
Bağlantılarda Mesaj İstemci Kimlik Bilgileri
Aşağıdaki tabloda, İleti güvenlik modunda bağlama kullanılırken kullanılabilen istemci kimlik bilgisi türleri listelenmiştir.
| Türü | Açıklama |
|---|---|
| Hiç kimse | Hizmetin anonim istemcilerle etkileşim kurmasına izin verir. |
| Windows | SOAP mesajlarının, Windows kimlik bilgilerinin doğrulanmış bağlamı altında değiş tokuş edilmesine izin verir. |
| Kullanıcı adı | Hizmetin, bir kullanıcı adı kimlik bilgisi kullanılarak istemcinin kimliğinin doğrulanmış olmasını gerektirmesine izin verir. Güvenlik modu olarak ayarlandığında TransportWithMessageCredentialWCF'nin parola özeti göndermeyi veya parola kullanarak anahtar türetme ve İleti modu güvenliği için bu tür anahtarları kullanmayı desteklemediğini unutmayın. Bu nedenle WCF, kullanıcı adı kimlik bilgileri kullanılırken aktarım güvenliğinin sağlanmasını zorlar. |
| Sertifika | Hizmetin bir sertifika kullanarak istemcinin kimliğini doğrulamasını gerektirmesine izin verir. |
| Verilen Token | Hizmetin özel belirteç sağlamak için bir güvenlik belirteci hizmeti kullanmasına izin verir. |