Aracılığıyla paylaş


Federasyon ve Güven

Bu konu, federasyon uygulamaları, güven sınırları ve yapılandırması ve Windows Communication Foundation'da (WCF) verilen belirteçlerin kullanımıyla ilgili çeşitli yönleri kapsar.

Hizmetler, Güvenlik Belirteci Hizmetleri ve Güven

Federasyon uç noktalarını kullanıma sunan hizmetler genellikle istemcilerin belirli bir veren tarafından sağlanan belirteci kullanarak kimlik doğrulaması yapmasını bekler. Hizmetin veren için doğru kimlik bilgileriyle yapılandırılması önemlidir; aksi takdirde, verilen belirteçler üzerinde imzaları doğrulayamaz ve istemci hizmetle iletişim kuramaz. Hizmette veren kimlik bilgilerini yapılandırma hakkında daha fazla bilgi için bkz . Nasıl yapılır: Federasyon Hizmetinde Kimlik Bilgilerini Yapılandırma.

Benzer şekilde, simetrik anahtarlar kullanılırken anahtarlar hedef hizmet için şifrelenir, bu nedenle güvenlik belirteci hizmetini hedef hizmet için doğru kimlik bilgileriyle yapılandırmanız gerekir; aksi takdirde, hedef hizmetin anahtarını şifreleyemez ve istemci yine hizmetle iletişim kuramaz.

WCF hizmetleri, istemci ve hizmet arasında saat dengesizliği MaxClockSkew sağlamak için SecurityBindingElement üzerindeki özelliğinin değerini kullanır. Federasyonda MaxClockSkew , ayar hem istemci hem de istemcinin verilen belirteci aldığı güvenlik belirteci hizmeti arasındaki saat dengesizliklerine uygulanır. Bu nedenle, güvenlik belirteci hizmetlerinin verilen belirtecin geçerlilik ve süre sonu sürelerini ayarlarken saat eğme izni vermemesi gerekir.

Not

Verilen belirtecin ömrü kısaldıkça saat eğriltmesinin önemi artar. Çoğu durumda, belirteç ömrü 30 dakika veya daha uzunsa saat dengesizliği önemli bir sorun değildir. Daha kısa ömürlü veya belirtecin tam geçerlilik süresinin önemli olduğu senaryolar, saat dengesizliğini hesaba katacak şekilde tasarlanmalıdır.

Federasyon Uç Noktaları ve Zaman Aşımları

İstemci federasyon uç noktasıyla iletişim kurarken, önce bir güvenlik belirteci hizmetinden uygun bir belirteç alması gerekir. Güvenlik belirteci hizmeti federasyon uç noktasını kullanıma sunarsa, istemcinin önce bu uç nokta için verenden bir belirteç alması gerekir. Her belirteç alımı zaman alır ve bu süre, gerçek iletiyi son uç noktaya göndermek için genel zaman aşımına tabidir.

Örneğin, istemci tarafı kanalındaki zaman aşımı 30 saniye olarak ayarlanır. İletiyi son uç noktaya göndermeden önce belirteçleri almak için iki belirteç verenin çağrılmaları gerekir ve belirteçlerin verilmesi 15 saniye sürer. Bu durumda, deneme başarısız olur ve bir TimeoutException oluşturulur. Bu nedenle, istemci kanalındaki OperationTimeout değeri verilen tüm belirteçleri almak için geçen süreyi içerecek kadar büyük bir değere ayarlamanız gerekir. Özellik için bir değerin OperationTimeout belirtilmemesi durumunda, özelliğin OpenTimeout veya özelliğin SendTimeout (veya her ikisinin) verilen tüm belirteçleri almak için geçen süreyi içerecek kadar büyük bir değere ayarlanması gerekir.

Belirteç Ömrü ve Yenileme

WCF istemcileri, bir hizmete ilk istekte bulunurken verilen belirteci denetlemez. Bunun yerine WCF, güvenlik belirteci hizmetine uygun geçerlilik ve süre sonu süreleriyle bir belirteç verme konusunda güvenir. Belirteç istemci tarafından önbelleğe alınır ve yeniden kullanılırsa, belirteç ömrü sonraki isteklerde denetlenirse ve istemci gerekirse belirteci otomatik olarak yeniler. Belirteç önbelleğe alma hakkında daha fazla bilgi için bkz . Nasıl yapılır: Federasyon İstemcisi Oluşturma.

Verilen belirteçler veya güvenlik bağlamı belirteçleri için 30 saniye veya daha kısa bir sırada kısa ömürlerin belirtilmesi, verilen belirteçler isterken veya güvenlik bağlamı belirteçlerini görüşürken veya yenilerken WCF istemcileri tarafından anlaşma zaman aşımlarına veya diğer özel durumlara neden olabilir.

Verilen Belirteçler ve InclusionMode

Verilen belirtecin istemciden federasyon uç noktasına gönderilen bir iletide seri hale getirilip getirilmediği, sınıfın InclusionModeSecurityTokenParameters özelliği ayarlanarak denetlenip denetlenmediği. Bu özellik numaralandırma değerlerinden SecurityTokenInclusionMode birine ayarlanabilir, ancak çoğu federasyon senaryosunda kullanışlı değildir. SecurityTokenInclusionMode.Never ve SecurityTokenInclusionMode.AlwaysToInitiator değerleri, istemcinin güvenlik belirteci hizmeti tarafından verilen belirteci bağlı olan tarafa göndermesine neden olur. Bağlı olan taraf verilen belirtecin bir kopyasına sahip olmadığı sürece, belirteç başvurusu çözümlenemez olduğundan kimlik doğrulaması başarısız olur. WCF, SecurityTokenInclusionMode.Once ile SecurityTokenInclusionMode.AlwaysToRecipienteşdeğer olarak davranır.

Ayrıca bkz.