写点什么

DTSE 技术讲座 |云原生架构下的数字身份治理实践

  • 2022 年 8 月 27 日
    中国香港
  • 本文字数:2931 字

    阅读完需:约 10 分钟

DTSE 技术讲座 |云原生架构下的数字身份治理实践

本文分享自华为云社区《DTSE Tech Talk | 第4期:云原生架构下的数字身份治理实践》,作者: 华为云社区精选。


DTSE Tech Talk 是华为云开发者联盟推出的技术公开课,解读云上前沿技术,畅聊开发应用实践。专家团队授课,答疑解惑,助力开发者使用华为云开放能力进行应用构建、技术创新。


在本期《身份应用云上技术架构实践》的主题分享中,华为技术大咖 VS 派拉软件 CTO,带来云原生架构下的身份管理平台,为企业、机构、开发者构建云安全数字身份入口,赋能用户全场景下的数字身份治理与链接服务。


从自动化发布、云上运维和安全,解析上云架构实践


上图为身份管理平台的架构图,平台在架构方面大规模使用华为云云原生组件,以及网络、安全、k8s 平台、中间件等产品。通过实践应用云原生产品,企业仅需关注业务即可,无需关注产品本身。为加速产品迭代,平台底层由华为云提供专业的服务,如容器镜像服务、云数据库 MySQL、分布式缓存服务等。


在开发过程中,派拉采用基于 Spring Cloud 的微服务体系进行架构,用户的访问首先会经过华为云组件保障流量的安全和负载均衡,并经过 K8s 的 Ingress 组件后进入到服务空间,在微服务网关 Spring Cloud Gateway 组件对接用户的访问进行验证并分发到具体的业务微服务中。微服务网关作为唯一对外暴露的服务,也是唯一一个有 Session 状态的服务,其他都为无状态服务。对于微服务的治理全面采用 Spring Cloud 体系进行统一管理,包括 Nacos 作为微服务注册中心和配置中心,Spring Boot Admin 对微服务进行监控,Hystrix 做降级和熔断及故障隔离,XXL-Job 作为分布式任务管理,还有自研的 ParaPKI 服务管理证书和密钥。


在云上自动化发布实践方面,采用云下开发测试,云上验收发布模式进行产品迭代的方式。产品发布过程中全面拥抱 DevOps,并融入零信任安全理念建立 DevSecOps 开发模式。利用自研的独立 pki 服务,可以控制每一个用户的后台访问权限时间。而且在整个身份安全保护开发运维的过程中,以及各种工具的使用上,派拉将安全一直贯穿整个研发体系。


云下产品开发和测试环境运行 IDC 机房中,利用零信任产品,开发和测试人员从办公网或家庭网能安全的接入开发测试环境,所有的代码提交都通过流水线自动化编译打包上传到 Nexus 和 Harbor 中,再通过自动化发布能力在开发和测试环境中 K8s 上进行版本发布,通过测试后的产品版本根据流程触发提交镜像到华为云容器管理组件。保证从代码提交后打包的制品在各个环境下的一致性,减少质量问题逃逸。另外对于 K8s、微服务、中间件的管理平台的认证和操作的安全性是一个很大的挑战,我们通过 Nginx 从网络上隔离运维和开发人员直接访问管理平台,所有人必须通过 mTLS 才能连接管理平台,并通过 ParaPKI 为运维开发人员分配合适权限的个人证书,从身份、权限、时效性来保护管理平台的操作。


由于网络边界的消失,对于传统从内网网络边界的安全访问模型,已经无法适应云原生时代,在云上运维架构和安全实践中,派拉基于零信任理念,通过先认证后链接的方式,保障端到服务、端到端、服务到服务的全链路网络安全。实现全面启用 mTLS,凡是网络传输的数据一律加密,通过零信任网关代理所有对外服务,基于沙箱技术保护客户端自身安全,最终完成整合全链路网络、数据、身份及权限的安全一体化方案。最终保证从开发阶段代码安全、前后端调试安全、到产品运维安全,最后到产品发布服务内部调用方面的一个全面防护。


在实践应审尽审理念方面,派拉通过日志组件审计所有通过网关的用户访问数据,并存储到 ES 中,结合大数据和 AI 的能力对用户的所有访问行为进行分析,结合用户的权限策略来持续的控制用户行为风险,及时发现风险并启用二次强认证来缓解风险。另外,派拉开发了独立的日志审计服务,完全自定义化的配置客户实际需要的日志查询和报表分析的业务。

上云业务实践的 4 个关键点


多租户能力是 SaaS 服务的基础能力,通过多租户用一套资源为多个客户提供云上服务,进而发挥资源的重复利用产生效率。派拉从域名开始进行租户隔离,租户访问进入服务开始对 Redis、elastic、MySQL、对象存储全域的多租户隔离,最大程度保证由租户产生的数据所有权归于租户。未来,派拉与华为云将一起去推动多租户开源组件在开源社区上的贡献。


接下来,准备进行更细粒度的多租户隔离能力,根据租户体量和优先级来决定租户对于资源占用量的隔离,从网络带宽、容器计算资源到数据库存储等中间件的优先响应,都可以基于租户的优先级进行隔离和分配,不仅如此还可以对关键租户提高更加高的体验。


作为一款 SaaS 化的身份管理产品,充分使用了缓存、队列、事件机制保障强大的高可用高并发能力,管理所有租户的用户数据,是所有用户的第一入口。


在大量的用户注册请求进入服务后,通过 MQ 队列机制进行排队消费,达到削峰的效果。用户注册完成后同样通过队列机制调用消息通知服务来降低通用业务服务的压力,保障各个微服务的业务处理能力。


用户注册完成入库后通过 Maxwell 组件监听数据库的 binlog 文件,对新创建的用户推送到 Redis 缓存和 ES 中,从而为更加高并发要求登录业务提供保障。


在安全架构方面,利用原子化微服务架构进行设计,通过基于身份和公钥技术设计的工作负载安全保障能力,并结合微服务的边车模式,在不干扰业务代码的情况下把安全能力通过 Java agent 技术加载到容器服务中,即使单个服务由于未知漏洞被黑客攻破后,也无法横向移动到其他并行运行的服务,最终控制威胁最小化。


用户的访问首先会经过 Gateway 对用户的身份和权限进行校验,合法的用户会被颁发一个身份 Token,这个 Token 会附加到 Http Header 中透传到后续的服务中,每个服务接受到上一个服务的请求时,必须经过两层认证访问,第一基于 mTLS 技术对请求主体的设备或服务的身份合法性校验,第二从 http 请求头中的 Token 来对访问者的身份和权限校验;并持续在调用链路中的每个服务中都会进行校验,保障了全链路的身份和数据安全。


统一单点登录,用户只需登录一次即可访问多个业务系统无需重复登录,虽然看似简单的功能其内部逻辑极其复杂,从如何安全验证用户凭据,保障用户身份不被冒用,到用户在多个系统游走过程中,如何把合法身份和权限信息在多个业务系统中安全传递。


结合产品可支持的多种认证方式和多种认证协议,以身份管理系统为 IDP 为各个业务系统集成完成单点授权和认证,也支持身份管理系统为 SP 通过认证代理到其他第三方的身份认证中心 IDP 去认证,实现多认证中互信能力。


当用户登录平台时,平台会记录用户的登录信息,根据用户行为进行持续风险识别,结合不同的认证方式在不同场景或风险级别调用不同强度的认证能力。


统一的身份治理更加的复杂,不仅涉及到各种身份同步和权限治理的技术,还需要与客户各种业务系统中的实际业务相结合,制定身份和权限治理的指导原则。最终才能做到在用户只登录一次后,完全无障碍的在各个业务系统中安全可靠的处理其业务。

相关链接地址:


应用开发文档:https://support.developer.huaweicloud.com/doc/zh-cn_topic_0000001321416345-0000001321416345

参考示例代码:https://gitee.com/HuaweiCloudDeveloper

问题咨询和专家服务预约(需注册华为云账号):https://support.developer.huaweicloud.com/feedback/?ticket=ST-5385866-mPu9vjwIeAGISrz1rXBAdwt7-sso


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 3
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
DTSE 技术讲座 |云原生架构下的数字身份治理实践_云计算_华为云开发者联盟_InfoQ写作社区