Sdílet prostřednictvím


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

  1. Do elementu bindings> přidejte< vlastníBinding>.<

  2. Jako podřízený prvek přidejte do elementu <element vazby><customBinding>.

  3. <security> Přidejte do elementu <binding> prvek.

  4. authenticationMode Nastavte atribut na jednu z níže popsaných hodnot. Například následující kód nastaví režim na AnonymousForCertificate.

    <bindings>  
      <customBinding>  
        <binding name="SecureCustomBinding">  
         <security authenticationMode ="AnonymousForCertificate" />  
        </binding>  
      </customBinding>  
    </bindings>  
    

Nastavení režimu prostřednictvím kódu programu

  1. Určete návratový typ, který může být jedním z následujících: SymmetricSecurityBindingElement, TransportSecurityBindingElement, AsymmetricSecurityBindingElementnebo SecurityBindingElement.

  2. 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()
    
  3. 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><securityprvku 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 AnonymousForSslNegotiatedhodnotu .

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 CertificateOverTransporthodnotu .

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 IssuedTokenhodnotu .

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 IssuedTokenForCertificatehodnotu .

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 IssuedTokenForSslNegotiatedhodnotu .

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 IssuedTokenOverTransporthodnotu .

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 Kerberoshodnotu .

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 KerberosOverTransporthodnotu .

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 MutualCertificatehodnotu .

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 MutualCertificateDuplexhodnotu .

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 MutualSslNegotiatedhodnotu .

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 SecureConversationhodnotu .

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 SspiNegotiatedhodnotu .

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 SspiNegotiatedOverTransporthodnotu .

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 UserNameForCertificatehodnotu .

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 UserNameForSslNegotiatedhodnotu .

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 UserNameOverTransporthodnotu .

Viz také