2

对不起,这个问题很长,试图表达我的所有观点!

我一直在花费大量时间研究如何将我们现有的身份和访问管理方案更新为更现代的平台,以解决我们特别是从 ISO27001 角度来看的许多业务和合规性要求。

我有两个主要目标要实现:1)能够报告用户可以执行哪些业务操作/任务?2) 能够实时或通过历史报告监控用户正在做什么/已经做什么?

我们目前混合使用自定义身份验证和授权(两者都使用 SQL 后端)和用于身份验证的 AD 域服务和用于授权的 AD 组成员/角色需求。

我建议我们在所有软件中使用 AD 域服务进行身份验证,但从基于声明的角度来看,将 ADFS 2.0 作为我们的 STS 服务器。然后,我们可以开始在我们的应用程序中利用声明,对于那些使用角色需求的人,它们仍将继续工作。

我对以上所有内容都很满意,但是我们希望使用更精细的权利管理/授权方案,因此我想使用 ClaimsAuthorizationManager 作为决策和执行点。

问题是 WIF 没有实现具体的版本,开发人员完全可以自己选择,没有指导。我找不到任何接近适合商业的东西的例子。

因此,我正在寻找有关如何构建以与 AzMan 或 NetSqlAzMan 类似的方式工作的企业级授权方案的任何建议。我建议每个应用程序都可以使用一个通用的简单 ClaimsAuthorizationManager 类。此类调用共享的 WCF 服务,该服务反过来使用 SQL 后端来存储业务操作/任务以及用户对这些服务的权利。用户对象将从 AD 同步,以便 AD 提供身份验证、声明,而我的自定义系统提供授权规则。这项集中和单一的服务有助于实现我的第一个目标。

该系统将记录每个请求,这将有助于实现我的第二个初始目标。

非常感谢任何建议、示例或帮助。

4

2 回答 2

0

你是对的——因为 AuthZ 是特定于应用程序的——微软没有提供任何具体的实现。

您似乎已经有了非常具体的想法,这应该如何工作。为什么不构建这样一个示例并将其开源——这样您就可以收集反馈并在此基础上改进它?

于 2013-02-08T11:20:37.483 回答
0

一些想法。

角色是一种易于理解的模式,例如通用数据模型

ADFS 可以将组作为角色传递 - ADFS:将组作为声明发送。然后,您可以使用 IsInRole 或位置标记。这对你来说可能太简单了?

ADFS 可以记录成功或失败审计 - “联合服务属性” - 事件。

于 2013-02-11T20:57:01.737 回答