Contexto de segurança
Os contextos de segurança permitem o estabelecimento de um contexto de segurança de mensagem de acordo com o WS-SecureConversation. Esse contexto pode então ser usado para proteger mensagens como uma alternativa à segurança única em que as credenciais são transmitidas para cada solicitação. O contexto de segurança estabelecido é um método mais eficiente de proteção de mensagens quando várias mensagens são trocadas.
Os contextos de segurança exigem a presença de credenciais de segurança de inicialização usadas para proteger as mensagens enviadas no contexto. As estruturas WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING, WS_XML_TOKEN_MESSAGE_SECURITY_BINDING e WS_USERNAME_MESSAGE_SECURITY_BINDING podem ser usadas para essa finalidade.
Os contextos de segurança são um recurso de segurança de mensagem e são configurados por meio de associações de segurança de mensagem.
Cliente
No lado do cliente, o contexto de segurança está vinculado a um canal específico. Ele é configurado usando o WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING. O comportamento e o tempo de vida do contexto são determinados pelo canal. Quando a primeira mensagem é enviada no canal, o contexto de segurança é estabelecido. Depois disso, o contexto é renovado proativamente em um intervalo configurável. Se o servidor retornar uma falha indicando que o contexto requer renovação, o contexto será renovado quando a próxima mensagem for enviada. Se o canal estiver no estado aberto, o contexto será cancelado por uma mensagem de cancelamento quando o canal for fechado.
Servidor
No servidor, um contexto de segurança é configurado da mesma maneira que no cliente. No entanto, ele não está vinculado a nenhum canal específico. Em vez disso, todos os canais criados para o ouvinte que tem o conjunto de WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING são capazes de receber mensagens com qualquer um dos contextos de segurança estabelecidos nos canais desse ouvinte.
Quando uma mensagem chega em um canal que dá suporte a contextos de segurança, o contexto usado por essa mensagem pode ser obtido chamando a função WsGetMessageProperty com o WS_MESSAGE_PROPERTY_SECURITY_CONTEXT. O valor recuperado pode ser usado com WsRevokeSecurityContext e WsGetSecurityContextProperty.
Metadados
A estrutura WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_CONSTRAINT é usada para extrair a política de contexto de segurança dos metadados. Para obter mais informações, consulte Importação de metadados.
Os elementos de API a seguir são usados com contextos de segurança.
Enumeração | Descrição |
---|---|
WS_SECURITY_CONTEXT_PROPERTY_ID | Identifica uma propriedade de um objeto de contexto de segurança. |
Função | Descrição |
---|---|
WsGetSecurityContextProperty | Obtém uma propriedade do contexto de segurança especificado. |
WsRevokeSecurityContext | Revoga um contexto de segurança. |
Handle | Descrição |
---|---|
WS_SECURITY_CONTEXT | Um tipo opaco usado para fazer referência a um objeto de contexto de segurança. |
Estrutura | Descrição |
---|---|
WS_SECURITY_CONTEXT_PROPERTY | Define uma propriedade de um WS_SECURITY_CONTEXT. |