Définition de la sécurité au niveau du proxy d’interface

Parfois, le client a besoin d’un contrôle affiné sur la sécurité des appels à des interfaces particulières. Par exemple, la sécurité peut être définie à un niveau bas pour le processus, mais les appels à une interface particulière peuvent nécessiter un niveau d’authentification plus élevé, tel que le chiffrement. Les méthodes de l’interface IClientSecurity permettent au client de modifier les paramètres de sécurité associés aux appels à une interface particulière en contrôlant les paramètres de sécurité au niveau de l’interface-proxy.

Le client peut interroger un objet existant pour IClientSecurity , puis appeler la méthode IClientSecurity :: QueryBlanket pour connaître les paramètres de sécurité actuels pour un proxy d’interface particulier. La méthode IClientSecurity :: SetBlanket peut être utilisée pour modifier les paramètres de sécurité d’un proxy d’interface individuel sur l’objet avant d’appeler l’une des méthodes de l’interface. Les nouveaux paramètres s’appliquent à tous les appelants ultérieurs de cette interface particulière. La méthode IClientSecurity :: CopyProxy permet au client de copier un proxy d’interface afin que les appels suivants à SetBlanket sur la copie n’affectent pas les appelants du proxy d’origine.

SetBlanket est couramment utilisé pour élever le niveau d’authentification d’un proxy d’interface particulier à un niveau de protection de sécurité plus élevé. Toutefois, dans certaines situations, il peut également être utile de réduire le niveau d’authentification pour un proxy d’interface particulier. Par exemple, supposons que le niveau d’authentification par défaut pour le processus soit une valeur autre que le niveau d’authentification RPC _ C _ _ _ aucun et que le client et le serveur se trouvent dans des domaines distincts qui ne s’approuvent pas mutuellement. Dans ce cas, les appels au serveur échouent, à moins que le client n’appelle SetBlanket pour réduire le niveau d’authentification au niveau d’authentification RPC _ C « aucun » _ _ _ .

Les clients qui utilisent l’implémentation par défaut de IClientSecurity fournie par le gestionnaire proxy peuvent appeler les fonctions d’assistance CoQueryProxyBlanket, CoSetProxyBlanketet CoCopyProxy au lieu d’appeler directement les méthodes IClientSecurity . Les fonctions d’assistance simplifient le code, mais sont légèrement moins efficaces que l’appel direct des méthodes IClientSecurity correspondantes.

L’interface IClientSecurity est implémentée localement pour le client par le gestionnaire proxy. Certains objets marshalés personnalisés ne prennent peut-être pas en charge IClientSecurity.

IClientSecurity fonctionne avec tous les services d’authentification pris en charge (actuellement NTLMSSP, Schannel et le protocole Kerberos V5).

Définition de la sécurité pour les applications COM