Režimy ověřování SecurityBindingElement
Windows Communication Foundation (WCF) poskytuje několik režimů, pomocí kterých se klienti a služby navzájem ověřují. Prvky vazby zabezpečení pro tyto režimy ověřování můžete vytvořit pomocí statických metod třídy SecurityBindingElement nebo prostřednictvím konfigurace. Toto téma stručně popisuje 18 režimů ověřování.
Příklad použití elementu pro jeden z režimů ověřování naleznete v tématu Postupy: Vytvoření SecurityBindingElement pro zadaný režim ověřování.
Programování základní konfigurace
Následující postup popisuje, jak nastavit režim ověřování v konfiguračním souboru.
Nastavení režimu ověřování v konfiguraci
Do elementu bindings> přidejte< vlastníBinding>.<
Jako podřízený prvek přidejte do elementu <element vazby>
<customBinding>
.<security>
Přidejte do elementu<binding>
prvek.authenticationMode
Nastavte atribut na jednu z níže popsaných hodnot. Například následující kód nastaví režim naAnonymousForCertificate
.<bindings> <customBinding> <binding name="SecureCustomBinding"> <security authenticationMode ="AnonymousForCertificate" /> </binding> </customBinding> </bindings>
Nastavení režimu prostřednictvím kódu programu
Určete návratový typ, který může být jedním z následujících: SymmetricSecurityBindingElement, TransportSecurityBindingElement, AsymmetricSecurityBindingElementnebo SecurityBindingElement.
Volejte příslušnou statickou metodu SecurityBindingElement třídy. Například následující kód volá metodu CreateAnonymousForCertificateBindingElement .
SymmetricSecurityBindingElement b = SecurityBindingElement. CreateAnonymousForCertificateBindingElement();
Dim b As SymmetricSecurityBindingElement = _ SecurityBindingElement.CreateAnonymousForCertificateBindingElement()
Pomocí elementu vazby vytvořte vlastní vazbu. Další informace naleznete v tématu Vlastní vazby.
Popisy režimu
AnonymousForCertificate
V tomto režimu ověřování je klient anonymní a služba se ověřuje pomocí certifikátu X.509. Element vazby zabezpečení je SymmetricSecurityBindingElement vrácen metodou CreateAnonymousForCertificateBindingElement . Alternativně nastavte authenticationMode
atribut <security>
prvku na AnonymousForCertificate
.
AnonymníForSslNegotiated
V tomto režimu ověřování je klient anonymní a služba se ověřuje pomocí certifikátu X.509, který je vyjednáván za běhu. Element vazby zabezpečení je SymmetricSecurityBindingElement vrácen metodou CreateSslNegotiationBindingElement při předání hodnoty false
pro první parametr. Případně nastavte authenticationMode
atribut na AnonymousForSslNegotiated
hodnotu .
CertificateOverTransport
V tomto režimu ověřování se klient ověřuje pomocí certifikátu X.509, který se zobrazí ve vrstvě SOAP jako endorsing podpůrný token; to znamená token, který podepíše podpis zprávy. Služba se ověřuje pomocí certifikátu X.509 v přenosové vrstvě. Element vazby zabezpečení je TransportSecurityBindingElement vrácen metodou CreateCertificateOverTransportBindingElement . Případně nastavte authenticationMode
atribut na CertificateOverTransport
hodnotu .
Vystavenýtoken
V tomto režimu ověřování se klient neověřuje ve službě, například; místo toho se klient ověří ve službě tokenů zabezpečení a obdrží token SAML, který pak předá serveru, aby prokázal své znalosti sdíleného klíče. Služba není ověřena pro klienta, například, ale služba tokenu zabezpečení šifruje sdílený klíč jako součást vystaveného tokenu, aby klíč mohl dešifrovat pouze služba. Element vazby zabezpečení je SymmetricSecurityBindingElement vrácen metodou CreateIssuedTokenBindingElement . Případně nastavte authenticationMode
atribut na IssuedToken
hodnotu .
IssuedTokenForCertificate
V tomto režimu ověřování se klient neověřuje ve službě, například; místo toho se klient ověří ve službě tokenů zabezpečení a obdrží token SAML, který pak předá serveru, aby prokázal své znalosti sdíleného klíče. Vystavený token se zobrazí ve vrstvě SOAP buď jako konec podpůrného tokenu, nebo nosný token; to znamená token, který podepíše podpis zprávy. Služba se ověřuje u klienta pomocí certifikátu X.509. Element vazby zabezpečení je SymmetricSecurityBindingElement vrácen metodou CreateIssuedTokenForCertificateBindingElement . Případně nastavte authenticationMode
atribut na IssuedTokenForCertificate
hodnotu .
VystavenoTokenForSslNegotiated
V tomto režimu ověřování se klient neověřuje ve službě, například; místo toho se klient ověří ve službě tokenů zabezpečení a obdrží token SAML, který pak předá serveru, aby prokázal své znalosti sdíleného klíče. Vystavený token se zobrazí ve vrstvě SOAP buď jako konec podpůrného tokenu, nebo nosný token; to znamená token, který podepíše podpis zprávy. Služba se ověřuje pomocí certifikátu X.509. Element vazby zabezpečení je SymmetricSecurityBindingElement vrácen metodou CreateIssuedTokenForSslBindingElement . Případně nastavte authenticationMode
atribut na IssuedTokenForSslNegotiated
hodnotu .
IssuedTokenOverTransport
V tomto režimu ověřování se klient neověřuje ve službě, například; místo toho se klient ověří ve službě tokenů zabezpečení a obdrží token SAML, který pak předá serveru, aby prokázal své znalosti sdíleného klíče. Vystavený token se zobrazí ve vrstvě SOAP buď jako konec podpůrného tokenu, nebo nosný token; to znamená token, který podepíše podpis zprávy. Služba se ověřuje pomocí certifikátu X.509 v přenosové vrstvě. Element vazby zabezpečení je TransportSecurityBindingElement
vrácen metodou CreateIssuedTokenOverTransportBindingElement . Případně nastavte authenticationMode
atribut na IssuedTokenOverTransport
hodnotu .
Kerberos
V tomto režimu ověřování se klient ověří ve službě pomocí lístku Kerberos. Stejný lístek také poskytuje ověřování serveru. Element vazby zabezpečení je SymmetricSecurityBindingElement
vrácen metodou CreateKerberosBindingElement . Případně nastavte authenticationMode
atribut na Kerberos
hodnotu .
Poznámka:
Aby bylo možné použít tento režim ověřování, musí být účet služby přidružený k hlavnímu názvu služby (SPN). Uděláte to tak, že službu spustíte pod účtem NETWORK SERVICE nebo účtem LOCAL SYSTEM. Případně použijte nástroj SetSpn.exe k vytvoření hlavního názvu služby pro účet služby. V obou případech musí klient použít správný hlavní název služby (SPN) v elementu <servicePrincipalName> nebo pomocí konstruktoruEndpointAddress. Další informace najdete v tématu Identita služby a ověřování.
Poznámka:
Kerberos
Při použití Anonymous režimu ověřování se úrovně zosobnění Delegation nepodporují.
KerberosOverTransport
V tomto režimu ověřování se klient ověří ve službě pomocí lístku Kerberos. Token Kerberos se zobrazí ve vrstvě SOAP jako konec podpůrného tokenu; to znamená token, který podepíše podpis zprávy. Služba se ověřuje pomocí certifikátu X.509 v přenosové vrstvě. Element vazby zabezpečení je TransportSecurityBindingElement
vrácen metodou CreateKerberosOverTransportBindingElement . Případně nastavte authenticationMode
atribut na KerberosOverTransport
hodnotu .
Poznámka:
Aby bylo možné použít tento režim ověřování, musí být účet služby přidružený k hlavnímu názvu služby. Uděláte to tak, že službu spustíte pod účtem NETWORK SERVICE nebo účtem LOCAL SYSTEM. Případně použijte nástroj SetSpn.exe k vytvoření hlavního názvu služby pro účet služby. V obou případech musí klient použít správný hlavní název služby (SPN) v elementu <servicePrincipalName> nebo pomocí konstruktoruEndpointAddress. Další informace najdete v tématu Identita služby a ověřování.
MutualCertificate
V tomto režimu ověřování se klient ověřuje pomocí certifikátu X.509, který se zobrazí ve vrstvě SOAP jako endorsing podpůrný token; to znamená token, který podepíše podpis zprávy. Služba se také ověřuje pomocí certifikátu X.509. Element vazby zabezpečení je SymmetricSecurityBindingElement
vrácen metodou CreateMutualCertificateBindingElement . Případně nastavte authenticationMode
atribut na MutualCertificate
hodnotu .
MutualCertificateDuplex
V tomto režimu ověřování se klient ověřuje pomocí certifikátu X.509, který se zobrazí ve vrstvě SOAP jako endorsing podpůrný token; to znamená token, který podepíše podpis zprávy. Služba se také ověřuje pomocí certifikátu X.509. Vazba je AsymmetricSecurityBindingElement
vrácena metodou CreateMutualCertificateDuplexBindingElement . Případně nastavte authenticationMode
atribut na MutualCertificateDuplex
hodnotu .
MutualSslNegotiated
V tomto režimu ověřování se klient a služba ověřují pomocí certifikátů X.509. Element vazby zabezpečení je SymmetricSecurityBindingElement
vrácen metodou CreateSslNegotiationBindingElement při předání hodnoty true
pro první parametr. Případně nastavte authenticationMode
atribut na MutualSslNegotiated
hodnotu .
SecureConversation
Element vazby zabezpečení je SymmetricSecurityBindingElement
vrácen metodou CreateSecureConversationBindingElement . Tato metoda přebírá SecurityBindingElement jako parametr, který se používá při inicializaci k vytvoření zabezpečené relace. Případně nastavte authenticationMode
atribut na SecureConversation
hodnotu .
Pokud není zadána žádná vazba bootstrap, SspiNegotiated
použije se režim ověřování pro bootstrap.
SspiNegotiation
V tomto režimu ověřování se k ověřování klientů a serverů používá protokol vyjednávání. Protokol Kerberos se používá, pokud je to možné; v opačném případě se použije nt LanMan (NTLM). Element vazby zabezpečení je SymmetricSecurityBindingElement
vrácen metodou CreateSspiNegotiationBindingElement . Případně nastavte authenticationMode
atribut na SspiNegotiated
hodnotu .
SspiNegotiatedOverTransport
V tomto režimu ověřování se k ověřování klientů a serverů používá protokol vyjednávání. Protokol Kerberos se používá, pokud je to možné; v opačném případě se použije protokol NTLM. Výsledný token se zobrazí ve vrstvě SOAP jako konec podpůrného tokenu; to znamená token, který podepíše podpis zprávy. Služba se navíc ověřuje v přenosové vrstvě certifikátem X.509. Element vazby zabezpečení je TransportSecurityBindingElement
vrácen metodou CreateSspiNegotiationOverTransportBindingElement . Případně nastavte authenticationMode
atribut na SspiNegotiatedOverTransport
hodnotu .
UserNameForCertificate
V tomto režimu ověřování se klient ověří ve službě pomocí tokenu uživatelského jména, který se zobrazí ve vrstvě SOAP jako podepsaný podpůrný token; to znamená token podepsaný podpisem zprávy. Služba se ověřuje u klienta pomocí certifikátu X.509. Element vazby zabezpečení je SymmetricSecurityBindingElement
vrácen metodou CreateUserNameForCertificateBindingElement . Případně nastavte authenticationMode
atribut na UserNameForCertificate
hodnotu .
UserNameForCertificate
V režimu ověřování musí klient i služba používat WS-Security 1.1.
UserNameForSslNegotiated
V tomto režimu ověřování se klient ověřuje pomocí tokenu uživatelského jména, který se zobrazí ve vrstvě SOAP jako podepsaný podpůrný token; to znamená token podepsaný podpisem zprávy. Služba se ověřuje pomocí certifikátu X.509. Element vazby zabezpečení je SymmetricSecurityBindingElement
vrácen metodou CreateUserNameForSslBindingElement . Případně nastavte authenticationMode
atribut na UserNameForSslNegotiated
hodnotu .
UserNameOverTransport
V tomto režimu ověřování se klient ověřuje pomocí tokenu uživatelského jména, který se zobrazí ve vrstvě SOAP jako podepsaný podpůrný token; to znamená token podepsaný podpisem zprávy. Služba se ověřuje pomocí certifikátu X.509 v přenosové vrstvě. Element vazby zabezpečení je TransportSecurityBindingElement
vrácen metodou CreateUserNameOverTransportBindingElement . Případně nastavte authenticationMode
atribut na UserNameOverTransport
hodnotu .