Režimy ověřování pomocí 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 <customBinding>.

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

  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>
    

Nastavit režim programově

  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

AnonymitaProCertifikát

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 atribut authenticationMode na AnonymousForSslNegotiated.

Certifikát přes přenos

V tomto režimu ověřování se klient ověřuje pomocí certifikátu X.509, který se ve vrstvě SOAP zobrazuje jako podpůrný token pro schválení; tedy 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 atribut authenticationMode na CertificateOverTransport.

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 jako taková, ale služba tokenu zabezpečení šifruje sdílený klíč jako součást vystaveného tokenu, aby klíč mohla dešifrovat pouze služba. Element vazby zabezpečení je SymmetricSecurityBindingElement vrácen metodou CreateIssuedTokenBindingElement . Případně nastavte authenticationMode atribut na IssuedToken.

VydanýTokenProCertifikát

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 podpůrný token pro odsouhlasení, nebo nosný token (bearer token); což znamená token, který podepisuje 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.

VydanýTokenForSslNegotiated

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 podpůrný token potvrzující důvěryhodnost, nebo jako token držitele; to znamená token, který poskytuje podpis pro podepsání 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 atribut authenticationMode na IssuedTokenForSslNegotiatedhodnotu.

VydanýTokenPřesTransport

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 podporující podpůrný token, nebo nosný token; to znamená token, který podepíše zprávu. 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 atribut authenticationMode na IssuedTokenOverTransport.

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 atribut authenticationMode na Kerberos.

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í SPN (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 <> nebo pomocí konstruktoru. Další informace najdete v tématu Identita služby a ověřování.

Poznámka:

Při použití režimu ověřování Kerberos se úrovně zosobnění Anonymous a Delegation nepodporují.

KerberosOverTransport

V tomto režimu ověřování se klient ověří ve službě pomocí lístku Kerberos. Token Kerberos se ve vrstvě SOAP zobrazuje jako podpůrný token s potvrzovacím charakterem; to znamená token, který potvrdí 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 SPN (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 pro vytvoření SPN pro účet služby. V obou případech musí klient použít správný hlavní název služby (SPN) v elementu <> nebo pomocí konstruktoru. Další informace najdete v tématu Identita služby a ověřování.

Vzájemný certifikát

V tomto režimu ověřování se klient ověřuje pomocí certifikátu X.509, který se ve vrstvě SOAP zobrazuje jako podpora tokenu; to znamená token, který podepisuje 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 atribut authenticationMode na MutualCertificate.

MutualCertificateDuplex

V tomto režimu ověřování se klient ověřuje pomocí certifikátu X.509, který se ve vrstvě SOAP zobrazuje jako podpora při potvrzování tokenů; to znamená token, který podpisem potvrzuje podpis zprávy. Služba se také ověřuje pomocí certifikátu X.509. Vazba je AsymmetricSecurityBindingElement vrácena metodou CreateMutualCertificateDuplexBindingElement . Případně nastavte atribut authenticationMode na MutualCertificateDuplex.

VzájemnéSslVyjednávání

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 atribut authenticationMode na MutualSslNegotiated.

Zabezpečená konverzace

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 atribut authenticationMode na SecureConversation.

Pokud není zadána žádná vazba bootstrap, použije se režim ověřování SspiNegotiated 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 atribut authenticationMode na SspiNegotiated.

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 potvrzující podpůrný token; 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 atribut authenticationMode na SspiNegotiatedOverTransporthodnotu.

Uživatelské_jméno_pro_certifikát

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 atribut authenticationMode na UserNameForCertificatehodnotu.

UserNameForCertificate V režimu ověřování musí klient i služba používat WS-Security 1.1.

UživatelskéJménoProSslVyjednávání

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 atribut authenticationMode 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 atribut authenticationMode na UserNameOverTransporthodnotu.

Viz také