WSO2身份服务器:身份管理平台

本文介绍了WSO2 Identity Server作为身份管理平台的功能,包括基于SOAP的身份验证API、OpenID 2.0、SAML2 Web单点登录、OAuth 2.0、基于WS-Trust的安全令牌服务、基于SOAP的用户管理和XACML的访问控制。此外,还支持使用SCIM进行身份配置,并且可以部署在各种用户存储上,如Active Directory、LDAP或JDBC。
摘要由CSDN通过智能技术生成
WSO2 Identity Server为身份管理提供了一个灵活,可扩展且强大的平台。 这篇博客文章在WSO2 Identity Server内部进行了研究,以识别可用于身份验证,授权和供应的不同插入点。

WSO2 Identity Server支持以下用于身份验证,授权和供应的标准/框架。

1.基于SOAP的身份验证API
2.验证者
3.用于分散式单点登录的OpenID 2.0 4. SAML2 Web单点登录 5. OAuth 2.0 6.基于WS-Trust的安全令牌服务 7.通过SOAP公开的基于角色的访问控制和用户管理API 8. XACML的细粒度访问控制 9.使用SCIM进行身份配置

1.基于SOAP的身份验证API

WSO2 Identity Server可以部署在Active Directory,LDAP [ApacheDS,OpenLDAP,Novell eDirectory,Oracle DS等。]或基于JDBC的用户存储上。 这是配置更改的问题,一旦完成,最终用户/系统便可以使用基于SOAP的身份验证API来对基础用户存储进行身份验证。

默认情况下,Identity Server随嵌入式ApacheDS一起提供-但在实际生产设置中,由于我们在嵌入式ApacheDS中发现了一些可伸缩性问题,因此建议您选择更多可用于生产的LDAP(如OpenLDAP)。

与基础用户存储的连接是通过org.wso2.carbon.user.core.UserStoreManager的实例进行的。 根据您的要求,您可以实现上述接口,也可以扩展org.wso2.carbon.user.core.common.AbstractUserStoreManager。

2.验证者

默认情况下,通过用户名/密码对WSO2 Identity Server管理控制台进行身份验证。 尽管这是默认设置,但我们绝不限制用户使用基于用户名/密码的身份验证。 它可以基于证书或任何其他专有令牌类型-您只需要做的就是编写自定义身份验证器。

身份验证器有两种类型-前端身份验证器和后端身份验证器。 前端身份验证器处理用户输入,并弄清楚对用户进行身份验证到底需要什么。 例如,WebSEAL认证器从HTTP请求中读取基本的auth头和iv-user头,并将其称为Back-end counter-part以进行实际的验证。

后端身份验证器通过基于SOAP的服务向外部公开其功能,并且可以在内部连接到UserStoreManager。

管理控制台还可以配置多个身份验证器。 根据适用性和优先级,将在运行时选择一个身份验证器。

3.用于分散式单点登录的OpenID 2.0

WSO2 Identity Server支持以下OpenID规范。

  • OpenID身份验证1.1
  • OpenID身份验证2.0
  • OpenID属性交换
  • OpenID简单注册
  • OpenID提供程序身份验证策略扩展

OpenID支持建立在OpenID4Java之上,并且与基础用户存储无缝集成。 一旦在任何现有用户存储上部署WSO2 Identity Server,该用户存储中的所有用户将自动获得一个OpenID。

如果要将一个用户存储区用于OpenID身份验证,将另一个用户存储区用于Identity Server管理,则也可以在Identity Server 4.0.0及以后版本中使用它。

WSO2 Identity Server支持哑模式和智能模式,如果您愿意,可以禁用哑模式。 需要禁用哑模式以减轻OpenID Provider的负担并强制依赖方使用智能模式。 Identity Server使用基于JCache的Infiinispan缓存在集群中不同节点之间复制关联。

4. SAML2 Web单点登录

WSO2 Identity Server支持SAML2 Web单一登录。

OpenID和SAML2都基于相同的联合身份概念。 以下是它们之间的一些区别。

  • SAML2支持单点注销-但OpenID不支持。
  • SAML2服务提供者与SAML2身份提供者耦合,但是OpenID依赖方未与OpenID提供者耦合。
  • OpenID具有发现协议,一旦给定OpenID,它就会动态发现相应的OpenID提供程序。
  • 使用SAML2,用户将耦合到SAML2 IdP –您的SAML2标识符仅对发布它的SAML2 IdP有效。 但是使用OpenID,您便拥有自己的标识符,并且可以将其映射到所需的任何OpenID提供程序。
  • SAML2具有不同的绑定,而唯一的OpenID绑定是HTTP

5. OAuth 2.0

WSO2 Identity Server支持OAuth 2.0 Core草案27。我们认为v27草案与规范的最终版本之间不会有任何大的变化,并且随时关注它的发展方向。

Identity Server使用Apache Amber作为基础OAuth 2.0实现。

  • 支持规范中列出的所有四种授予类型,即授权码授予,隐式授予,资源所有者密码授予和客户凭证授予。
  • 支持使用刷新令牌刷新访问令牌
  • 支持“承载者”令牌配置文件。
  • 使用WSO2 Carbon缓存框架支持分布式令牌缓存。
  • 支持在持久化之前保护访问令牌的不同方法。 扩展点也可用于实现自定义令牌安全方法。
  • 可扩展的回调机制,用于将授权服务器与资源服务器链接。
  • 支持一系列不同的关系数据库作为令牌存储。

6.基于WS-Trust的安全令牌服务

WSO2 Identity Server支持基于安全令牌服务的WS-Trust 1.3 / 14。 这是基于Apache Rampart的。

STS与基础用户存储无缝集成,并且可以发行令牌以验证用户身份。

默认情况下,用户属性是从基础用户存储中获取的,但是提供了扩展点,用户可以在其中编写自己的属性回调处理程序。 一旦这些回调处理程序在STS中注册,就可以从默认基础用户存储区之外的任何用户存储区获取属性。

可以使用以下任何一种安全方案来保护STS。

  • 用户名令牌
  • 签名
  • 的Kerberos
  • WS-Trust [这里STS可以充当资源STS]

7.通过SOAP公开的基于角色的访问控制和用户管理API

WSO2 Identity Server可以部署在Active Directory,LDAP [ApacheDS,OpenLDAP,Novell eDirectory,Oracle DS等。]或基于JDBC的用户存储上。 这是配置更改的问题,一旦完成,最终用户/系统就可以使用基于SOAP的API来管理用户[添加/删除/修改],并根据基础用户存储检查用户授权。

8. XACML的细粒度访问控制

WSO2 Identity Server支持XACML 2.0和3.0。 所有策略都将存储在XACML 3.0中,但仍能够评估来自2.0和3.0的请求。

XACML PDP通过以下三个接口公开。

  • 基于SOAP的API
  • 基于节俭的API
  • WS-XACML

Identity Server可以同时充当XACML PDP和XACML PAP。 这些组件彼此分离。

默认情况下,所有XACML策略都存储在注册表中-但是用户可以通过扩展PolicyStore API来拥有自己的策略存储。

9.使用SCIM进行身份配置

WSO2 Identity Server中的SCIM支持基于WSO2 Charon –以及在Apache 2.0许可下发布的SCIM 1.0的开源Java实现。

WSO2 Identity Server可以充当SCIM提供者或使用者。 基于配置,WSO2 IS可以为用户提供具有SCIM支持的其他系统。

参考: WSO2身份服务器:来自JCG合作伙伴 Prabath Siriwardena 的灵活,可扩展且强大的身份管理平台,来自Facile Login博客。


翻译自: https://www.javacodegeeks.com/2012/08/wso2-identity-server-identity.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值