Megosztás a következőn keresztül:


Kötések és biztonság

A Windows Communication Foundation (WCF) rendszer által biztosított kötései gyors módot kínálnak a WCF-alkalmazások programozására. Egy kivétellel az összes kötéshez engedélyezve van egy alapértelmezett biztonsági séma. Ez a témakör segítséget nyújt a biztonsági igényeknek megfelelő kötés kiválasztásában.

A WCF biztonságának áttekintéséhez tekintse meg a biztonsági áttekintést. A WCF kötések használatával történő programozásával kapcsolatos további információkért lásd: Programming WCF Security.

Ha már kiválasztott egy kötést, többet is megtudhat a biztonsági viselkedések biztonságával kapcsolatos futásidejű viselkedésekről.

Egyes biztonsági függvények nem programozhatók a rendszer által biztosított kötések használatával. Az egyéni kötések használatának további szabályozását az egyéni kötésekkel rendelkező biztonsági képességek című témakörben találhatja meg.

Kötések biztonsági funkciói

A WCF számos rendszer által biztosított kötést tartalmaz, amelyek megfelelnek a legtöbb igénynek. Ha egy adott kötés nem elegendő, egyéni kötést is létrehozhat. A rendszer által biztosított kötések listáját a Rendszer által biztosított kötések című témakörben találja. Az egyéni kötésekről további információt az Egyéni kötések című témakörben talál.

A WCF minden kötésének két formája van: API-ként és XML-elemként egy konfigurációs fájlban. Az (API)-nak például WSHttpBinding van egy megfelelője a <wsHttpBindingben>.

Az alábbi szakasz felsorolja az egyes kötések mindkét űrlapját, és összefoglalja a biztonsági funkciókat.

Alapszintűhttp

Kódban használja az BasicHttpBinding osztályt; konfigurációban használja az <alapszintűHttpBindinget>.

Ez a kötés számos meglévő technológiához használható, beleértve a következőket:

  • ASP.NET webszolgáltatások (ASMX), 1. verzió.

  • Webszolgáltatás-fejlesztések (W Standard kiadás) alkalmazások.

  • Alapprofil a Web Services együttműködési (WS-I) specifikációjában (https://go.microsoft.com/fwlink/?LinkId=38955).

  • Alapszintű biztonsági profil a WS-I-ben meghatározottak szerint.

Alapértelmezés szerint ez a kötés nem biztonságos. Úgy tervezték, hogy együttműködjön az ASMX szolgáltatásokkal. Ha a biztonság engedélyezve van, a kötés az Internet Information Services (IIS) biztonsági mechanizmusaival való zökkenőmentes együttműködésre szolgál, például az alapszintű hitelesítésre, a kivonatolásra és az integrált Windows-biztonságra. További információ: Transport Security Overview. Ez a kötés a következőket támogatja:

  • HTTPS átviteli biztonság.

  • ALAPSZINTŰ HTTP-hitelesítés.

  • WS-Security.

További információ: BasicHttpSecurity, BasicHttpMessageSecurity, BasicHttpMessageCredentialTypeés BasicHttpSecurityMode.

WSHttpBinding

A kódban használja az WSHttpBinding osztályt; konfigurációban használja a <wsHttpBinding parancsot>.

Ez a kötés alapértelmezés szerint implementálja a WS-Security specifikációt, és interoperabilitást biztosít a WS-* specifikációkat megvalósító szolgáltatásokkal. Támogatja a következőket:

  • HTTPS átviteli biztonság.

  • WS-Security.

  • HTTPS átviteli védelem SOAP üzenet hitelesítő adatokkal a hívó hitelesítéséhez.

További információ: WSHttpSecurity, , MessageCredentialTypeMessageSecurityOverHttp, SecurityMode, HttpTransportSecurity, HttpClientCredentialTypeés HttpProxyCredentialType.

WSDualHttpBinding

A kódban használja az WSDualHttpBinding osztályt; konfigurációban használja a <wsDualHttpBinding parancsot>.

Ez a kötés kétoldalas szolgáltatásalkalmazások engedélyezésére szolgál. Ez a kötés implementálja az üzenetalapú átvitel biztonságának WS-Security specifikációját. Az átviteli biztonság nem érhető el. Alapértelmezés szerint a következő funkciókat biztosítja:

  • A WS-Reliable Messaging implementálása a megbízhatóság érdekében.

  • A WS-Security implementálása az átviteli biztonság és a hitelesítés érdekében.

  • HTTP-t használ az üzenetkézbesítéshez.

  • Szöveg-/XML-üzenetkódolást használ.

A WS-Security (üzenetréteg-biztonság) használatával a kötés lehetővé teszi a következő paraméterek konfigurálását:

  • A titkosítási algoritmus meghatározására használt biztonsági algoritmuscsomag.

  • Kötési lehetőségek a következőkhöz:

    • Az ügyfélnél sávon kívül elérhető szolgáltatás hitelesítő adatainak megadása.

    • Szolgáltatás hitelesítő adatainak megadása a szolgáltatásból a csatornabeállítás részeként.

További információ: WSDualHttpSecurity és WSDualHttpSecurityMode.

NetTcpBinding

A kódban használja az NetTcpBinding osztályt; konfigurációban használja a <netTcpBindinget>.

Ez a kötés gépközi kommunikációra van optimalizálva. Alapértelmezés szerint a következő jellemzőkkel rendelkezik:

  • Átviteli rétegbeli biztonságot valósít meg.

  • Kihasználja a Windows biztonságát az átvitelbiztonság és a hitelesítés érdekében.

  • TCP-t használ az átvitelhez.

  • Bináris üzenetkódolás implementálása.

  • A WS-Reliable Messaging implementálása.

A beállítások a következők:

  • Üzenetréteg biztonsága (a WS-Security használatával).

  • Átviteli biztonság üzenet hitelesítő adatokkal – a Transport Layer Security (TLS) által TCP-n keresztül biztosított titkosság és integritás, valamint a WS-Security által biztosított hitelesítési hitelesítő adatok.

További információ: NetTcpSecurity, TcpTransportSecurity, TcpClientCredentialType, MessageSecurityOverTcpés MessageCredentialType.

NetNamedPipeBinding

A kódban használja az NetNamedPipeBinding osztályt; konfigurációban használja a <netNamedPipeBinding parancsot>.

Ez a kötés folyamatközi kommunikációra van optimalizálva (általában ugyanazon a gépen). Alapértelmezés szerint ez a kötés a következő jellemzőkkel rendelkezik:

  • Átviteli biztonságot használ az üzenetátvitelhez és a hitelesítéshez.

  • Elnevezett csöveket használ az üzenetkézbesítéshez.

  • Bináris üzenetkódolás implementálása.

  • Titkosítás és üzenetaláírás.

A beállítások a következők:

  • Hitelesítés Windows-biztonsággal.

További információ: NetNamedPipeSecurity, NetNamedPipeSecurityMode és NamedPipeTransportSecurity.

MsmqIntegrationBinding

A kódban használja az MsmqIntegrationBinding osztályt; konfigurációban használja az <msmqIntegrationBinding parancsot>.

Ez a kötés olyan WCF-ügyfelek és szolgáltatások létrehozására van optimalizálva, amelyek nem WCF Microsoft Message Queuing (MSMQ) végpontokkal működnek együtt.

Ez a kötés alapértelmezés szerint átviteli biztonságot használ, és a következő biztonsági jellemzőket biztosítja:

  • A biztonság letiltható (Nincs).

  • MSMQ átviteli biztonság (Transport).

További információ: NetMsmqSecurity és NetMsmqSecurityMode.

NetMsmqBinding

A kódban használja az NetMsmqBinding osztályt; konfigurációban használja a <netMsmqBindinget>.

Ez a kötés olyan WCF-szolgáltatások létrehozásakor használható, amelyek msMQ-üzenettámogatást igényelnek.

Ez a kötés alapértelmezés szerint átviteli biztonságot használ, és a következő biztonsági jellemzőket biztosítja:

  • A biztonság letiltható (Nincs).

  • MSMQ átviteli biztonság (Transport).

  • SOAP-alapú üzenetbiztonság (üzenet).

  • Egyidejű átvitel és üzenetbiztonság (mindkettő).

  • Az ügyfél hitelesítő adatainak típusai támogatottak: None, Windows, UserName, Certificate, IssuedToken.

A Certificate hitelesítő adatok csak akkor támogatottak, ha a biztonsági mód vagy BothMessagea .

További információ: MessageSecurityOverMsmq és MsmqTransportSecurity.

WSFederationHttpBinding

A kódban használja az WSFederationHttpBinding osztályt; konfigurációban használja a <wsFederationHttpBinding parancsot>.

Ez a kötés alapértelmezés szerint WS-Security (üzenetréteg-biztonság) protokollt használ.

További információ: ÖsszevonásWSFederationHttpSecurity és WSFederationHttpSecurityMode.

Egyéni kötések

Ha a rendszer által biztosított kötések egyike sem felel meg a követelményeknek, egyéni kötéseket hozhat létre egyéni biztonsági kötési elemekkel. További információ: Biztonsági képességek egyéni kötésekkel.

Kötési lehetőségek

Az alábbi táblázat összefoglalja a biztonsági mód beállításában kínált funkciókat, azaz felsorolja a biztonsági mód beállításakor TransportMessageTransportWithMessageCredentialelérhető funkciókat. Ezzel a táblázatkal megtalálhatja az alkalmazás által igényelt biztonsági funkciókat.

Beállítás Funkciók
Átvitel Kiszolgálóhitelesítés

Ügyfél-hitelesítés

Pont–pont biztonság

Együttműködési lehetőség

Hardveres gyorsítás

Nagy átviteli sebesség

Biztonságos tűzfal

Nagy késésű alkalmazások

Újratitkosítás több ugrás között
Üzenet Kiszolgálóhitelesítés

Ügyfél-hitelesítés

Teljes körű biztonság

Együttműködési lehetőség

Gazdag jogcímek

Összevonás

Többtényezős hitelesítés

Egyéni jogkivonatok

Közjegyzői/időbélyegző szolgáltatás

Nagy késésű alkalmazások

Üzenetadák megőrzése
TransportWithMessageCredential Kiszolgálóhitelesítés

Ügyfél-hitelesítés

Pont–pont biztonság

Együttműködési lehetőség

Hardveres gyorsítás

Nagy átviteli sebesség

Gazdag ügyféljogcímek

Összevonás

Többtényezős hitelesítés

Egyéni jogkivonatok

Biztonságos tűzfal

Nagy késésű alkalmazások

Újratitkosítás több ugrás között

Az alábbi táblázat felsorolja a különböző módbeállításokat támogató kötéseket. Válasszon ki egy kötést a táblából a szolgáltatásvégpont létrehozásához.

Kötés Átviteli mód támogatása Üzenetmód támogatása TransportWithMessageCredential támogatás
BasicHttpBinding Igen Igen Igen
WSHttpBinding Igen Igen Igen
WSDualHttpBinding Nem Igen Nem
NetTcpBinding Igen Igen Igen
NetNamedPipeBinding Igen Nem Nem
NetMsmqBinding Igen Igen Nem
MsmqIntegrationBinding Igen Nem Nem
wsFederationHttpBinding Nem Igen Igen

Hitelesítő adatok átvitele kötésekben

Az alábbi táblázat felsorolja azokat az ügyfél-hitelesítő adatokat, amelyek átvitelbiztonsági BasicHttpBinding módban vagy WSHttpBinding átvitelbiztonsági módban érhetők el.

Típus Leírás
Egyik sem Megadja, hogy az ügyfélnek nem kell hitelesítő adatokat bemutatnia. Ez egy névtelen ügyfélre fordítható.
Alap Alapszintű hitelesítés. További információ: RFC 2617 – HTTP-hitelesítés: Alapszintű és kivonatos hitelesítés, amely a következő címen https://go.microsoft.com/fwlink/?LinkId=84023érhető el: .
Digest Kivonatoló hitelesítés. További információ: RFC 2617 – HTTP-hitelesítés: Alapszintű és kivonatos hitelesítés, amely a következő címen https://go.microsoft.com/fwlink/?LinkId=84023érhető el: .
NTLM NT LAN Manager (NTLM) hitelesítés.
Windows Windows-hitelesítés.
Tanúsítvány Tanúsítvány használatával végzett hitelesítés.
IssuedToken Lehetővé teszi, hogy a szolgáltatás megkövetelje az ügyfél hitelesítését egy biztonsági jogkivonat-szolgáltatás vagy a CardSpace által kibocsátott jogkivonat használatával. További információ: Összevonási és kibocsátott jogkivonatok.

Üzenetügyfél hitelesítő adatai kötésekben

Az alábbi táblázat felsorolja azokat az ügyfél-hitelesítő adatokat, amelyek üzenetbiztonsági módban történő kötés használatakor érhetők el.

Típus Leírás
Egyik sem Lehetővé teszi a szolgáltatás számára a névtelen ügyfelekkel való interakciót.
Windows Lehetővé teszi a SOAP-üzenetek cseréjét a Windows-hitelesítő adatok hitelesített környezetében.
UserName Lehetővé teszi, hogy a szolgáltatás megkövetelje az ügyfél hitelesítését egy felhasználónév hitelesítő adataival. Vegye figyelembe, hogy ha a biztonsági mód be van állítva TransportWithMessageCredential, a WCF nem támogatja a jelszókivonat küldését vagy a kulcsok jelszóval történő származtatását, és az ilyen kulcsok használatát az Üzenet mód biztonságához. Ezért a WCF kikényszeríti, hogy az átvitel biztonságos legyen a felhasználónév hitelesítő adatainak használatakor.
Tanúsítvány Lehetővé teszi, hogy a szolgáltatás megkövetelje az ügyfél hitelesítését tanúsítvány használatával.
IssuedToken Lehetővé teszi, hogy a szolgáltatás biztonsági jogkivonat-szolgáltatást használjon egy egyéni jogkivonat megadásához.

Lásd még