阿里云Landing Zone系列--2 资源目录之--多账号

系列文章目录

第一章 阿里云云治理中心使用
补充-业务场景说明
第二章 资源目录之–多账号


前言

上一篇学习了云治理中心,感觉云治理中心更像是面向缺少资源的客户,但又希望云端资源能够规范化,满足合规要求,那么使用云治理中心是一个快速实现目标的选择,并且,下面的几个问题,目前还没想清楚:

1 假如我有资源和能力自己来做云资源的治理,比如,直接通过企业-》资源管理来创建资源目录,资源账号,分配权限等,那么,我是否需要用云治理中心呢?
2 假如我已有了资源目录,并创建了一些资源账号,做了一部分的治理工作,那么,我是否有办法在云治理中心中,导入这些配置,并补齐尚未建立的配置呢?看文档是可以的,但我没有实验成功,后续需要再试试
3 一个集团情况下,使用一个云治理中心统管所有原资源,还是基于各个子集团/公司,来设置多个云治理中心,分别给不同的账号用,若是后者,那么多个云治理中心怎么关联和同步来确保大的审计合规和管理呢?
4 多云情况下,集团/公司的管理如何在不同平台实现呢?各自管各自的,还是通过第三方厂商?
5 感觉云治理中心,主要围绕资源目录来实现,这部分可以通过Terraform等一些IaC方案来实现,那么Portal, Terraform等,如何选择呢?

又回顾了云治理中心,感觉他的核心功能,还是依托与资管目录以及资源目录下一些关联的多账号,至于其他的诸如资源分析,合规审计,都是在这个资源目录以及多账号体系下的延展服务,作为Landing Zone方案,以及云治理中心服务的核心服务之一,资源目录,到底是一个什么样的产品呢?

这边文章,就是梳理一下我理解的资源目录功能,看一下他的核心功能之一多账号管理,是如何实现,以及怎么使用的。

一、资源目录是什么?

阿里官方文档: 资源目录RD(Resource Directory)是阿里云面向企业客户提供的一套多级账号和资源关系管理服务。
链接地址: https://help.aliyun.com/document_detail/200506.html

二、方案学习

1. 学习途径-阿里云最佳实践

为了具体了解资源目录,这一片文章选择了阿里云的最佳实践-资源管理,https://bp.aliyun.com/detail/113
通过这个最佳实践,来看一下,资源管理服务怎么用,能带来什么收益,解决什么问题。
资源管理最佳实践,主要是通过资源目录,以及关联的账号,将企业内的云资源按照一个合理的方式规划和管理,下图是这个方案的架构图,通过架构图可以看到,在方案中,所有的云资源按照: 1企业根目录-> 2资源文夹(最多5层)-3账号->4 资源组->5 资源 这种层级来管理企业所有的云资源。 其中,资源根目录,资源文件夹是账号(资源账号,云账号)以及各种云资源,策略的容器,这个容器中,除根目录外,可以向下最多延展5层,形成一个树形的目录结构, 目录中各个文件夹可以容纳不同的账号以及云资源。下图是按照部门,组,产品(项目)做了一个3层的目录结构,根据这个结构,不同的账号分别管理不同的云资源。
在这里插入图片描述

2.方案要点及理解

基于假设的场景case01,我觉得阿里云最佳实践之资源管理,处理了需求1,需求2的部分要求,以及3合规审计的部分要求。
该方案主要实现了以下几个功能:
1 创建了资源目录,云资源可以依据组织架构进行分类和管理
2 实现了多账号管理
3 实现了资管管控策略
4 使用资源组进行资源管理

构建多账号的资源管理体系,首先需要有统一的账号架构。阿里云账号有多层含义,首先,每个云账号都是完全隔离的租户,默认在资源访问、网络部署和身份权限都是完全独立和隔离的,这样就可以将有强隔离诉求的业务以云账号独立部署;其次,云账号都关联账单,也就可以将不同业务部署在不同的云账号,实现成本的独立核算和出账。使用多账号有如下几个优势:
。业务强隔离
。匹配不同业务的外审合规
。独立结算
。突破单账号 Quota 限制

知识点1. 方案架构

根据多账号的上述特点,我们可以依照下图划分账号,也可以根据实际需要选择合并或继续拆分账号
在这里插入图片描述

知识点2. 几个不同的账号概念

从管理的角度上来说有以下几个账号类型:
1 主账号:企业管理主账号包括资源目录(RD),用于管理多账号。可以使用这个账号作为财务托管账号,统一由这个账号来对其他账号进行统一支付结算,统一查看云账单。统一由这个账号配置配置审计的规则并下发到各个成员账号
这里面需要注意,每个资源目录有且只有一个管理账号,若需要多个人员管理,可以创建一个RAM账号,并赋予该RAM用户并授予管理员权限,使用该RAM用户管理整个资源目录,其中管理账号位于资源目录外部,不归属于资源目录,所以不受资源目录的任何管控策略影响
2 功能账号:包括安全账号,日志账号,运维账号,这些账号主要用来做一些功能性的配置,注入WAF配置,防火墙,日志服务配置等
3 共享服务账号:企业共享服务将部署在这个账号内,例如网络配置,统一出入公网IP等
4 业务账号:每个业务线中创建的账号,业务账号一般分生产和测试环境

这里面,功能账号和共享服务账号有点相似,区别是什么呢?我个人感觉,功能账号,主要是面向职能人员的,比如运维人员,审计人员,安全人员,而共享服务账号,服务账号面向应用的,这个应用是一些基础服务应用,比如EIP,NAT,企业网等,这些服务可以理解为技术性的业务

从账号的类型上来说,
一共只有3中账号类型 云账号,资源账号,RAM账号,其中云账号,RAM账号是阿里云之前就有的, 而资源账号,目前仅存在资源目录服务中,并且需要和RAM或者云账号结合使用,无法自己单独使用,也就是无法使用资源账号直接登录阿里云,资源账号必须被RAM账号角色扮演才能使用

  • 小结:多账号是阿里云Landing Zone方案中一个核心的能力,这个能力以资源目录作为载体,利用STS,RAM等来实现,多账号中会有主账号,成员账号之分,成员账号又有资源账号和云账号不同的账号类别。

知识点3. 引入资源目录的流程

按照之前提到的场景,现在使用阿里云资源目录来实现的情况下,我们进行多账号合并管理,大致的流程如下:

  1. 梳理现有的账号,云资源,以及相应的权限
  2. 若现有的云账号下,存在没有任何资源,也没有使用资源目目录的云账号,则使用一个这样的账号作为资源管理的主账号,若所有云账号都有资源,或已加入资源目录且不方便退出,创建一个新的云账号,使用该账号作为资源目录的根目录主账号
  3. 使用主账号登录,并在该主账号下创建一个RAM用户,赋予AliyunSTSAssumeRoleAccess(允许账号切换到角色)和AliyunResourceDirectoryReadOnlyAccess(允许只读使用资源目录),就暂且称作模拟者1吧,他的主要作用就是登陆后模拟后续步骤中创建或邀请的成员账号,做一些初始化的动作。
  4. 按照企业需要,创建资源目录,可以从应用的角度,也可以按照组织架构比如子集团/公司,事业部等,最后到项目或应用的角度,这个主要从企业实际管理的角度出发
  5. 在各个目录中创建相应的账号,根据实际需要,在特定的层级添加资源账号
  6. 在资源目录中根据管理权限需要,创建不同的RAM账号和权限(后续会按照场景补充具体细节),这一阶段的工作,会涉及两个不同的操作方式
  7. RAM账号和权限建立后,即可开始购买资源和使用资源。

知识点4. 成员账号管理的方式

在整个流程中,阿里云的最佳实践各个步骤写的都很详细,没有必要再做重复描述了,但有一点,我觉得是需要在梳理一下的,就是步骤6中的资源目录中成员账号和权限如何去管理,会涉及两个不同的方式:
在这里插入图片描述

方式2
在这里插入图片描述
因为是是管理方式,所以太技术的描述,不太让人容易懂,那么,这两个方式,怎么选择呢,什么情况下使用方式一,什么情况下使用方式二?
根据架构图,这两个方式核心的区别就是真正负责登录Portal进行操作的RAM用户是在成员账号这一层创建(方式1),还是在资源目录主账号这一层创建。 因为资源目录的主账号与其成员账号(分为资源账号和云账号)只是存在资源目录上的层级关系,并不是 RAM 主子关系,实际上主账号、资源账号、云账号三类账号都是有唯一的 UID,所以,若使用方式1,各个RAM用户之间其实是相互隔离,没有什么联系,管理的时候,需要模拟成员账号进行查看或管理(或者使用成员账号下具有管理员权限的RAM用户管理),也就是需要使用或者切换不同的账号,若使用方式2,则成员账号不需要创建自己的RAM用户,只需要创建相应的角色和权限即可,所有用来模拟成员账号的RAM用户都在主账号中创建。

根据这个区别,这两个方式在使用场景上核心的区别就是实际参与资源管理的人或者说一线的维护人员是在哪个层次,也就是这些人员的维护是在一起还是分散到不同的子集团/子公司。

还是以以场景1作为背景,假设现有的云资源管理规则是总部IT云资源小组指定的,那么:

  • 若总部IT云资源小组负责管理整个集团的云资源的运维,各个子集团/分公司不再拥有云资源的运维人员,或者各个子集团/分公司仅有个别子公司拥有1,2个对阿里云不太熟悉的员工负责一些资源运维,但整体是受总部IT云资源组管理和指导的,那么采用方式2,并为云资源小组中负责具体运维的人员分配RAM账号,然后这些人员用切换角色的方式,切换到自己管理的资源目录对应的角色来管理旗下的资源。对于方式2的管理员来说,他是有视角和页面来查看全局的可以模拟成员账号的RAM用户的。

  • 若总部IT云资源小组仅仅是做一些规则管理,安全框架的搭建,也就是仅仅做管理流程,规则的设计,但不做具体操作,所有的具体操作由在各自子集团/子公司的云管理小组人员负责,则采用方式1, 这个时候,若需要给自己的管理人员分配RAM账号,需要当前成员账号下至少有一个具有管理员权限的RAM账号,用它来再创建相应的RAM账号和权限,并分配给不同的运维人员。对于方式1来说,无论是主账号还是成员账号下具有管理员权限的RAM账户,都没有一个全局的视角或者页面来查看所有的可以模拟成员账号的RAM用户,因为这些RAM用户分散在不同的UID账户下。

  • 这两个方式可以混合使用,因为实际情况中,确实会有一些子集团/公司It规模较大管理比较独立,而其他子集团/公司不具备云资源管理资源的情况

总结

看了阿里的资源目录RD(Resource Directory)最佳实践和产品说明,理解如下:

1 在实际场景中,我们一般用云账号主要作用是付款,账单等财务相关的目的,而且云账号内的资源有着天然的隔离性,而RAM则作为日常维护,管理用的账号,毕竟RAM账号删除,修改角色,赋予权限灵活度比云账号更好一些。
2 资源账号和云账号类似,都可以用来隔离资源,而资源账号更像一个逻辑上的云账号,他可以不关联具体的手机号,资源账号主要的关注点就是负责的资源目录范围以及结算方式,这两个逻辑上来说和账号的注册方式,手机号,负责人等是没有太多关联的/
3 资源目录中的账号,统一称作成员账号,权限实际是放在在成员账号这个逻辑上的,成员账号可以是资源账号,也可以是云账号,但是,要想行使成员账号的权限,必须用角色扮演的方式,没有其他办法,即便账号类型是云账号,登录后依然无法行使成员账号的权限,必须用该云账号下的RAM账号登录然后模拟角色。 你
4 从阿里的最佳实践上来看,资源管理最好的方式是用资源账号+RAM角色扮演,其中,最主要的一点是,在云账号中,可以有自己单独的RAM账号,这个是和云账号,主账号的RAM账号完全独立的,这一点,可以从RAM账号的后缀体现。我理解,资源目录之所以允许云账号,是因为历史遗留,需要兼容现有的一些架构。
5 多账号是阿里云Landing Zone方案中一个核心的能力,这个能力以资源目录作为载体,利用STS,RAM等来实现。
6 成员账号的管理,依据企业实际情况,可以采用不同的方式,分别在主账号和成员账号中创建具有管理员角色的RAM账号或角色,使用模拟用户或切换角色的方式来管理不同目录下的资源。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值