【问题标题】:Claims aware security. Do I get it right?索赔感知安全。我做对了吗?
【发布时间】:2013-01-11 11:36:18
【问题描述】:

我正在尝试调查在我正在开发的系统中使用声明感知安全性的可能性。我对所有这些东西的阅读越多,我就越困惑。 所以我决定描述一下我已经知道的,我会要求你纠正我的陈述。我迷失了所有使用的协议和技术。

下面是我的系统的简单示意图。有两个服务 - 一个使用 WCF 实现的 REST 服务和一个 ASP MVC Web 应用程序。 我知道我需要获得一个 STS,它将成为我的两项服务的可信身份颁发者。我将使用角色来区分某些访问级别。

STS 功能可以通过使用 ADFS(或者除了它之外还需要什么)或 WSO2 Identity Server 来实现。 通过说 STS,我的意思是一种服务,它将从想要进行身份验证的客户端获取凭据并返回一组声明(除了其他信息之外,还包含分配给用户的角色)。这组声明将采用令牌的形式。

在图表上,我用不同的颜色标记了不同的客户类型。不,我将尝试描述我认为将使用哪些协议/格式。我对什么是格式和什么是协议感到很困惑。不过让我试试吧:

红色场景:富 WCF 客户端再次验证 REST 服务

  1. 将使用 WS-trust 发送对 STS 的请求(在 ADFS 或 WSO2 中是否还有其他可能性?)。凭据可能采用多种形式之一,例如 X.509 证书、密码摘要、kerberos、Windows 身份验证、SAML 令牌(这用于联合场景,对吗?)等等。

  2. 对客户端的回答将以通过 OAuth 协议发送的 SWT 令牌的形式,因为这是我们在尝试针对 REST 服务进行身份验证时执行此操作的方式。

    • ADFS 是否支持 SWT 和 OAuth?我找不到信息。
  3. 然后客户端将从 STS 接收到的令牌发送到 REST 服务。这又是 OAuth 上的 SWT 令牌。

我想客户端代码都可以使用 Windows Identity Framework 轻松实现。

绿色场景:富 android 客户端针对 REST 服务进行身份验证

所有协议/格式都与之前的场景相同。有什么框架可以让我轻松实现吗?

蓝色场景:Web 浏览器用户针对 ASP MVC Web 应用程序进行身份验证

  1. 用户转到 Web 应用程序的主页。 webapp 检测到他尚未通过身份验证,因此将他重定向到 STS 上的登录页面(登录页面在 STS 上,对吗?)。

  2. 和 3. STS 对用户进行身份验证并将包含 SAML 令牌和重定向的 HTTP 响应发送到 webapp。所以这里使用的是 HTTP,而不是 WS-Trusts。

另一个问题。在这个 Web 浏览器场景中,将有一个 cookie 写入客户端的机器上。因此,每当客户端再次尝试进行身份验证时,他只会将 cookie 发送到 sts 以获取令牌。无需发送凭据。 STS 将根据 cookie 颁发令牌,而不涉及任何真正的身份验证逻辑。这种说法正确吗?

【问题讨论】:

    标签: authentication authorization wso2 claims-based-identity adfs


    【解决方案1】:

    开箱即用的 ADFS / WIF 仅支持 SAML 令牌 - 不支持 OAuth。

    ADFS / WCF 使用 WS-Trust。

    登录页面是 ADFS 的一部分。

    您最后一个问题的答案是“是”,但(在某些时候)它会过期,用户必须再次进行身份验证。

    更新:

    看看Claims Based Identity & Access Control Guide

    【讨论】:

    • 感谢您的回答。那么有什么推荐的方法我应该使用 ADFS 对 REST 服务进行身份验证?
    • 在提问之前,我已经阅读了本书中最相关的章节。但是,在 REST 场景中,他们使用自己的简单颁发者。有一段关于使用 ADFS 的内容,但没有有用的信息 - 看起来像是上一章的复制粘贴。但是,您帮助我回答了我的问题,因此我将您的回复标记为正确答案。
    • Dominick 的博客上有很多 REST 相关的东西 - leastprivilege.com/?s=rest
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 2017-12-26
    • 2019-07-26
    • 2012-01-15
    相关资源
    最近更新 更多