Contexto de seguridad
Los contextos de seguridad permiten establecer un contexto de seguridad de mensaje según WS-SecureConversation. Después, ese contexto se puede usar para proteger los mensajes como alternativa a la seguridad única en la que las credenciales se transmiten 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 de WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING, WS_XML_TOKEN_MESSAGE_SECURITY_BINDING y 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.
Remoto
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 canal determina el comportamiento y la duración del contexto. 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 en 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 pueden recibir mensajes con cualquiera de los contextos de seguridad establecidos en canales de ese agente de escucha.
Cuando llega un mensaje a un canal que admite contextos de seguridad, el contexto utilizado por ese mensaje puede obtenerse llamando a la función WsGetMessageProperty con 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 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 | Revoca un contexto de seguridad. |
Handle | Descripción |
---|---|
WS_SECURITY_CONTEXT | Tipo opaco utilizado 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. |