hello 大家好本次给大家带来技术详解,先奉上之前的思维导图,让之前没有看过前帖的小伙伴可以了解下。此时可以给大家先说一下我们的项目和投入已经彻底征服客户,对客户来说觉得自己也在做一件伟大的事业,对我们来说这是国产化打击国际巨头的第一步,是我们国产产品与国际占有率第一的大哥的第一次较量,虽然我们还存在一定差距,但是我们在努力追赶,因为相信所以看见,也是意义重大的一步,奥利给:加油: 。
废话不多说现在开始就:因为目前还涉及一些机密问题具体的数据流程以及端口我就不放那么详细的说了。
由于客户行业的特殊性,对安全性要求不可谓不高,所有防火墙所有端口以及IP要使用的情况下才可以开通,数据的走向以及流量内容有非常严格的把控。举个例子我们在他们园区内想上传安装包之类的内容,都需要专门的操作机并且数据受到审计,客户自己都没法随便上传,外设都没发用,数据完全无法下载,每次要使用测试环境都要经过好几次跳板才可以使用。
老生长谈一波,因为安全的要求,用户在内网以及外网接入时,认证需要在DMZ区完成,而我们的传统VMP+vdc场景根本无法满足用户需求,因为如果VDC放在DMZ区时,相当于DMZ区的数据可以随便接入生产区,这是不符合用户合规性要求的,于此同时我们提出了相关认证平台IDTRUST的引入,将所有用户的认证和访问在没有通过的前提下全部拦截在DMZ区,保证了数据业务和安全;由于广域网流量较大,当用户所有用户在办公和认证的情况下,3w+用户的流量那也是非常可怕的我们的IDT根本无法承载,所以根据客户需求使用负载均衡AD做流量代理,保证数据的承载与稳定性。此时已经保证了用户的安全以及流量问题,但是有会出现IDT认证后在到VDC认证,为了避免多次认证,使用IDtrust做统一登录门户,开放相关API接口,要求IDtrust单点登录到VDI。至此此项目的相关产品以及分工都得到了明确。接下来就是开始干了:加油: 。
使用AD发布虚拟服务,当用户访问虚拟服务(域名)时,数据会先到达AD,AD检测到数据流量是要访问远程应用首先AD会识别此用户数据流量是否做过认证,来判断接下来的操作,具体的判断方法下面会说。AD会根据相关ipro脚本,返回一个302重定向IDT的认证界面给用户。用户侧弹出认证界面,需要用户输入用户名密码,用户填写信息后AD做相关代理将认证数据发给IDT,IDT根据机器上面的账户信息来确定此用户是否有相关用户名和密码,如果有,将认证成功,并且给用户返回的信息中插入一个session id到https请求中.与此同时并且重定向一个302界面让用户区请求VDC认证界面,经过AD时AD会缓存此用户SESSION ID,作为此用户认证的凭证(刚才说的AD判断用户是否认证就是根据这个ID来判定的),AD同时会将这个session id 发个用户,用户收到信息后在http请求中会携带ID去请求VDC的认证界面,AD查看此ID后和请求后回去请求VDC认证界面,由于VDC上设置了相关IDT的认证设置后,VDC在收到此请求后,会通过API接口去同IDT获取认证信息,IDT会将用户的信息和session id发给VDC,VDC拿到此信息后会和用户的携带的信息进行比较,比较通过后,返回远程应用服务器的信息和资源页面到用户,用户根据此信息去请求真正的业务服务器,此时整个认证过程完成。
通过以上复杂的过程完成整个用户认证流程,保障用户数据安全。
此项目是我们第一次多产品线结合联动提出完善的一套解决方案,实施涉及多产品的联动,开发过程难度之大可想而知,同时由于客户非常专业,我们研发同客户交流的过程中,多次被客户的专业震惊,很多问题有时候我们研发也无法回答,给我们造成了不小压力。客户非常认真敬业,为了解我们的虚拟化为了和我们刚好的交流,专门买了一本KVM在一周的时间内学习完成,真的深深的让我们敬佩,客户的专业给我们也带来不小压力,过程中也是出现了大大小小很多问题,但都被我们研发以及客户克服了,真的很不容易。对于专业的客户我们的研发以及技术拿出12分的努力最终获得了客户认可。保证了项目的顺利落地,在此过程中真的非常感谢每一个人。
就拿我们老何的话来说:人这一辈子,一定要干一件有意义的事。此时我觉得自己非常荣幸参与此项目。见证某公司的努力和进步,你我都是见证者,你我都是创造者。
|