Compartir a través de


Establecer la seguridad en el nivel de proxy de interfaz

A veces, el cliente necesita un control específico sobre la seguridad en las llamadas a interfaces concretas. Por ejemplo, la seguridad podría establecerse en un nivel bajo para el proceso, pero las llamadas a una interfaz determinada podrían requerir un nivel de autenticación superior, como el cifrado. Los métodos de la interfaz IClientSecurity permiten al cliente cambiar la configuración de seguridad asociada a llamadas a una interfaz determinada mediante el control de la configuración de seguridad en el nivel de proxy de interfaz.

El cliente puede consultar un objeto existente para IClientSecurity y, a continuación, llamar al método IClientSecurity::QueryBlanket para averiguar cuáles son los valores de seguridad actuales para un proxy de interfaz determinado. El método IClientSecurity::SetBlanket se puede usar para modificar la configuración de seguridad de un proxy de interfaz individual en el objeto antes de llamar a uno de los métodos de la interfaz. La nueva configuración se aplica a los futuros autores de llamadas de esta interfaz en particular. El método IClientSecurity::CopyProxy proporciona una manera de que el cliente copie un proxy de interfaz para que las llamadas posteriores a SetBlanket en la copia no afecten a los autores de llamadas del proxy original.

SetBlanket se usa normalmente para elevar el nivel de autenticación de un proxy de interfaz determinado a un nivel superior de protección de seguridad. Sin embargo, en algunas situaciones, también puede resultar útil reducir el nivel de autenticación de un proxy de interfaz determinado. Por ejemplo, supongamos que el nivel de autenticación predeterminado para el proceso es un valor distinto de RPC_C_AUTHN_LEVEL_NONE y que el cliente y el servidor están en dominios independientes que no confían entre sí. En este caso, se producirá un error en las llamadas al servidor a menos que el cliente llame a SetBlanket para reducir el nivel de autenticación a RPC_C_AUTHN_LEVEL_NONE.

Los clientes que usan la implementación predeterminada de IClientSecurity proporcionada por el administrador de proxy pueden llamar a las funciones auxiliares CoQueryProxyBlanket, CoSetProxyBlanket y CoCopyProxy en lugar de llamar directamente a métodos IClientSecurity . Las funciones auxiliares simplifican el código, pero son ligeramente menos eficaces que llamar directamente a los métodos IClientSecurity correspondientes.

El administrador de proxy implementa localmente la interfaz IClientSecurity para el cliente. Es posible que algunos objetos serializado personalizados no admitan IClientSecurity.

IClientSecurity funciona con todos los servicios de autenticación admitidos (actualmente NTLMSSP, Schannel y el protocolo Kerberos v5).

Establecer la seguridad para aplicaciones COM