代码改变世界

WCF 第八章 安全 日志和审计

  DanielWise  阅读(914)  评论(0编辑  收藏  举报

就像你在这一章已经看到的那样,有很多选项来设置WCF服务和客户端应用的安全。假设这些设置都是可行的,那么对认证和授权的问题进行诊断也是非常重要的能力。额外的,创建审计追踪来记录对安全架构调用的能力对很多行业,比如银行业和健康护理行业以及那些想要保持与萨班斯-奥克斯利法案和其他监管规定一致的公司是非常重要的。

  幸运的是,WCF支持一个对涉及服务安全相关活动的日志创建和审计跟踪的易于配置的结构。

  安全审计可以像列表8.39中显示的那样使用ServiceSecurityAuditBehavior来通过配置文件开启。

列表8.39 通过ServiceSecurityAuditBehavior配置一个审计安全事件的服务

<serviceSecurityAudit auditLogLocation="Application"
suppressAuditFailure
="false"
serviceAuthorizationAuditLevel
="SuccessOrFailure"
messageAuthenticationAuditLevel
="SuccessOrFailure"/>

  auditLogLocation确定了应该用哪个事件日志来审计;可以是默认,应用或者安全。messageAuthenticationAuditLevel和serviceAuthoriationAuditLevel属性可以是None, Success, Failure或者SuccessOrFailure. 最后,suppressAuditFailure属性可以设置为true来阻止当系统失败并记录一条审计消息时抛出一个异常。

  使用列表8.39中显示的ServiceSecurityAuditBehavior选项来运行一个服务将导致MessageAuthentication和ServiceAuthorization事件(失败和成功的认证/授权)被写到系统应用日志中。每个入口将包含诸如调用者身份,时间,目标服务URI和协议。任何消息失败都应该被写入事件日志中,然后抛出一个异常。

图片8.40 通过ServiceSecurityAuditBehavior显示的日志

  通过将一个审计策略与第九章”诊断”中描述的消息日志和系统跟踪连接起来,你可以更加高效和可信赖的跟踪你的WCF应用的使用情况。

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示