您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [阿里巴巴]:阿里云:2023构建多账号管理云环境白皮书 - 发现报告

阿里云:2023构建多账号管理云环境白皮书

信息技术 2023-08-21 阿里巴巴 杨建江
报告封面

构建多账号管理云环境白皮书 背景介绍一01 1、企业客户上云画像2、管理与治理的挑战3、账号规划的最佳实践010204 多账号设计原则二07 多账号应急登录机制三08 1、创建应急云账号08 2、配置账号SSO09 3、配置应急账号的登录角色09 4、配置成员账号的应急角色09 5、在企业IdP中进行SAML SSO配置10 6、在IdP中创建应急管理员身份组10 7、应急登录号10 8、故障恢复10 多账号架构规划四11 2、共享服务账号3、运维账号1、企业管理账号5、安全账号6、沙箱账号7、业务账号4、日志账号11131415171819 多账号统一管理环境的搭建五20 2、已在用多账号的企业3、使用单账号的企业1、还未上云的企业202126 客户案例六29 结束语七 30 背景介绍 一.背景介绍01 企业客户上云画像 通过观察企业的上云历程,可以将其分为两类:一类以治理优先,另一类以业务优先。 1.1 治理优先带来的价值 这类企业在业务上云之初,会先规划好云上治理框架,包括设计云上多账号环境、身份权限、财务关系、网络规划等等,确保业务部署在可控、安全合规的环境中。 1.2 业务优化带来的价值 这类企业往往先将业务迁移到云上,满足业务上云需求,然后再来解决治理方面遇到的问题。比如企业最初只有一个阿里云账号,业务将生产与测试环境都部署在单个云账号内,随着后续业务的大量上云就会遇到单账号带来的管理挑战。 管理与治理的挑战 相较于提前做好上云规划的治理优先型企业,业务优先型企业随着用云的深入往往将面临更多的管理和治理挑战。 2.1 单账号带来的挑战 不少企业在上云之初,会将全部业务部署在单个阿里云账号内,没有考虑过应该如何设计云上账号体系。随着业务的快速发展,单账号管理面临以下常见挑战: 业务分账困难 云上消费的账单按照账号划分,如果企业想按照不同业务部门精细化分摊成本,可以给资源实例打标签实现分账。但是目前存在一些还不支持标签的云产品,另一方面,难以将共享型资源如流量类产品、容器服务等精细分摊到不同业务线。导致企业无法将业务的IT成本分清楚。 风险范围扩大 单账号企业将生产环境与测试环境部署在同一个阿里云账号下。但是生产环境对稳定、安全的要求往往较高,如果将测试跟生产环境集中部署在一个账号内,可能因为业务人员的误操作破坏了生产环境的资源,进而影响业务的连续性。 新业务试错成本高 业务希望做一些新技术创新,需要有一个与现有生产环境隔离的沙箱环境。如果企业只有一个阿里云账号,那只能在这个账号内购买新的云产品用于试验,可能会影响存量系统,从而影响业务的连续性。 资源部署受到账号容量限制 随着业务的发展,越来越多的资源部署在同一个阿里云账号下,这可能会导致云产品容量的限制。例如单个阿里云账号在同一地域下最多只能开通10个VPC。更多云产品 使 用 限 制 , 请 参 见 请 参 见 h t t p s : / / h e l p . a l i y u n . c o m / d o c u m e n t _ d e -tail/183123.html 2.2 多账号缺乏统一管理面临的挑战 有些企业在上云过程中,会将不同业务资源分别部署在各业务账号内,但缺乏统一管理。比较常见的一种情况就是不同业务比较独立,企业没有一个统一的团队来管理这些业务账号。对于已经使用了多账号但还未对账号做统一管理的企业往往会面临以下问题: 安全风险 企业有多个业务账号,不同账号由各自团队单独负责运维,最常见的问题就是不同账号的安全水位参差不齐。有些团队安全投入较高,配置了很多安全相关的产品。而另一些团队安全投入偏低,配置很少或压根没有配置安全相关的产品,一旦被黑产攻击,会影响整个企业的声誉。 运维规范 有些企业的运维团队会负责制定云上的统一运维规范。如不允许ECS实例、数据库RDS实例开公网、各业务团队必须使用符合公司规范的主机镜像等等。然而运维团队无法统一管理多个业务账号,所以无法下发企业制定的运维规范,导致无法满足企业内部的运维要求。 成本浪费 为了满足行业等保或企业内部的安全合规要求,不同业务账号会配置多个相同的安全类产品如防火墙、加密类产品,这样做会带来成本浪费。因此,企业管理者应该选择一套支持多账号场景的产品来满足不同业务的需求,从而节省不必要的成本投入。 账号规划的最佳实践 针对以上提到的两点挑战,推荐企业构建多账号统一管理策略来管理云环境。 3.1 多账号给企业带来的价值 相比于单账号,多账号管理从环境隔离、安全合规、业务创新等方面都能够给企业带来收益。 使用多账号的逻辑强隔离,实现企业不同业务应用间的相互独立 账号与账号之间默认资源隔离,有助于避免不同业务间的依赖项冲突或资源争抢,而且可以为每个业务设置明确的资源限制。在典型的场景中,企业可以把生产环境、测试环境分别放在不同账号内,实现环境的强隔离。 利用多账号分散风险,最大程度提升资源安全边界,尽可能将危害降到最低 通过多账号消除安全“核按钮”。当非法用户窃取到高权限时,只会影响单个账号,而不影响企业其他账号内的资源。例如,将敏感数据单独存放在一个账号内,对其加以安全约束,确保其安全性。即使企业其他账号的高权限被非法窃取,也难以攻进这个数据账号内,从而将攻击的危害降到最低。 轻松应对大型企业多分公司关系,支持多种法律实体、多种结算模式共存 每个账号对应唯一的法律主体,多账号环境天然支持集团企业的多分公司主体以及不同业务的不同结算模式。在典型的场景中,有些集团型企业在业务发展过程中会投资一些新公司,从而产生不同公司主体。可以通过多账号来支持多种法律实体和多种结算模式的共存。 多账号易于结构化管理,业务的拆分和融合变得简单 当企业业务过多时,如果所有业务都部署在同一个账号中,会导致管理的臃肿。此外,由于业务之间可能存在组织性要求,因此单个账号很难解决这些问题,而多账号则易于实现业务之间的关联。同时,借助账号的独立性,它们可以轻松地拆分或合并到不同的管控域中,并与企业业务适配联动。 满足不同业务的IT运营模型,与企业组织架构映射 随着企业组织越来越庞大,如果将业务全部部署在一个账号内,很难根据账号分清企业组织架构。因此,有些企业将关键的产品线部署在不同的账号内,有助于了解企业有多少业务以及各条业务背后的组织架构。另外,不同组织也会采用不同的IT运营模型,如果所有业务部署在一个账号内,那么无法区分不同的运营模式。 使用多账号可以轻松突破账号级别的配额限制 业务部署在一个账号内,会受到云产品的配额限制。如果将业务按照账号进行分隔开,采用多账号部署,可以避免云产品的配额限制问题。 3.2 多账号统一管理带来的价值 对于使用了多账号的企业,推荐将账号统一管理起来。多账号统一管理给企业可以带来如下价值: 统一管理用户身份,组织内的用户可以使用同一地址登录到不同账号内,不需要切换到不同账号进行登录。统一管理用户权限,组织内的管理员可以在一个系统中配置不同账号内的用户权限。统一管理业务合规规则,组织的安全合规团队能够在一个系统中完成审计规则下发与结果查看。共享资源,如专有网络VPC实例、资源编排ROS模板、服务目录产品组合等云资源,可以共享给不同业务账号使用。统一管理账号安全,组织内的安全团队可以使用一套安全产品来管理不同业务账号内的安全。统一管理运维,可以使用统一的监控产品、日志服务来管理不同业务账号内的应用。统一分账与结算,组织内的财务团队能够在一个账号中完成对不同业务账号的付款与费用查看。 综上所述,推荐以多账号架构为基础,完善企业云上IT治理体系。推荐使用阿里云的资源目录RD(Resource Directory)来帮助企业实现多账号的统一管理。 多账号设计原则 二.多账号设计原则01 以上介绍了多账号及账号统一管理给企业带来的价值。规划符合自身业务形态的多账号是每个企业都需要考虑的问题。推荐多账号的几条参考设计原则: 区分生产、非生产环境。建议将不同环境部署在不同账号内。不在管理账号内部署业务用到的云资源。管理账号只用作管理,避免权限过大导致的越权风险。管理账号内要做好身份安全设计,开启MFA认证,避免出现管理员身份泄露。多账号使用统一登录,提升人员登录账号效率。随着业务发展,需要将业务部署在新账号。推荐使用账号工厂,快速创建安全合规的新账号。 多账号应急登录机制 三.多账号应急登录机制 多账号统一管理场景下推荐使用云SSO来满足用户多账号的统一身份管理。尽管云SSO服务本身已经具备高可用,但在这篇白皮书中仍然会提供特殊情况下的应对方案。 当企业启用云SSO作为多账号的统一身份管理服务后,如果云SSO服务发生故障,员工将无法通过云SSO登录控制台。在故障修复过程中如果出现需要马上处理的故障或安全事件等,需要使用备用的登录方式。 以下提供一种预防性配置,作为在特殊故障时期的应急登录方式。需要说明,出于维护成本和效率的考虑,该方式只配置若干必要角色,在特殊故障时期可以快速登录解决问题,并非为每个员工配置应急登录。 创建应急云账号 在资源目录中创建一个应急云账号Emergencyaccount,作为故障期间应急人员的身份管理账号,同时作为登录其他云账号的跳板账号。 (1) 不建议使用企业管理账号MasterAccount作为应急云账号,因为企业管理账号可以管理和控制企业资源目录内所有成员账号,除核心管理人员外应该避免非必要的人员登录,以免造成安全风险。 (2)不在Emergency account账号内配置任何业务资源。 配置账号SSO 在RAM访问控制产品的设置中,配置企业自有身份管理系统与应急云账号的角色SSO登录。具体操作步骤请参见https://help.aliyun.com/zh/ram/us-er-guide/overview 配置应急账号的登录角色 在应急云账号Emergency account中创建一个应急角色EmergencyRole,角色的可信实体为上一步创建的身份提供商,并授予角色AliyunSTSAssumeR-oleAccess的权限。 配置成员账号的应急角色 确认哪些账号有应急事件处理的必要性,例如,生产和管理账号配置应急角色。而沙箱账号、测试账号、审计账号、未上线的新业务等不影响当前业务生产、不会发生紧急事件的账号不需要配置应急角色。 在重要的生产账号中配置应急角色EmergencyRole,根据业务需要授予必要的权限,以保证在应急场景下足够能处理紧急事件。 因为应急处理需要查询日志、重启服务器等权限,所以建议企业根据职责权限划分若干个必要角色,例如只读角色、运维角色等,避免单个角色的权限过大。 在企业IdP中进行SAML SSO配置 在企业IdP中进行SAML SSO配置,需要注意配置的是从IdP到应急云账号Emergency account的角色SSO。metadata需要登录应急云账号,在访问控制的SSO管理中获取。具体操作步骤,请参见https://help.ali-yun.com/zh/ram/user-guide/configure-aliba-ba-cloud-as-a-trusted-sp-for-role-based-sso 在IdP中创建应急管理员身份组 在企业自有身份管理系统IdP中创建一个应急管理组,正常情况下组内没有成员用户。当出现云SSO故障时,将需要立即访问阿里云的关键人员加入到应急管理组中,从而获得访问阿里云资源的能力。 考虑到应急管理员拥有较高的权限,建议在IdP侧加强权限管理,仅允许特定人员加入应急管理组,并通过提高密码强度,多因素认证等手段加强身份认证等。 应急登录 应急管理员通过角色SSO的方式登录到应急账号的应急角色,然后通过扮演成员账号的应急角色获取相应权限。 故障恢复 在故障恢复后,及时将应急人员从应急管理员身份组中移出。