Sdílet prostřednictvím


Vazby a zabezpečení

Systémové vazby, které jsou součástí windows Communication Foundation (WCF), nabízejí rychlý způsob, jak programovat aplikace WCF. S jednou výjimkou mají všechny vazby povolené výchozí schéma zabezpečení. Toto téma vám pomůže vybrat správnou vazbu pro potřeby zabezpečení.

Přehled zabezpečení WCF najdete v tématu Přehled zabezpečení. Další informace o programování WCF pomocí vazeb naleznete v tématu Programování zabezpečení WCF.

Pokud jste už vybrali vazbu, můžete zjistit další informace o chování za běhu, která jsou přidružená k zabezpečení v chování zabezpečení.

Některé funkce zabezpečení nelze programovat pomocí systémových vazeb. Další kontrolu nad použitím vlastní vazby najdete v tématu Možnosti zabezpečení s vlastními vazbami.

Funkce zabezpečení vazeb

WCF obsahuje řadu systémově poskytovaných vazeb, které splňují většinu potřeb. Pokud konkrétní vazba nestačí, můžete také vytvořit vlastní vazbu. Seznam systémových vazeb naleznete v tématu Systémové vazby. Další informace o vlastních vazbách naleznete v tématu Vlastní vazby.

Každá vazba ve WCF má dvě formy: jako rozhraní API a jako element XML používaný v konfiguračním souboru. Například WSHttpBinding rozhraní API má v wsHttpBindingu> protějšek<.

Následující část uvádí oba formuláře pro každou vazbu a shrnuje funkce zabezpečení.

BasicHttp

V kódu použijte BasicHttpBinding třídu, v konfiguraci použijte <basicHttpBinding>.

Tato vazba je určená pro použití s řadou stávajících technologií, včetně následujících:

  • ASP.NET webové služby (ASMX), verze 1.

  • Aplikace WSE (Web Service Enhancements).

  • Základní profil definovaný ve specifikacihttps://go.microsoft.com/fwlink/?LinkId=38955 WS-I (Web Services Interoperability).

  • Základní profil zabezpečení definovaný ve WS-I

Ve výchozím nastavení není tato vazba zabezpečená. Je navržený tak, aby interoperabilní se službami ASMX. Pokud je povolené zabezpečení, je vazba navržená pro bezproblémovou spolupráci s mechanismy zabezpečení Internetová informační služba (IIS), jako je základní ověřování, digest a integrované zabezpečení Systému Windows. Další informace naleznete v tématu Přehled zabezpečení přenosu. Tato vazba podporuje následující:

  • Zabezpečení přenosu HTTPS

  • Základní ověřování HTTP.

  • WS-Security.

Další informace naleznete v tématu BasicHttpSecurity, BasicHttpMessageSecurity, BasicHttpMessageCredentialTypea BasicHttpSecurityMode.

WSHttpBinding

V kódu použijte WSHttpBinding třídu; v konfiguraci použijte <wsHttpBinding>.

Tato vazba ve výchozím nastavení implementuje specifikaci WS-Security a poskytuje interoperabilitu se službami, které implementují specifikace WS-*. Podporuje následující:

  • Zabezpečení přenosu HTTPS

  • WS-Security.

  • Ochrana přenosu HTTPS se zabezpečením přihlašovacích údajů zpráv SOAP pro ověřování volajícího

Další informace naleznete v tématu WSHttpSecurity, MessageSecurityOverHttp, MessageCredentialType, SecurityMode, HttpTransportSecurity, , HttpClientCredentialType, a HttpProxyCredentialType.

WSDualHttpBinding

V kódu použijte WSDualHttpBinding třídu; v konfiguraci použijte <wsDualHttpBinding>.

Tato vazba je navržená tak, aby umožňovala duplexní aplikace služeb. Tato vazba implementuje specifikaci WS-Security pro zabezpečení přenosu na základě zpráv. Zabezpečení přenosu není k dispozici. Ve výchozím nastavení poskytuje následující funkce:

  • Implementuje ws-Reliable Messaging pro spolehlivost.

  • Implementuje zabezpečení WS-security pro přenos zabezpečení a ověřování.

  • Používá protokol HTTP k doručování zpráv.

  • Používá kódování zpráv ve formátu TEXT/XML.

Pomocí WS-Security (zabezpečení vrstvy zpráv) umožňuje vazba nakonfigurovat následující parametry:

  • Sada algoritmů zabezpečení, která určuje kryptografický algoritmus.

  • Možnosti vazby pro následující:

    • Poskytnutí přihlašovacích údajů služby, které jsou dostupné mimo pásmo v klientovi.

    • Poskytnutí přihlašovacích údajů služby vyjednaných ze služby v rámci nastavení kanálu

Další informace najdete v tématech WSDualHttpSecurity a WSDualHttpSecurityMode.

Nettcpbinding

V kódu použijte NetTcpBinding třídu; v konfiguraci použijte <netTcpBinding>.

Tato vazba je optimalizovaná pro komunikaci mezi počítači. Ve výchozím nastavení má následující vlastnosti:

  • Implementuje zabezpečení vrstvy přenosu.

  • Využívá zabezpečení Systému Windows pro přenos zabezpečení a ověřování.

  • Používá protokol TCP pro přenos.

  • Implementuje kódování binární zprávy.

  • Implementuje WS-Reliable Messaging.

Mezi možnosti patří:

  • Zabezpečení vrstvy zpráv (pomocí WS-Security)

  • Zabezpečení přenosu pomocí přihlašovacích údajů zpráv – důvěrnost a integrita poskytované protokolem TLS (Transport Layer Security) přes protokol TCP a přihlašovací údaje pro autorizaci poskytované ws-Security.

Další informace naleznete v tématu NetTcpSecurity, TcpTransportSecurity, TcpClientCredentialType, MessageSecurityOverTcp, a MessageCredentialType.

NetNamedPipeBinding

V kódu použijte NetNamedPipeBinding třídu; v konfiguraci použijte <netNamedPipeBinding>.

Tato vazba je optimalizovaná pro komunikaci mezi procesy (obvykle na stejném počítači). Ve výchozím nastavení má tato vazba následující charakteristiky:

  • Používá zabezpečení přenosu pro přenos a ověřování zpráv.

  • Používá pojmenované kanály pro doručování zpráv.

  • Implementuje kódování binární zprávy.

  • Šifrování a podepisování zpráv

Mezi možnosti patří:

  • Ověřování pomocí zabezpečení systému Windows.

Další informace najdete v tématech NetNamedPipeSecurity, NetNamedPipeSecurityMode a NamedPipeTransportSecurity.

Msmqintegrationbinding

V kódu použijte MsmqIntegrationBinding třídu; v konfiguraci použijte <msmqIntegrationBinding>.

Tato vazba je optimalizovaná pro vytváření klientů a služeb WCF, které vzájemně komunikují s koncovými body služby Microsoft Message Queuing (MSMQ).

Tato vazba ve výchozím nastavení používá zabezpečení přenosu a poskytuje následující vlastnosti zabezpečení:

  • Zabezpečení může být zakázáno (Žádné).

  • Zabezpečení přenosu MSMQ (Transport).

Další informace najdete v tématech NetMsmqSecurity a NetMsmqSecurityMode.

Netmsmqbinding

V kódu použijte NetMsmqBinding třídu; v konfiguraci použijte <netMsmqBinding>.

Tato vazba je určena k použití při vytváření služeb WCF, které vyžadují podporu zpráv ve frontě MSMQ.

Tato vazba ve výchozím nastavení používá zabezpečení přenosu a poskytuje následující vlastnosti zabezpečení:

  • Zabezpečení může být zakázáno (Žádné).

  • Zabezpečení přenosu MSMQ (Transport).

  • Zabezpečení zpráv založené na protokolu SOAP (Message).

  • Souběžné zabezpečení přenosu a zpráv (obojí).

  • Podporované typy přihlašovacích údajů klienta: None, Windows, UserName, Certificate, IssuedToken.

Přihlašovací Certificate údaje se podporují pouze v případě, že je režim zabezpečení nastavený na hodnotu nebo MessageBoth .

Další informace najdete v tématech MessageSecurityOverMsmq a MsmqTransportSecurity.

WSFederationHttpBinding

V kódu použijte WSFederationHttpBinding třídu; v konfiguraci použijte <wsFederationHttpBinding>.

Ve výchozím nastavení tato vazba používá zabezpečení WS-Security (zabezpečení vrstvy zpráv).

Další informace naleznete v tématu FederaceWSFederationHttpSecurity a WSFederationHttpSecurityMode.

Vlastní vazby

Pokud žádná ze systémových vazeb nesplňuje požadavky, můžete vytvořit vlastní vazbu s vlastním prvkem vazby zabezpečení. Další informace najdete v tématu Možnosti zabezpečení s vlastními vazbami.

Možnosti vazby

Následující tabulka shrnuje funkce nabízené v nastavení režimu zabezpečení, to znamená, že uvádí funkce, které jsou k dispozici, když je režim zabezpečení nastaven na Transport, Messagenebo TransportWithMessageCredential. Tato tabulka vám pomůže najít funkce zabezpečení, které vaše aplikace vyžaduje.

Nastavení Funkce
Přeprava Ověřování serveru

Ověřování klientů

Zabezpečení typu point-to-point

Vzájemná funkční spolupráce

Hardwarová akcelerace

Vysoká propustnost

Zabezpečená brána firewall

Aplikace s vysokou latencí

Opětovné šifrování napříč několika segmenty směrování
Zpráva Ověřování serveru

Ověřování klientů

Komplexní zabezpečení

Vzájemná funkční spolupráce

Bohaté deklarace identity

Federace

Vícefaktorové ověřování

Vlastní tokeny

Služba notáře nebo časového razítka

Aplikace s vysokou latencí

Trvalost podpisů zpráv
TransportWithMessageCredential Ověřování serveru

Ověřování klientů

Zabezpečení typu point-to-point

Vzájemná funkční spolupráce

Hardwarová akcelerace

Vysoká propustnost

Bohaté deklarace identity klientů

Federace

Vícefaktorové ověřování

Vlastní tokeny

Zabezpečená brána firewall

Aplikace s vysokou latencí

Opětovné šifrování napříč několika segmenty směrování

Následující tabulka uvádí vazby, které podporují různá nastavení režimu. Vyberte vazbu z tabulky, která se má použít k vytvoření koncového bodu služby.

Vazba Podpora režimu přenosu Podpora režimu zpráv Podpora TransportWithMessageCredential
BasicHttpBinding Ano Ano Ano
WSHttpBinding Ano Ano Ano
WSDualHttpBinding Ne Ano Ne
NetTcpBinding Ano Ano Ano
NetNamedPipeBinding Ano No No
NetMsmqBinding Ano Ano Ne
MsmqIntegrationBinding Ano No No
wsFederationHttpBinding No Ano Yes

Přenos přihlašovacích údajů ve vazbách

Následující tabulka uvádí typy přihlašovacích údajů klienta, které jsou k dispozici při použití BasicHttpBindingWSHttpBinding nebo v režimu zabezpečení přenosu.

Typ Popis
Nic Určuje, že klient nemusí prezentovat žádné přihlašovací údaje. To se přeloží na anonymního klienta.
Basic Základní ověřování. Další informace naleznete v dokumentu RFC 2617 – OVĚŘOVÁNÍ HTTP: Základní ověřování a ověřování hodnotou hash, k dispozici na adrese https://go.microsoft.com/fwlink/?LinkId=84023.
Digest Ověřování hodnotou hash. Další informace naleznete v dokumentu RFC 2617 – OVĚŘOVÁNÍ HTTP: Základní ověřování a ověřování hodnotou hash, k dispozici na adrese https://go.microsoft.com/fwlink/?LinkId=84023.
NTLM Ověřování NT LAN Manager (NTLM).
Windows Ověřování systému Windows.
Certifikát Ověřování prováděné pomocí certifikátu
Vystavenýtoken Umožňuje službě vyžadovat ověření klienta pomocí tokenu vydaného službou tokenů zabezpečení nebo CardSpace. Další informace najdete v tématu Federace a vystavené tokeny.

Přihlašovací údaje klienta zprávy v vazbách

Následující tabulka uvádí typy přihlašovacích údajů klienta, které jsou k dispozici při použití vazby v režimu zabezpečení zprávy.

Typ Popis
Nic Umožňuje službě komunikovat s anonymními klienty.
Windows Umožňuje, aby se výměny zpráv SOAP provedly v rámci ověřeného kontextu přihlašovacích údajů systému Windows.
UserName Umožňuje službě vyžadovat ověření klienta pomocí přihlašovacích údajů uživatelského jména. Všimněte si, že pokud je režim zabezpečení nastaven na TransportWithMessageCredential, WCF nepodporuje odesílání hesla digest nebo odvození klíčů pomocí hesla a použití takových klíčů pro zabezpečení režimu zpráv. Wcf proto vynucuje zabezpečení přenosu při použití přihlašovacích údajů uživatelského jména.
Certifikát Umožňuje službě vyžadovat ověření klienta pomocí certifikátu.
Vystavenýtoken Umožňuje službě použít službu tokenů zabezpečení k poskytnutí vlastního tokenu.

Viz také