筒仓计算表格_身份反模式:联邦筒仓和意大利面条身份

筒仓计算表格

分析公司Quocirca的最新研究证实,现在许多企业的外部用户比内部用户更多:在欧洲,有58%的企业直接与其他企业和/或消费者的用户进行交易; 仅在英国,这一数字就达到了65%。 如果回顾历史,当今大多数企业都是通过收购,合并和合伙制发展的。 根据Dealogic的数据,仅在美国,2013年前9个月的并购交易总额达到8651亿美元。 与去年同期相比增长了39%,是自2008年以来的九个月最高水平。

这对企业身份管理意味着什么?


您将必须使用多个异构用户存储-身份验证协议-旧式系统等等。

SAML,OpenID,OpenID Connect,WS-Federation均支持身份联合–跨域身份验证。 但是,我们是否总能期望联盟用例中的所有各方都支持SAML,OpenID或OpenID Connect? 我们今天看到的大多数联邦系统都处于孤岛中。 它可以是SAML联合的孤岛,OpenID Connect联合的孤岛或OpenID联合的孤岛。

屏幕截图2014年10月3日下午1.29.52

屏幕截图2014年10月3日下午1.47.41
即使在给定的联合仓库中,您如何随着越来越多的服务提供商和身份提供商进行扩展? 每个服务提供者都必须信任每个身份提供者,这会导致进入Spaghetti Identity反模式。

屏幕截图2014年10月3日下午1.41.13

Federation SilosSpaghetti IdentityIdentity Bus模式直接解决的两个反模式

使用身份总线 ,给定的服务提供者不会与给定的身份提供者耦合,也不会与给定的联合协议耦合。 用户应该能够使用仅发行OpenID Connect令牌的身份提供商登录到仅接受SAML 2.0令牌的服务提供商。 身份总线充当中间人,其在异构身份协议之间中介和转换身份令牌。

让我们看看身份总线模式的一些好处。

  1. 引进新的服务提供商非常容易。 您只需要在身份总线上注册服务提供商,然后从那里选择信任的身份提供商。 无需将服务提供商配置添加到每个身份提供商。
  2. 删除现有服务提供商非常容易。 您只需要从身份总线中删除服务提供商即可。 无需从每个身份提供者中删除服务提供者。
  3. 引入新的身份提供者非常容易。 您只需要在身份总线上注册身份提供者。 任何服务提供商均可使用。
  4. 删除现有的身份提供者非常容易。 您只需要从身份总线中删除身份提供者。
  5. 强制执行新的身份验证协议非常容易。 假设您需要同时使用用户名/密码和双重安全性(基于SMS的身份验证)对用户进行身份验证–您只需要将该功能添加到身份总线,然后从此处针对给定的服务提供商选择所需的身份验证协议集即可服务提供商注册的时间。 每个服务提供商都可以在身份总线上选择其希望如何认证用户。
  6. 索赔转换。 您的服务提供商可能会从http://sp1.org/claims/email属性ID中读取用户的电子邮件地址,但用户的身份提供商可能会将其作为http://idp1.org/claims/emai发送。 身份总线可以将其从身份提供者收到的声明转换为服务提供者期望的格式。
  7. 角色映射。 您的服务提供商需要在用户登录后授权他们。用户在身份提供商处可以执行的操作与同一用户在服务提供商处可以执行的操作不同。 来自身份提供者的用户角色定义了他可以在身份提供者处执行的操作。 服务提供商的角色定义了用户可以在服务提供商处执行的操作。 身份总线能够将身份提供者的角色映射到服务提供者的角色。 例如,用户可以在SAML响应中从其身份提供者那里获得idp-admin角色,然后身份总线将找到与此对应的映射服务提供者角色,例如sp-admin,并将其添加到SAML响应中,然后返回从身份总线连接到服务提供商。
  8. 即时调配。 由于身份总线位于所有身份事务的中间,因此它可以将所有外部用户身份提供给内部用户存储。
  9. 集中监控和审计。
  10. 引入新的联合协议所需的更改最少。 如果您具有支持专有联合协议的服务提供商或身份提供商,则只需将该功能添加到身份总线。 无需在每个身份提供商或服务提供商处实现它。

WSO2 Identity Server是一个开源的身份和权利管理服务器,它支持SAML 2.0,OpenID,OAuth 2.0,OpenID Connect,XACML 3.0,SCIM,WS-Federation(被动)和许多其他身份联合模式。 下图显示了WSO2 Identity Server的高级体系结构-支持Identity Bus模式。

is-architecture-新页面(1)

翻译自: https://www.javacodegeeks.com/2014/10/identity-anti-patterns-federation-silos-and-spaghetti-identity.html

筒仓计算表格

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C/C 宏替换详解

1. 基本形式#define name replacement_text 复制代码通常情况下,#define 指令占一行,替换文本是 define 指令行尾部的所有剩余部分,但也可以把一个较长的宏定义分成若干行,这时需要在待续的行末尾加上一个反斜杠符 。宏定义也可以…

win10更新助手_快升级!win10精简版不到10G,比win7还干净流畅,无需更新!

在整个PC端操作系统中,最成功的得主自然要说微软。毕竟微软发布的XP、win7操作系统那可是风靡全球,占用的用户资源十分庞大。单单因为这两个操作系统就吸引到了足够的用户,整个装机下载量可真不是盖的,说微软是PC端的"老大&q…

openshift命令_使用命令行工具创建WildFly OpenShift应用程序

openshift命令通过使用快速入门,可以轻松地在OpenShift上配置WildFly的新实例。 只需单击一下,您就可以准备就绪! 通常,OpenShift的高级用户使用命令行工具 。 但是,您无法使用CLI工具创建WildFly墨盒。 但现在已解决…

redis缓存原理与实现_SpringBoot整合Redis缓存,手把手教你一步一步实现

推荐学习分布式大全:反向代理/Redis/中间件/MySQL/消息,挑战阿里P7必备都是“Redis惹的祸”,害我差点挂在美团三面,真是“虚惊一场”微服务架构之春招总结:SpringCloud、Docker、Dubbo与SpringBoot一、基本概况为什么使…

C 实现高性能内存池

版权一、概述在 C/C 中,内存管理是一个非常棘手的问题,我们在编写一个程序的时候几乎不可避免的要遇到内存的分配逻辑,这时候随之而来的有这样一些问题:是否有足够的内存可供分配? 分配失败了怎么办? 如何管理自身的内存使用情况…

docker $PWD路径_Docker安装Jenkins+Shell脚本自动化部署项目

本文同名博客老炮说Java:https://www.laopaojava.com/,每天更新Spring/SpringMvc/SpringBoot/实战项目等文章资料SentinelNacos 是微服务环境搭建必不可少的两个组件,这里给大家推荐一套微服务教程:SpringCloud微服务电商项目教程…

flyme Android7.0 root,手把手教你如何免ROOT卸载Flyme7系统自带APP

本教程需要使用adb,adb的全称为Android Debug bridge,就是起到调试桥的作用。借助adb工具,我们可以管理设备或手机模拟器的状态。本教程需要使用adb,adb的全称为Android Debug bridge,就是起到调试桥的作用。借助adb工…

C语言 -- 字符串中根据特定字符(串)分割

版权C语言字符串操作函数有很多,这里举出需要用到的,其他请自行查找。1、len strlen(p) ;//取字符串长度 原型:size_t strlen(const char *s); 功能:统计字符串string中字符的个数,字符串的长度在 size_t…

javaone_JavaOne 2014:会议与合同利益冲突

javaone杜克街咖啡馆,工程师可以在街上进行走廊交谈 。 与签约不兼容 我的第11届JavaOne会议(2004年至2014年为11 10 1)非常出色。 值得参加此活动并结识社区中所有的人。 现在,这里是绅士的,但 。 除了经济上的明显…

什么流读取MultipartFile_深入理解并运用Node中的IO模型流

在 NodeJs 中,流随处可见,读/写文件流,HTTP请求/返回流,stdin/stdout流。理解并运用好流会让你的Node更具力量。Streamlib/_stream_readable.jslib/_stream_writable.jslib/_stream_tranform.jslib/_stream_duplex.js流主要有可读…

C 线程的创建

前言线程创建很容易,直接调用std::thread,就创建一个新线程了。该线程拿到任务后立即开始执行。线程的创建者(父线程)必须管理创建的线程(子线程),应该等到子线程完成其任务或者让子线程从自己身…

apache karaf_未来是Apache Karaf上的微服务架构

apache karaf这是Jamie Goodyear的客座博客文章( 博客 , icbts )。 他是Savoir Technologies的开源倡导者,Apache开发人员和计算机系统分析师; 他为全球大型组织设计,批判和支持了体系结构。 他拥有纽芬兰…

AppScan api登录接口 postman_如何通过Postman调用EDI系统的API?

知行EDI系统主要是用来实现贸易双方的数据交换的过程,这个过程中,贸易双方往往需要根据国际通用的消息格式收发信息,我们称符合国际规范的消息文件为EDI报文,然而不同的公司会结合ERP的接口情况选择不同的集成方式,例如…

指针函数和函数指针

概述指针函数和函数指针是C语言里两个比较绕的概念。但是不仅面试题爱考,实际应用中也比较广泛。很多人因为搞不清这两个概念,干脆就避而远之,我刚接触C语言的时候对这两个概念也比较模糊,特别是当指针函数、函数指针、函数指针变…

android显示绘图动画,Android自定义View绘图实现渐隐动画

实现了一个有趣的小东西:使用自定义view绘图,一边画线,画出的线条渐渐变淡,直到消失。效果如下图所示:用属性动画或者渐变填充(shader)可以做到一笔一笔的变化,但要想一笔渐变(手指不抬起边画边渐隐)&#…

python网络编程项目_python网络编程详解

最近在看《UNIX网络编程 卷1》和《FREEBSD操作系统设计与实现》这两本书,我重点关注了TCP协议相关的内容,结合自己后台开发的经验,写下这篇文章,一方面是为了帮助有需要的人,更重要的是方便自己整理思路,加…

分享10个值得关注的C语言开源项目

来源于网络,如有侵权,告知必删。

python3 x默认使用的编码_python3默认使用什么编码

python3默认编码为unicode,由str类型进行表示。二进制数据使用byte类型表示。 字符串通过编码转换成字节码,字节码通过解码成为字符串encode:str --> bytes(推荐学习:Python视频教程) decode&#xff1a…

html中写css代码,开发DIV CSS时 先写CSS代码还是先写HTML代码

相信良多LOVE用DIVCSS技术启示重构网页的爱好者友好,在起源学习DIVCSS的时分都邑想一个标题,想晓得DIVCSS妙手或有教育者在开发制作html页面的时刻,下场是先写html照样先写css?带着这…

象棋子 设计模式_通过设计国际象棋游戏了解策略模式

象棋子 设计模式今天,我们将借助一个示例来尝试了解策略模式。 我们将考虑的示例是国际象棋游戏。 这里的目的是解释策略模式,而不是构建全面的国际象棋游戏解决方案。 策略模式:策略模式被称为行为模式–用于管理对象之间的算法&#xff0…