Aracılığıyla paylaş


Etkileşimli Kullanıcı

etkileşimli kullanıcı, COM sunucusunun çalıştığı bilgisayarda oturum açmış olan kullanıcıdır. Kimlik etkileşimli kullanıcı olarak ayarlanırsa, sunucu sınıf fabrikasını çoklu kullanım olarak kaydederse tüm istemciler sunucunun aynı örneğini kullanır. Hiçbir kullanıcı oturum açmadıysa, sunucu çalışmaz. Sunucuda istemcinin görmesi gereken bir grafik kullanıcı arabirimi (GUI) varsa, sunucunun kimliği için etkileşimli kullanıcı kullanmanız gerekir. Ancak, sunucu oturum açmış kullanıcının bilgisi veya onayı olmadan oturum açmış kullanıcının kimliği altında çalıştığından, bu kimliğin seçilmesi bazı güvenlik riskleri taşır. Buna ek olarak, bir hizmet uygulaması kullanıcı arabirimini görüntüleyemez. Daha fazla bilgi için bkz. Interactive Services.

Bir COM sunucusu etkileşimli kullanıcı olarak çalışacak şekilde yapılandırılmışsa, terminal hizmetleri ortamında, sunucu istemcinin kullanıcı kimliğiyle eşleşen etkileşimli oturumda başlatılır. Ancak istemci uygulaması, istemci kimliğiyle eşleşmeyen bir oturumda sunucu tarafından sağlanan bir nesneye başvurmak için oturum takma adını kullanabilir. Bu kullanıldığında, istemci uygulaması herhangi bir oturumu belirtebilir; bu durumda sunucu, başlatan kullanıcı olarak değil oturumun sahibi olarak çalışır. Bu senaryoda varsayılan erişim izinleri, başlatan kullanıcının sunucuda yöntemleri çağırmasına izin vermez. Ancak, aşağıdaki güvenlik riskleri devam eder:

  • COM sunucusu TCP bağlantı noktaları, adlandırılmış kanallar, LPC bağlantı noktaları, paylaşılan bellek bölümleri gibi COM tarafından denetlenmeyen arabirimleri kullanıma sunarsa, bunlar sunucuyu etkilemek için başlatan kullanıcı tarafından kullanılabilir. Etkileşimli kullanıcı olarak çalışacak şekilde yapılandırılmış COM nesneleri, bu saldırı yüzeyini mümkün olduğunca azaltmalıdır.
  • COM nesneleri kendi erişim izinlerini ayarlayabilir. Nesne, AppID kaydında veya CoInitializeSecurityçağrısı yaparak erişim izinlerini ayarlarsa, başlatan kullanıcı erişimine izin vermek için, kullanıcı başka bir kullanıcı olarak çalışacak sunucuyu başlatabilir ve sonra nesneye erişebilir.

uygulama kimliği

Kullanıcı Başlatmayı

Hizmet Kimliği

Belirtilen Kullanıcı