Share via


Mode Autentikasi SecurityBindingElement

Windows Communication Foundation (WCF) menyediakan beberapa mode yang mana klien dan layanan mode satu sama lain. Anda dapat membuat elemen pengikat keamanan untuk mode autentikasi ini dengan menggunakan metode statik pada SecurityBindingElement kelas atau melalui konfigurasi. Topik ini menjelaskan secara singkat 18 mode autentikasi.

Untuk contoh penggunaan elemen untuk salah satu mode autentikasi, lihat Cara: Membuat SecurityBindingElement untuk Mode Autentikasi yang Ditentukan.

Pemrograman Konfigurasi Dasar

Prosedur berikut menjelaskan cara mengatur mode autentikasi dalam file konfigurasi.

Untuk mengatur mode autentikasi dalam konfigurasi

  1. Untuk elemen <pengikatan>, tambahkan <customBinding>.

  2. Sebagai elemen turunan, tambahkan elemen <binding> ke elemen <customBinding>.

  3. Menambahkan elemen <security> ke elemen <binding>.

  4. Atur authenticationMode atribut ke salah satu nilai yang dijelaskan di bawah. Misalnya, kode berikut mengatur mode ke AnonymousForCertificate.

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

Untuk mengatur mode secara terprogram

  1. Tentukan jenis pengembalian, yang dapat berupa salah satu dari berikut ini: SymmetricSecurityBindingElement, TransportSecurityBindingElement, AsymmetricSecurityBindingElement, atau SecurityBindingElement.

  2. Panggil metode statik yang sesuai dari kelas SecurityBindingElement. Misalnya, kode berikut memanggil metode CreateAnonymousForCertificateBindingElement.

    SymmetricSecurityBindingElement b =
        SecurityBindingElement.
        CreateAnonymousForCertificateBindingElement();
    
    Dim b As SymmetricSecurityBindingElement = _
    SecurityBindingElement.CreateAnonymousForCertificateBindingElement()
    
  3. Gunakan elemen pengikatan untuk membuat pengikatan kustom. Untuk informasi lebih lanjut, lihat Pengikatan Kustom.

Deskripsi Mode

AnonymousForCertificate

Dengan mode autentikasi ini, klien anonim dan layanan diautentikasi menggunakan sertifikat X.509. Elemen pengikat keamanan adalah SymmetricSecurityBindingElement yang dikembalikan oleh metode CreateAnonymousForCertificateBindingElement. Atau, atur atribut authenticationMode dari elemen <security> ke AnonymousForCertificate.

AnonymousForSslNegotiated

Dengan mode autentikasi ini, klien adalah anonim dan layanan diautentikasi menggunakan sertifikat X.509 yang dinegosiasikan saat run time. Elemen pengikat keamanan adalah SymmetricSecurityBindingElement yang dikembalikan oleh metode CreateSslNegotiationBindingElement saat nilai false diteruskan untuk parameter pertama. Atau, atur atribut authenticationMode ke AnonymousForSslNegotiated.

CertificateOverTransport

Dengan mode autentikasi ini, klien mengautentikasi menggunakan sertifikat X.509 yang muncul di lapisan SOAP sebagai token pendukung yang mendukung; yaitu, token yang menandatangani tanda tangan pesan. Layanan diautentikasi menggunakan sertifikat X.509 pada lapisan transportasi. Elemen pengikat keamanan adalah TransportSecurityBindingElement yang dikembalikan oleh metode CreateCertificateOverTransportBindingElement. Atau, atur atribut authenticationMode ke CertificateOverTransport.

IssuedToken

Dengan mode autentikasi ini, klien tidak mengautentikasi ke layanan, seperti; sebagai gantinya, klien mengautentikasi ke layanan token keamanan dan menerima token SAML, yang kemudian disajikan ke server untuk membuktikan pengetahuannya tentang kunci bersama. Layanan tidak diautentikasi ke klien, tetapi layanan token keamanan mengenkripsi kunci bersama sebagai bagian dari token yang dikeluarkan sehingga hanya layanan yang dapat mendekripsi kunci. Elemen pengikat keamanan adalah SymmetricSecurityBindingElement yang dikembalikan oleh metode CreateIssuedTokenBindingElement. Atau, atur atribut authenticationMode ke IssuedToken.

IssuedTokenForCertificate

Dengan mode autentikasi ini, klien tidak mengautentikasi ke layanan, seperti; sebagai gantinya, klien mengautentikasi ke layanan token keamanan dan menerima token SAML, yang kemudian disajikan ke server untuk membuktikan pengetahuannya tentang kunci bersama. Token yang dikeluarkan muncul di lapisan SOAP sebagai token pendukung yang mendukung atau token pembawa; yaitu, token yang menandatangani tanda tangan pesan. Layanan mengautentikasi ke klien menggunakan sertifikat X.509. Elemen pengikat keamanan adalah SymmetricSecurityBindingElement yang dikembalikan oleh metode CreateIssuedTokenForCertificateBindingElement. Atau, atur atribut authenticationMode ke IssuedTokenForCertificate.

IssuedTokenForSslNegotiated

Dengan mode autentikasi ini, klien tidak mengautentikasi ke layanan, seperti; sebagai gantinya, klien mengautentikasi ke layanan token keamanan dan menerima token SAML, yang kemudian disajikan ke server untuk membuktikan pengetahuannya tentang kunci bersama. Token yang dikeluarkan muncul di lapisan SOAP sebagai token pendukung yang mendukung atau token pembawa; yaitu, token yang menandatangani tanda tangan pesan. Layanan diautentikasi menggunakan sertifikat X.509. Elemen pengikat keamanan adalah SymmetricSecurityBindingElement yang dikembalikan oleh metode CreateIssuedTokenForSslBindingElement. Atau, atur atribut authenticationMode ke IssuedTokenForSslNegotiated.

IssuedTokenOverTransport

Dengan mode autentikasi ini, klien tidak mengautentikasi ke layanan, seperti; sebagai gantinya, klien mengautentikasi ke layanan token keamanan dan menerima token SAML, yang kemudian disajikan ke server untuk membuktikan pengetahuannya tentang kunci bersama. Token yang dikeluarkan muncul di lapisan SOAP sebagai token pendukung yang mendukung atau token pembawa; yaitu, token yang menandatangani tanda tangan pesan. Layanan diautentikasi menggunakan sertifikat X.509 pada lapisan transportasi. Elemen pengikat keamanan adalah TransportSecurityBindingElement yang dikembalikan oleh metode CreateIssuedTokenOverTransportBindingElement. Atau, atur atribut authenticationMode ke IssuedTokenOverTransport.

Kerberos

Dengan mode autentikasi ini, klien mengautentikasi ke layanan menggunakan tiket Kerberos. Tiket yang sama tersebut juga menyediakan autentikasi server. Elemen pengikat keamanan adalah SymmetricSecurityBindingElement yang dikembalikan oleh metode CreateKerberosBindingElement. Atau, atur atribut authenticationMode ke Kerberos.

Catatan

Untuk menggunakan mode autentikasi ini, akun layanan harus dikaitkan dengan nama prinsip layanan (SPN). Untuk melakukan ini, jalankan layanan di bawah akun LAYANAN JARINGAN atau akun SISTEM LOKAL. Atau, gunakan alat SetSpn.exe untuk membuat SPN untuk akun layanan. Dalam kedua kasus tersebut, klien harus menggunakan SPN yang benar di <elemen servicePrincipalName>, atau dengan menggunakan konstruktor EndpointAddress. Untuk informasi selengkapnya, lihat Identitas dan Autentikasi Layanan.

Catatan

Bila mode autentikasi Kerberos digunakan, tingkat peniruan identitas Anonymous dan Delegation tidak didukung.

KerberosOverTransport

Dengan mode autentikasi ini, klien mengautentikasi ke layanan menggunakan tiket Kerberos. Token Kerberos muncul di lapisan SOAP sebagai token pendukung yang mendukung; yaitu, token yang menandatangani tanda tangan pesan. Layanan diautentikasi menggunakan sertifikat X.509 pada lapisan transportasi. Elemen pengikat keamanan adalah TransportSecurityBindingElement yang dikembalikan oleh metode CreateKerberosOverTransportBindingElement. Atau, atur atribut authenticationMode ke KerberosOverTransport.

Catatan

Untuk menggunakan mode autentikasi ini, akun layanan harus dikaitkan dengan SPN. Untuk melakukan ini, jalankan layanan di bawah akun LAYANAN JARINGAN atau akun SISTEM LOKAL. Atau, gunakan alat SetSpn.exe untuk membuat SPN untuk akun layanan. Dalam kedua kasus tersebut, klien harus menggunakan SPN yang benar di <elemen servicePrincipalName>, atau dengan menggunakan konstruktor EndpointAddress. Untuk informasi selengkapnya, lihat Identitas dan Autentikasi Layanan.

MutualCertificate

Dengan mode autentikasi ini, klien mengautentikasi menggunakan sertifikat X.509 yang muncul di lapisan SOAP sebagai token pendukung yang mendukung; yaitu, token yang menandatangani tanda tangan pesan. Layanan ini juga diautentikasi menggunakan sertifikat X.509. Elemen pengikat keamanan adalah SymmetricSecurityBindingElement yang dikembalikan oleh metode CreateMutualCertificateBindingElement. Atau, atur atribut authenticationMode ke MutualCertificate.

MutualCertificateDuplex

Dengan mode autentikasi ini, klien mengautentikasi menggunakan sertifikat X.509 yang muncul di lapisan SOAP sebagai token pendukung yang mendukung; yaitu, token yang menandatangani tanda tangan pesan. Layanan ini juga diautentikasi menggunakan sertifikat X.509. Pengikatan adalah AsymmetricSecurityBindingElement yang dikembalikan oleh metode CreateMutualCertificateDuplexBindingElement. Atau, atur atribut authenticationMode ke MutualCertificateDuplex.

MutualSslNegotiated

Dengan mode autentikasi ini, klien dan layanan mengautentikasi menggunakan sertifikat X.509. Elemen pengikat keamanan adalah SymmetricSecurityBindingElement yang dikembalikan oleh metode CreateSslNegotiationBindingElement saat nilai true diteruskan untuk parameter pertama. Atau, atur atribut authenticationMode ke MutualSslNegotiated.

SecureConversation

Elemen pengikat keamanan adalah SymmetricSecurityBindingElement yang dikembalikan oleh metode CreateSecureConversationBindingElement. Metode ini mengambil SecurityBindingElement sebagai parameter, yang digunakan selama inisialisasi untuk menetapkan sesi aman. Atau, atur atribut authenticationMode ke SecureConversation.

Jika tidak ada pengikatan bootstrap yang ditentukan, maka mode autentikasi SspiNegotiated digunakan untuk bootstrap.

SspiNegotiation

Dengan mode autentikasi ini, protokol negosiasi digunakan untuk melakukan autentikasi klien dan server. Kerberos digunakan jika memungkinkan; jika tidak, NT LanMan (NTLM) digunakan. Elemen pengikat keamanan adalah SymmetricSecurityBindingElement yang dikembalikan oleh metode CreateSspiNegotiationBindingElement. Atau, atur atribut authenticationMode ke SspiNegotiated.

SspiNegotiatedOverTransport

Dengan mode autentikasi ini, protokol negosiasi digunakan untuk melakukan autentikasi klien dan server. Protokol Kerberos digunakan jika memungkinkan; jika tidak, NTLM digunakan. Token yang dihasilkan muncul di lapisan SOAP sebagai token pendukung yang mendukung; yaitu, token yang menandatangani tanda tangan pesan. Layanan ini juga diautentikasi pada lapisan transportasi oleh sertifikat X.509. Elemen pengikat keamanan adalah TransportSecurityBindingElement yang dikembalikan oleh metode CreateSspiNegotiationOverTransportBindingElement. Atau, atur atribut authenticationMode ke SspiNegotiatedOverTransport.

UserNameForCertificate

Dengan mode autentikasi ini, klien mengautentikasi ke layanan menggunakan Token Nama Pengguna yang muncul di lapisan SOAP sebagai token pendukung yang ditandatangani; yaitu, token yang ditandatangani oleh tanda tangan pesan. Layanan mengautentikasi ke klien menggunakan sertifikat X.509. Elemen pengikat keamanan adalah SymmetricSecurityBindingElement yang dikembalikan oleh metode CreateUserNameForCertificateBindingElement. Atau, atur atribut authenticationMode ke UserNameForCertificate.

Untuk mode autentikasi UserNameForCertificate, klien dan layanan harus menggunakan WS-Security 1.1.

UserNameForSslNegotiated

Dengan mode autentikasi ini, klien diautentikasi menggunakan Token Nama Pengguna yang muncul di lapisan SOAP sebagai token pendukung yang ditandatangani; yaitu, token yang ditandatangani oleh tanda tangan pesan. Layanan diautentikasi menggunakan sertifikat X.509. Elemen pengikat keamanan adalah SymmetricSecurityBindingElement yang dikembalikan oleh metode CreateUserNameForSslBindingElement. Atau, atur atribut authenticationMode ke UserNameForSslNegotiated.

UserNameOverTransport

Dengan mode autentikasi ini, klien mengautentikasi menggunakan Token Nama Pengguna yang muncul di lapisan SOAP sebagai token pendukung yang ditandatangani; yaitu, token yang ditandatangani oleh tanda tangan pesan. Layanan diautentikasi menggunakan sertifikat X.509 pada lapisan transportasi. Elemen pengikat keamanan adalah TransportSecurityBindingElement yang dikembalikan oleh metode CreateUserNameOverTransportBindingElement. Atau, atur atribut authenticationMode ke UserNameOverTransport.

Lihat juga