Aracılığıyla paylaş


Güvenlik Battaniyesi Anlaşması

Güvenlik paket, bir işlemdeki tüm proxy'lere veya yalnızca belirli bir arabirim ara sunucusuna uygulanan güvenlik ayarlarını açıklayan bir değer grubudur. Güvenlik battaniyesi aşağıdaki değerleri içerir:

  • Kimlik doğrulama hizmeti
  • Yetkilendirme hizmeti
  • Asıl ad
  • Kimlik doğrulama düzeyi
  • Kimliğe bürünme düzeyi
  • Kimlik doğrulaması kimliği
  • Yetenek -lerini
  • Erişim denetim listesi (ACL) (yalnızca sunucular)

Güvenlik paket anlaşması, COM'un oluşturulduğunda bir ara sunucu için güvenlik ayarlarını seçmek için kullandığı işlemdir. Bu işlem, sunucunun güvenlik paketi ile istemcinin güvenlik paketi karşılaştırmasını ve ara sunucu için uygun bir varsayılan güvenlik paketi oluşturmak üzere bu değerlerin kullanılmasını içerir. Aşağıdaki paragraflarda istemcinin ve sunucunun güvenlik battaniyelerinin nereden geldiği açıklanır ve COM'un istemcinin ve sunucunun güvenlik paketlerini kullanarak ara sunucu için güvenlik paketlerinde nasıl anlaşma yaptığı açıklanır.

İstemci ve sunucu, ilgili güvenlik paketlerini belirtmek için coInitializeSecurityçağırabilir. Uygulama CoInitializeSecurity açıkça çağırmazsa, COM uygun varsayılan değerleri kullanarak uygulama için örtük olarak çağırır. Bu varsayılan değerler hakkında daha fazla bilgi için bkz. com güvenlik varsayılanları .

CoInitializeSecurityiçin bazı parametreler uygulama bir sunucu olduğunda, bazıları da uygulama bir istemci olduğunda uygulanır. Uygulama sunucu görevi görürken, bu parametreler ilgili olur: ACL, kimlik doğrulama hizmeti/yetkilendirme hizmeti/asıl ad tanımlama listeleri listesi ve kimlik doğrulama düzeyi. Sunucunun CoInitializeSecurity(örtük veya açık) çağrısı, sunucunun sabit kalan güvenlik battaniyesini belirler.

Uygulama bir istemci işlevi görürken, CoInitializeSecurity geçirilen aşağıdaki değerler geçerlidir: kimlik doğrulama düzeyi, kimliğe bürünme düzeyi, kimlik doğrulama kimliği ve özellikler. İstemcinin CoInitializeSecurity örtük veya açık çağrısı, istemcinin istediği güvenlik battaniyesini gösterir.

Bir ara sunucu oluşturulduğunda, COM sunucunun güvenlik paketi ve istemcinin güvenlik paketi tarafından belirtilen değerleri kullanarak ara sunucu için uygun bir varsayılan güvenlik paketi anlaşması gerçekleştirir. COM, hem istemcide hem de sunucuda çalışan bir kimlik doğrulama hizmeti seçer. Kimlik doğrulama hizmetiyle çalışmak için yetkilendirme hizmeti ve asıl adı seçilir. Kimlik doğrulama düzeyi için COM, istemci ve sunucu tarafından belirtilen kimlik doğrulama düzeylerinin üst düzeylerini seçer. Kimliğe bürünme düzeyi ve COM tarafından seçilen özellikler, istemci tarafından belirtilenlerdir. Kimlik doğrulama kimliği, seçilen kimlik doğrulama hizmeti için istemci tarafından belirtilen kimlik doğrulaması kimliğidir.

Varsayılan güvenlik paket hesaplandıktan sonra, değerleri yeni oluşturulan ara sunucuya atanır. İstemci, IClientSecurity::SetBlanketçağrısı yaparak proxy'nin güvenlik ayarlarını geçersiz kılabilir. SetBlanket için belirtilen değerler anlaşılmaz; bunlar yalnızca belirtilen ara sunucuya atanır. Ancak, varsayılan parametreler (RPC_C_IMP_LEVEL_DEFAULT gibi) setBlanket geçirilirse, COM varsayılan parametreleri hesaplamak için daha önce açıklanan güvenlik paket anlaşması algoritmasını kullanır.

COM 'da Güvenliği