Compartir a través de


Contexto de seguridad

Los contextos de seguridad permiten establecer un contexto de seguridad de mensajes según WS-SecureConversation. Después, ese contexto se puede usar para proteger los mensajes como alternativa a la seguridad de captura única en la que se transmiten las credenciales para cada solicitud. El contexto de seguridad establecido es un método más eficaz de proteger los mensajes cuando se intercambian varios mensajes.

Los contextos de seguridad requieren la presencia de credenciales de seguridad de arranque que se usan para proteger los mensajes enviados en el contexto. Las estructuras WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING, WS_XML_TOKEN_MESSAGE_SECURITY_BINDINGy WS_USERNAME_MESSAGE_SECURITY_BINDING se pueden usar para este fin.

Los contextos de seguridad son una característica de seguridad de mensajes y se configuran mediante enlaces de seguridad de mensajes.

Cliente

En el lado cliente, el contexto de seguridad está vinculado a un canal determinado. Se configura mediante el WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING. El comportamiento y la duración del contexto están determinados por el canal. Cuando se envía el primer mensaje en el canal, se establece el contexto de seguridad. Después, el contexto se renueva de forma proactiva a un intervalo configurable. Si el servidor devuelve un error que indica que el contexto requiere renovación, el contexto se renueva cuando se envía el mensaje siguiente. Si el canal está en estado abierto, el contexto se cancela mediante un mensaje de cancelación cuando se cierra el canal.

Servidor

En el servidor, un contexto de seguridad se configura de la misma manera que en el cliente. Sin embargo, no está vinculado a ningún canal determinado. En su lugar, todos los canales creados para el agente de escucha que tiene el conjunto de WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING son capaces de recibir mensajes con cualquiera de los contextos de seguridad que se establecieron en canales de ese agente de escucha.

Cuando llega un mensaje a un canal que admite contextos de seguridad, el contexto usado por ese mensaje se puede obtener llamando a la función WsGetMessagePropertycon el WS_MESSAGE_PROPERTY_SECURITY_CONTEXT. El valor recuperado se puede usar con WsRevokeSecurityContext y WsGetSecurityContextProperty.

Metadatos

La estructura WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_CONSTRAINT se usa para extraer la directiva de contexto de seguridad de los metadatos. Para obtener más información, vea de importación de metadatos.

Los siguientes elementos de API se usan con contextos de seguridad.

Enumeración Descripción
WS_SECURITY_CONTEXT_PROPERTY_ID Identifica una propiedad de un objeto de contexto de seguridad.

 

Función Descripción
WsGetSecurityContextProperty Obtiene una propiedad del contexto de seguridad especificado.
WsRevokeSecurityContext de Revoca un contexto de seguridad.

 

Asa Descripción
WS_SECURITY_CONTEXT Tipo opaco que se usa para hacer referencia a un objeto de contexto de seguridad.

 

Estructura Descripción
WS_SECURITY_CONTEXT_PROPERTY Define una propiedad de un WS_SECURITY_CONTEXT.