作者|迪卡侬中国IaaS基础设施团队
导语:迪卡侬集团于1976年在法国创立,开创了把所有的运动汇集在一个商场内的销售概念。创立之初,我们的创始人Michel Lerclercq(米歇尔·勒雷克)先生,希望在未来数十年里实现在一家商场可以实现购齐所有品类的体育用品的愿景。没想到,仅用了十几年就实现了。今天,迪卡侬的零售业务已经覆盖全球60多个国家和地区,踏足五大洲,满足运动初级爱好者到发烧友的需求。集团致力于大众运动领域,集运动用品研发、设计、品牌、生产、物流及全渠道零售为一体,目前在全球拥有1600多家商场,服务于60多个国家和地区的顾客,员工超过90000人。在中国截至2021年12月底,拥有近300家商场实体店遍布全国百余个城市,同时2009年起步的电子商务业务已经覆盖超400个城市。
迪卡侬中国与阿里云合作加速体育生态圈数字化转型
作为全球最大的综合体育用品集团,迪卡侬已经进入中国近20年。现在,中国已成为迪卡侬全球实现完整全产业链布局的关键市场,迪卡侬也希望将中国作为集团数字化转型的创新中心,在全球高水平开放合作中承担重要角色,迪卡侬将推进具有全球影响力和领导力的合作项目优先落地中国。2021年初,在迪卡侬CTO陈颖弘的带领下, 迪卡侬与阿里云(Alibaba Cloud)签署中国区合作协议,依托双方产业生态系统强强联手,以领先的云和数据解决方案,加码体育新零售构建,加速迪卡侬在华数字化转型和新零售创新发展。
“数字化的灵魂是技术,数字化团队的远景就是让迪卡侬在数字化竞技场驰骋。”迪卡侬CTO陈颖弘表示,“选择阿里云作为新的技术合作伙伴,对迪卡侬来说具有重要意义。这是集团首次与国产云开放合作,也是全球范围内首次实现云服务属地化,而迪卡侬中国在业内率先进入全云时代。它将支持迪卡侬全产业链智能开发的高速更新迭代,实现在地化蜕变。双方将首先聚焦物流和电商生态系统,高度整合资源,迪卡侬全球化的全产业链经验与阿里云基于中国本土的经济、技术洞察相结合,以技术赋能新零售体验,在新消费时代为大众用户带来领先的数字化解决方案。”
迪卡侬借助阿里云Landing Zone管理框架设计
迪卡侬中国IaaS基础设施团队主要负责迪卡侬国内应用在云上的基础架构设计、部署和维护,为迪卡侬各业务部门提供符合企业内部安全合规标准的云基础设施。2021年初,IaaS团队负责人廖隽文带领团队开启在阿里云上符合迪卡侬需求的Landing Zone设计与部署工作。阿里云Landing Zone云管理框架,为企业提供包含身份管理、资源管理、网络规划、财务管理、合规审计、安全防护的云上IT顶层架构设计及治理落地方案。帮助企业合理规划、治理云上IT环境,实现高效协同、安全合规及成本管控。Landing Zone通过行业最佳实践为企业创建可配置、可扩展、安全合规的多账号环境,是应用程序上云迁移旅程的起点,更好的适配业务高速发展的需求。
基于阿里云的最佳实践,迪卡侬随即完成了对以下核心板块的云管理及整体架构规划,并将其丰富的多云治理经验复用到阿里云上,以达到安全合规、可管理、可扩展的管理诉求:
—— 资源管理:需要有以项目为基础单位的独立环境,能够清晰的对每个应用项目进行管控、授权;有集中化的环境去放置IaaS团队提供的基础服务;另外对于供应商管理的项目能够做到内网隔离。
—— 身份安全:需要保证所有的用户能够使用迪卡侬员工ID进行单点登录(SSO)和多因素认证(MFA)。
—— 自治管理:希望在符合公司安全要求的情况下拥有最大的自主性,从而仅将认证流量定向到迪卡侬总部提供的身份系统(IDP),但授权管理能够在本地团队内控制。
—— 运维效率:不希望多账号体系会带来大量的重复性工作,希望拥有对使用场景相似的用户对账户批量授权的功能。
—— 费用成本:不希望治理的架构会产生高额的费用。
迪卡侬身份权限体系的规划设计与现实挑战
随着企业上云的进一步深入,企业采购的云资源迅速增多,资源、项目、人员、权限的管理逐步增加复杂度。在身份权限体系的规划设计上,多账号上云模式逐渐成为多业务上云的重要选项。同时,多账号的有序管理和组织,如何能够纵览全局、如何能够统一管控,都是影响企业管理及业务效率的关注问题。使用多账号的逻辑强隔离,能够实现企业不同业务应用间的相互独立,这将避免如单账号场景下,不同业务间发生依赖项冲突、资源混用、运维操作互相影响的弊端;多账号可分散风险,提升资源安全边界,避免管理风险隐患牵一发动全身波及所有业务;便于企业按照不同资源账号,实现清晰的财务分账;也有利于应对大型企业多分公司关系,支持多种法律实体、多种结算模式共存的结构化管理诉求。
在资源管理上迪卡侬遵循了多账号管理最佳实践,使用了阿里云资源目录(RD)产品作为多账号分级管理结构的基础,为每个项目创建独立的云账号,并将这些云账号按照树形结构组织起来,有效的解决了统一资源管理的诉求。然而,在进行身份权限管理架构设计时,发现当时阿里云并没有产品能够完美契合需求。因此,双方协商决定以结果为导向,迪卡侬先采用RAM角色SSO作为临时解决方案。具体做法是:在每个新账号开设后,创建SAML身份提供商并进行角色SSO配置。每当有用户需要进行授权,迪卡侬就进入对应账号,创建新的RAM角色或复用已有的RAM角色,并授予RAM权限策略,最终完成整个配置。然而,这个临时解决方案的挑战在于:
- 因为RAM角色SSO的作用范围是云账号,不得不在每个云账号内重复性的创建SAML身份提供商与RAM角色。
- 云管理团队以及项目用户都有很多相似的权限,但是这些权限必须要在每个账号中分别创建,并授予RAM角色,进一步增大了管理成本。
- 为了使预设的角色权限不被破坏,云管理团队必须仔细控制,杜绝高权限角色。一旦控制不得当,就会造成安全漏洞隐患。
- 由于权限分散在各账号中,无法拥有全局的授权视图,只能靠一些额外的工具记录每次授权行为,非常不利于排查问题、合规审计等场景下的使用。
云SSO助力迪卡侬的多账号身份权限管理模式落地
在项目落地执行上,迪卡侬目标明确,项目相关负责人姚毅和冯天然表达了希望能通过基于资源目录(RD)的统一身份权限管理产品来解决临时方案所面临的以上问题的需求。这个需求与阿里云产品规划及发展路径不谋而合,2021年8月,阿里云正式推出了新产品“云SSO”以完美契合迪卡侬在云上身份权限管理的最佳实践诉求。
云SSO(Cloud SSO),是基于阿里云资源目录RD(Resource Directory)的多账号统一身份管理与访问控制产品。当一个企业拥有多个阿里云账号时,使用云SSO可以统一管理企业中使用阿里云的用户,一次性配置企业身份管理系统与阿里云的单点登录,并统一配置所有用户对RD账号的访问权限。
只需要几个简单的步骤即可完成云SSO的基本配置,有经验的技术专家甚至只需要半小时。这些步骤包括:
- 在云SSO中创建用户及用户组,或进行用户同步配置;
- 配置单点登录;
- 创建一系列权限集合(称为访问配置);
- 为每个用户或用户组针对RD中的不同账号进行授权。
完成配置后,云SSO会在每个RD账号中创建对应的RAM角色并完成授权。用户只需要登录到云SSO用户门户,就可以一站式查看自己有权限访问的账号,并且可以一键直接进入阿里云管理控制台。以上云SSO的配置管理过程可以用一张图直观的体现,如下:
根据迪卡侬的实际情况,云SSO为企业实现以下几项管控能力:
✔ 使用迪卡侬企业IdP进行单点登录。在单点登录方面,迪卡侬使用云SSO来设置和总部IdP对接的SAML配置,从而满足所有员工使用迪卡侬企业IdP登录的全球规范。由于此配置只需进行一次,而无需针对每个RD账号分别配置,使得我们与总部的沟通效率得以大大提高。
✔ 以项目为单位进行权限分离。项目是迪卡侬在云上所有业务的基础单元。在RD中按照项目划分成员账号,在云SSO中,同样基于项目实现权限分离控制。
主要的配置工作如下:
1. 使用用户组对云上不同用户以项目为单位进行分组;
2. 使用访问配置管理为每个项目创建独立的访问配置,并按需赋予权限;
3. 将用户组、云账号和访问配置进行关联,从而极大的减少了权限管理工作量。
首先,以用户组为单位对使用阿里云的人员进行管理。IaaS基础设施团队、安全团队等管理团队按照不同职能,其成员会被分配不同的用户组,这些组在命名上以hosting开头,以下称为管理员组。而针对每个项目,则依据其成员的具体角色不同,按照项目+角色的维度创建多个用户组,并将项目成员分别加入到不同用户组中;这些组在命名上以项目名开头,以下称为项目用户组。
接下来,迪卡侬项目组在云SSO中创建一系列访问配置,来对应不同用户组所应具有的权限集合。为管理员组创建的访问配置,其命名与用户组名称保持一致,大体上分为以下几类:
⮚ ram-admin:拥有授权的能力,因此也就相当于超级管理员;
⮚ admin:拥有云上全部资源的管理权限,但没有授权的能力;
⮚ paasadmin:拥有云上PaaS级别服务的权限,如RDS,Redis,ELK,KFK等;
⮚ readonly:拥有云上资源的只读权限,无写权限;
⮚ custom:其他特殊需求下的自定义权限。
为项目用户组创建的访问配置同样保持与用户组相同的名称,且其分类与管理员使用的权限也基本一致。即使每个项目最终分配给用户的权限可能会相同,但是我们依然坚持给每个项目都分配独立的用户组和访问配置,以此保留以项目为单位对权限进行微调的可能性。
最后,迪卡侬项目组在RD结构中,为管理员组在所有账号上授予其对应的权限,项目用户组则仅在其项目所使用的账号上授予对应权限,从而达成不同用户均可以按照应有的权限访问不同账号的目的。这些配置是一次性的,之后如果一个用户需要多种不同权限,管理员只需要将该用户加入对应用户组就可以了。
在云SSO中,项目组设计的用户组、权限集合、阿里云账号的映射关系如下图所示:
✔ 新增项目、权限变更的自动化实践。迪卡侬计划基于云SSO的Terraform规则创建Terraform module,实现对全部身份权限管理工作的自动化。每当有新项目立项时,项目管理员会执行Terraform脚本,完成用户组管理、访问配置创建、目标RD成员账号权限配置等操作。如果现有项目发生人员变更或权限变更,也会同样通过内部工作流来完成配置更新。
下图为部分代码示例:
小结
目前,迪卡侬中国IaaS团队管理着近百个项目, 近千名迪卡侬跨部门技术人员以及供应商对阿里云的统一身份集成和权限控制,在确保所有用户通过企业IdP进行单点登录的同时,达到了较高的配置效率,并实现了完整的管理机制。未来,迪卡侬还计划使用阿里云CloudSSO进一步实现用户自动同步、权限分级管理等更灵活高效的管理方式。同时将使用更多与RD集成的IT治理产品,如云防火墙、云监控等,来进一步提升迪卡侬中国的云上整体IT管理及治理能力。
迪卡侬与阿里云从Landing Zone云管理及治理架构的设计开始,到本次云SSO新产品上线助力迪卡侬实现多账号身份权限体系,整个合作与落地过程中,阿里云产品技术团队一直提供的专业和周到的服务,不仅体现在云架构方案设计、还包括技术产品选型建议、以及新产品功能的推进上,都给予了迪卡侬中国IaaS基础设施团队宝贵的意见与帮助,和高效的需求响应,这些都体现着阿里云一直以来"客户第一"的原则。双方将在云计算、互联网、人工智能以及企业服务方面持续部署合作,加速迪卡侬在中国体育生态圈布局和智能商业数字化转型。