Aracılığıyla paylaş


Taşıma Güvenliği ile Kimliğe Bürünme Kullanma

Kimliğe bürünme, bir sunucu uygulamasının istemcinin kimliğini üstlenme yeteneğidir. Hizmetlerin kaynaklara erişimi doğrularken kimliğe bürünme kullanması yaygın bir durumdur. Sunucu uygulaması bir hizmet hesabı kullanarak çalışır, ancak sunucu bir istemci bağlantısını kabul ettiğinde, erişim denetimlerinin istemcinin kimlik bilgileri kullanılarak gerçekleştirilmesi için istemcinin kimliğine bürünür. Aktarım güvenliği, hem kimlik bilgilerini geçirmek hem de bu kimlik bilgilerini kullanarak iletişimi güvenli hale getirmek için kullanılan bir mekanizmadır. Bu konu başlığında, kimliğe bürünme özelliğiyle Windows Communication Foundation'da (WCF) aktarım güvenliğinin kullanılması açıklanmaktadır. İleti güvenliğini kullanarak kimliğe bürünme hakkında daha fazla bilgi için bkz . Temsilci seçme ve Kimliğe Bürünme.

Beş Kimliğe Bürünme Düzeyi

Aktarım güvenliği, aşağıdaki tabloda açıklandığı gibi beş kimliğe bürünme düzeyini kullanır.

Kimliğe bürünme düzeyi Açıklama
Hiçbiri Sunucu uygulaması istemcinin kimliğine bürünmeye çalışmaz.
Anonim Sunucu uygulaması istemcinin kimlik bilgilerine yönelik erişim denetimleri gerçekleştirebilir, ancak istemcinin kimliği hakkında herhangi bir bilgi almaz. Bu kimliğe bürünme düzeyi yalnızca adlandırılmış kanallar gibi makine içi iletişim için anlamlıdır. Anonymous Uzak bağlantıyla kullanmak kimliğe bürünme düzeyini Tanımla olarak yükselter.
Tanımla Sunucu uygulaması istemcinin kimliğini bilir ve istemcinin kimlik bilgilerine göre erişim doğrulaması gerçekleştirebilir, ancak istemcinin kimliğine bürünemez. Tanımlama, belirteç sağlayıcısı farklı bir kimliğe bürünme düzeyi sağlamadığı sürece WCF'de SSPI kimlik bilgileriyle kullanılan varsayılan kimliğe bürünme düzeyidir.
Kimliğe bürünme Sunucu uygulaması, erişim denetimleri gerçekleştirmeye ek olarak sunucu makinesindeki kaynaklara istemci olarak erişebilir. Kimliğine bürünülen belirtecin ağ kimlik bilgileri olmadığından sunucu uygulaması istemcinin kimliğini kullanarak uzak makinelerdeki kaynaklara erişemiyor
Temsilci Temsilci kimliğe bürünme düzeyi, ile aynı özelliklere Impersonatesahip olmasının yanı sıra, sunucu uygulamasının istemcinin kimliğini kullanarak uzak makinelerdeki kaynaklara erişmesine ve kimliği diğer uygulamalara geçirmesine de olanak tanır.

Önemli Bu ek özelliklerin kullanılması için etki alanı denetleyicisinde temsilci seçme için sunucu etki alanı hesabının güvenilir olarak işaretlenmesi gerekir. Bu kimliğe bürünme düzeyi, hassas olarak işaretlenmiş istemci etki alanı hesaplarıyla kullanılamaz.

Aktarım güvenliğinde en yaygın olarak kullanılan düzeyler ve Impersonate'tirIdentify. Ve düzeyleri NoneAnonymous tipik kullanım için önerilmez ve birçok aktarım bu düzeylerin kimlik doğrulamasıyla kullanılmasını desteklemez. Delegate Seviye, dikkatli bir şekilde kullanılması gereken güçlü bir özelliktir. Yalnızca güvenilen sunucu uygulamalarına kimlik bilgilerini devretme izni verilmelidir.

veya Delegate düzeylerinde Impersonate kimliğe bürünme özelliğini kullanmak, sunucu uygulamasının ayrıcalığına SeImpersonatePrivilege sahip olmasını gerektirir. Bir uygulama, Yönetici istrators grubundaki bir hesapta veya Hizmet SID'sine (Ağ Hizmeti, Yerel Hizmet veya Yerel Sistem) sahip bir hesapta çalışıyorsa varsayılan olarak bu ayrıcalığı kullanır. Kimliğe bürünme, istemci ve sunucunun karşılıklı kimlik doğrulaması gerektirmez. NTLM gibi kimliğe bürünmeyi destekleyen bazı kimlik doğrulama düzenleri karşılıklı kimlik doğrulaması ile kullanılamaz.

Kimliğe Bürünme ile İlgili Aktarıma Özgü Sorunlar

WCF'de taşıma seçimi, kimliğe bürünme için olası seçenekleri etkiler. Bu bölümde, WCF'de standart HTTP ve adlandırılmış kanal aktarımlarını etkileyen sorunlar açıklanmaktadır. Özel aktarımların kimliğe bürünme desteği üzerinde kendi kısıtlamaları vardır.

Adlandırılmış Kanal Taşıma

Adlandırılmış kanal taşıma ile aşağıdaki öğeler kullanılır:

  • Adlandırılmış kanal aktarımı yalnızca yerel makinede kullanılmak üzere tasarlanmıştır. WCF'deki adlandırılmış kanal aktarımı, makineler arası bağlantılara açıkça izin vermemektedir.

  • Adlandırılmış kanallar veya Delegate kimliğe bürünme düzeyiyle Impersonate kullanılamaz. Adlandırılmış kanal, bu kimliğe bürünme düzeylerinde makine içi garantiyi zorlayamaz.

Adlandırılmış kanallar hakkında daha fazla bilgi için bkz . Taşıma Seçme.

HTTP Aktarım

HTTP aktarımını (WSHttpBinding ve BasicHttpBinding) kullanan bağlamalar, HTTP Kimlik Doğrulamasını Anlama bölümünde açıklandığı gibi çeşitli kimlik doğrulama düzenlerini destekler. Desteklenen kimliğe bürünme düzeyi, kimlik doğrulama düzenine bağlıdır. HTTP aktarımı ile aşağıdaki öğeler kullanılır:

  • Kimlik Anonymous doğrulama düzeni kimliğe bürünme işlemini yoksayar.

  • Basic Kimlik doğrulama düzeni yalnızca Delegate düzeyi destekler. Tüm düşük kimliğe bürünme düzeyleri yükseltilir.

  • Digest Kimlik doğrulama düzeni yalnızca ve Delegate düzeylerini Impersonate destekler.

  • Doğrudan NTLM veya anlaşma yoluyla seçilebilen kimlik doğrulama düzeni yalnızca yerel makinedeki Delegate düzeyi destekler.

  • Yalnızca anlaşma aracılığıyla seçilebilen Kerberos kimlik doğrulama düzeni desteklenen herhangi bir kimliğe bürünme düzeyiyle kullanılabilir.

HTTP aktarımı hakkında daha fazla bilgi için bkz . Taşıma Seçme.

Ayrıca bkz.