Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows Communication Foundation (WCF), istemcilerin ve hizmetlerin birbirleri için kimlik doğrulaması yaptığı çeşitli modlar sağlar. Sınıfındaki SecurityBindingElement statik yöntemleri kullanarak veya yapılandırma aracılığıyla bu kimlik doğrulama modları için güvenlik bağlama öğeleri oluşturabilirsiniz. Bu konu başlığında 18 kimlik doğrulama modu kısaca açıklanmaktadır.
Kimlik doğrulama modlarından biri için öğesini kullanma örneği için bkz . Nasıl yapılır: Belirtilen Kimlik Doğrulama Modu için SecurityBindingElement Oluşturma.
Temel Yapılandırma Programlama
Aşağıdaki yordamda, bir yapılandırma dosyasında kimlik doğrulama modunun nasıl ayarlanacağı açıklanmaktadır.
Yapılandırmada kimlik doğrulama modunu ayarlamak için
Alt öğe olarak, öğesine bir <bağlama> öğesi
<customBinding>ekleyin.öğesine bir
<security>öğe<binding>ekleyin.özniteliğini
authenticationModeaşağıda açıklanan değerlerden birine ayarlayın. Örneğin, aşağıdaki kod modu olarakAnonymousForCertificateayarlar.<bindings> <customBinding> <binding name="SecureCustomBinding"> <security authenticationMode ="AnonymousForCertificate" /> </binding> </customBinding> </bindings>
Modu program aracılığıyla ayarlamak için
Aşağıdakilerden biri olabilecek dönüş türünü belirleyin: SymmetricSecurityBindingElement, TransportSecurityBindingElement, AsymmetricSecurityBindingElementveya SecurityBindingElement.
sınıfının uygun statik yöntemini çağırın SecurityBindingElement . Örneğin, aşağıdaki kod yöntemini çağırır CreateAnonymousForCertificateBindingElement .
SymmetricSecurityBindingElement b = SecurityBindingElement. CreateAnonymousForCertificateBindingElement();Dim b As SymmetricSecurityBindingElement = _ SecurityBindingElement.CreateAnonymousForCertificateBindingElement()Özel bağlamayı oluşturmak için bağlama öğesini kullanın. Daha fazla bilgi için bkz . Özel Bağlamalar.
Mod Açıklamaları
Sertifika için Anonim
Bu kimlik doğrulama moduyla istemci anonimdir ve hizmetin kimliği X.509 sertifikası kullanılarak doğrulanır. Güvenlik bağlama öğesi yöntemi tarafından SymmetricSecurityBindingElement döndürülen bir CreateAnonymousForCertificateBindingElement öğesidir. Alternatif olarak, öğesinin authenticationMode özniteliğini <security> olarak AnonymousForCertificateayarlayın.
AnonimSslMüzakeresiİçin
Bu kimlik doğrulama moduyla istemci anonimdir ve hizmetin kimliği çalışma zamanında anlaşmaya varılan bir X.509 sertifikası kullanılarak doğrulanır. güvenlik bağlama öğesi, ilk parametre için değeri SymmetricSecurityBindingElement geçirildiğinde yöntemi tarafından CreateSslNegotiationBindingElement döndürülen bir false öğedir. Alternatif olarak özniteliğini authenticationMode olarak AnonymousForSslNegotiatedayarlayın.
Taşıma Üzerinden Sertifika
Bu kimlik doğrulama moduyla istemci, SOAP katmanında destekleyici belirteç olarak görünen bir X.509 sertifikası kullanarak kimlik doğrulaması yapar; yani, ileti imzasını imzalayan bir belirteçtir. Hizmetin kimliği aktarım katmanında bir X.509 sertifikası kullanılarak doğrulanır. Güvenlik bağlama öğesi yöntemi tarafından TransportSecurityBindingElement döndürülen bir CreateCertificateOverTransportBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak CertificateOverTransportayarlayın.
Verilen Token
Bu kimlik doğrulama moduyla istemci, hizmette kimlik doğrulaması yapmaz; bunun yerine, istemci bir güvenlik belirteci hizmetinde kimlik doğrulaması yapar ve bir SAML belirteci alır ve ardından paylaşılan anahtar bilgisini kanıtlamak için sunucuya sunar. Hizmetin kimliği istemcide doğrulanmaz, ancak güvenlik belirteci hizmeti paylaşılan anahtarı verilen belirtecin bir parçası olarak şifreler, böylece anahtarın şifresini yalnızca hizmet çözebilir. Güvenlik bağlama öğesi yöntemi tarafından SymmetricSecurityBindingElement döndürülen bir CreateIssuedTokenBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak IssuedTokenayarlayın.
Sertifika İçin Verilen Jeton
Bu kimlik doğrulama moduyla istemci, hizmette kimlik doğrulaması yapmaz; bunun yerine, istemci bir güvenlik belirteci hizmetinde kimlik doğrulaması yapar ve bir SAML belirteci alır ve ardından paylaşılan anahtar bilgisini kanıtlamak için sunucuya sunar. Verilen belirteç SOAP katmanında destekleyici belirteç veya taşıyıcı belirteç olarak görünür; yani, ileti imzasını imzalayan bir belirteçtir. Hizmet, bir X.509 sertifikası kullanarak istemcide kimlik doğrulaması yapar. Güvenlik bağlama öğesi yöntemi tarafından SymmetricSecurityBindingElement döndürülen bir CreateIssuedTokenForCertificateBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak IssuedTokenForCertificateayarlayın.
SSL Görüşmesi İçin Verilen Jeton
Bu kimlik doğrulama moduyla istemci, hizmette kimlik doğrulaması yapmaz; bunun yerine, istemci bir güvenlik belirteci hizmetinde kimlik doğrulaması yapar ve bir SAML belirteci alır ve ardından paylaşılan anahtar bilgisini kanıtlamak için sunucuya sunar. Verilen belirteç SOAP katmanında destekleyici belirteç veya taşıyıcı belirteç olarak görünür; yani, ileti imzasını imzalayan bir belirteçtir. Hizmetin kimliği bir X.509 sertifikası kullanılarak doğrulanır. Güvenlik bağlama öğesi yöntemi tarafından SymmetricSecurityBindingElement döndürülen bir CreateIssuedTokenForSslBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak IssuedTokenForSslNegotiatedayarlayın.
Taşıma Üzerinde Verilen Jeton
Bu kimlik doğrulama moduyla istemci, hizmette kimlik doğrulaması yapmaz; bunun yerine, istemci bir güvenlik belirteci hizmetinde kimlik doğrulaması yapar ve bir SAML belirteci alır ve ardından paylaşılan anahtar bilgisini kanıtlamak için sunucuya sunar. Verilen belirteç SOAP katmanında destekleyici belirteç veya taşıyıcı belirteç olarak görünür; yani, ileti imzasını imzalayan bir belirteçtir. Hizmetin kimliği aktarım katmanında bir X.509 sertifikası kullanılarak doğrulanır. Güvenlik bağlama öğesi yöntemi tarafından TransportSecurityBindingElement döndürülen bir CreateIssuedTokenOverTransportBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak IssuedTokenOverTransportayarlayın.
Kerberos Gölü
Bu kimlik doğrulama moduyla, istemci bir Kerberos bileti kullanarak hizmette kimlik doğrulaması yapar. Aynı bilet, sunucu kimlik doğrulaması da sağlar. Güvenlik bağlama öğesi yöntemi tarafından SymmetricSecurityBindingElement döndürülen bir CreateKerberosBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak Kerberosayarlayın.
Not
Bu kimlik doğrulama modunu kullanabilmek için hizmet hesabının bir hizmet asıl adı (SPN) ile ilişkilendirilmesi gerekir. Bunu yapmak için, hizmeti AĞ HİzMETİ hesabı veya YEREL SİSTEM hesabı altında çalıştırın. Alternatif olarak, hizmet hesabı için bir SPN oluşturmak için SetSpn.exe aracını kullanın. Her iki durumda da istemcinin servicePrincipalName öğesinde < Daha fazla bilgi için bkz . Hizmet Kimliği ve Kimlik Doğrulaması.
Not
Kerberos Kimlik doğrulama modu kullanıldığında Anonymous ve Delegation kimliğe bürünme düzeyleri desteklenmez.
KerberosOverTransport
Bu kimlik doğrulama moduyla, istemci bir Kerberos bileti kullanarak hizmette kimlik doğrulaması yapar. Kerberos belirteci SOAP katmanında destekleyici belirteç olarak görünür; yani, ileti imzasını imzalayan bir belirteçtir. Hizmetin kimliği aktarım katmanında bir X.509 sertifikası kullanılarak doğrulanır. Güvenlik bağlama öğesi yöntemi tarafından TransportSecurityBindingElement döndürülen bir CreateKerberosOverTransportBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak KerberosOverTransportayarlayın.
Not
Bu kimlik doğrulama modunu kullanabilmek için hizmet hesabının bir SPN ile ilişkilendirilmesi gerekir. Bunu yapmak için, hizmeti AĞ HİzMETİ hesabı veya YEREL SİSTEM hesabı altında çalıştırın. Alternatif olarak, hizmet hesabı için bir SPN oluşturmak için SetSpn.exe aracını kullanın. Her iki durumda da istemcinin servicePrincipalName öğesinde < Daha fazla bilgi için bkz . Hizmet Kimliği ve Kimlik Doğrulaması.
Karşılıklı Sertifika
Bu kimlik doğrulama moduyla istemci, SOAP katmanında destekleyici belirteç olarak görünen bir X.509 sertifikası kullanarak kimlik doğrulaması yapar; yani, ileti imzasını imzalayan bir belirteçtir. Hizmetin kimliği de bir X.509 sertifikası kullanılarak doğrulanır. Güvenlik bağlama öğesi yöntemi tarafından SymmetricSecurityBindingElement döndürülen bir CreateMutualCertificateBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak MutualCertificateayarlayın.
MutualCertificateDuplex
Bu kimlik doğrulama moduyla istemci, SOAP katmanında destekleyici belirteç olarak görünen bir X.509 sertifikası kullanarak kimlik doğrulaması yapar; yani, ileti imzasını imzalayan bir belirteçtir. Hizmetin kimliği de bir X.509 sertifikası kullanılarak doğrulanır. Bağlama yöntemi tarafından AsymmetricSecurityBindingElement döndürülen birCreateMutualCertificateDuplexBindingElement. Alternatif olarak özniteliğini authenticationMode olarak MutualCertificateDuplexayarlayın.
KarşılıklıSSL Anlaşması
Bu kimlik doğrulama moduyla, istemci ve hizmet X.509 sertifikalarını kullanarak kimlik doğrulaması yapar. güvenlik bağlama öğesi, ilk parametre için değeri SymmetricSecurityBindingElement geçirildiğinde yöntemi tarafından CreateSslNegotiationBindingElement döndürülen bir true öğedir. Alternatif olarak özniteliğini authenticationMode olarak MutualSslNegotiatedayarlayın.
GüvenliGörüşme
Güvenlik bağlama öğesi yöntemi tarafından SymmetricSecurityBindingElement döndürülen bir CreateSecureConversationBindingElement öğesidir. Bu yöntem, güvenli oturumu oluşturmak için başlatma sırasında kullanılan bir parametre olarak alır SecurityBindingElement . Alternatif olarak özniteliğini authenticationMode olarak SecureConversationayarlayın.
Önyükleme bağlaması belirtilmezse, SspiNegotiated önyükleme için kimlik doğrulama modu kullanılır.
SspiNegotiation
Bu kimlik doğrulama moduyla, istemci ve sunucu kimlik doğrulamasını gerçekleştirmek için bir anlaşma protokolü kullanılır. Mümkünse Kerberos kullanılır; aksi takdirde, NT LanMan (NTLM) kullanılır. Güvenlik bağlama öğesi yöntemi tarafından SymmetricSecurityBindingElement döndürülen bir CreateSspiNegotiationBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak SspiNegotiatedayarlayın.
SspiNegotiatedOverTransport
Bu kimlik doğrulama moduyla, istemci ve sunucu kimlik doğrulamasını gerçekleştirmek için bir anlaşma protokolü kullanılır. Mümkünse Kerberos protokolü kullanılır; aksi takdirde NTLM kullanılır. Sonuçta elde edilen belirteç SOAP katmanında destekleyici belirteç olarak görünür; yani, ileti imzasını imzalayan bir belirteçtir. Hizmetin ayrıca aktarım katmanında kimliği bir X.509 sertifikasıyla doğrulanır. Güvenlik bağlama öğesi yöntemi tarafından TransportSecurityBindingElement döndürülen bir CreateSspiNegotiationOverTransportBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak SspiNegotiatedOverTransportayarlayın.
SertifikaİçinKullanıcıAdı
Bu kimlik doğrulama moduyla istemci, SOAP katmanında imzalı destekleyici belirteç olarak görünen bir Kullanıcı Adı Belirteci kullanarak hizmette kimlik doğrulaması yapar; yani, ileti imzası tarafından imzalanan bir belirteçtir. Hizmet, bir X.509 sertifikası kullanarak istemcide kimlik doğrulaması yapar. Güvenlik bağlama öğesi yöntemi tarafından SymmetricSecurityBindingElement döndürülen bir CreateUserNameForCertificateBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak UserNameForCertificateayarlayın.
UserNameForCertificate Kimlik doğrulama modu için hem istemci hem de hizmet WS-Security 1.1 kullanıyor olmalıdır.
SslAnlasmasiIcinKullaniciAdi
Bu kimlik doğrulama moduyla istemci, SOAP katmanında imzalı destekleyici belirteç olarak görünen bir Kullanıcı Adı Belirteci kullanılarak kimlik doğrulaması yapar; yani, ileti imzası tarafından imzalanan bir belirteçtir. Hizmetin kimliği bir X.509 sertifikası kullanılarak doğrulanır. Güvenlik bağlama öğesi yöntemi tarafından SymmetricSecurityBindingElement döndürülen bir CreateUserNameForSslBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak UserNameForSslNegotiatedayarlayın.
UserNameOverTransport
Bu kimlik doğrulama moduyla istemci, SOAP katmanında imzalı destekleyici belirteç olarak görünen bir Kullanıcı Adı Belirteci kullanarak kimlik doğrulaması yapar; yani, ileti imzası tarafından imzalanan bir belirteçtir. Hizmetin kimliği aktarım katmanında bir X.509 sertifikası kullanılarak doğrulanır. Güvenlik bağlama öğesi yöntemi tarafından TransportSecurityBindingElement döndürülen bir CreateUserNameOverTransportBindingElement öğesidir. Alternatif olarak özniteliğini authenticationMode olarak UserNameOverTransportayarlayın.