自动化场景-高效创建安全合规新账号

更新时间:2025-01-23 06:33:35

本视频围绕云上环境运维中最典型的场景之一——创建账号,为大家介绍怎么通过自动化的手段,高效、安全合规地创建新的云账号。视频中包含具体实操演示。

自动化场景-高效创建安全合规新账号

以下是视频转写全文,供参考:

hello, 大家好,欢迎来到阿里云开放平台自动化专栏Auto Talk。我是来自阿里云开放平台解决方案架构师-遥方。本期我会给大家带来的一个分享是:怎么样通过自动化的手段,高效地创建一个新的云账号。

首先我们来看一下,为什么我们要去创建这个新的账号,这里面我总结了三个典型的场景:第一个就是一个异地站,比如说我们看到有一些客户,你的业务是布在杭州,对吧?你担心今天杭州这个地域可能不稳定,所以你是希望把这个业务建到,比如说上海或者是北京,那这个时候你往往会选择拿一个新账号来部署上海跟北京的业务。

第二个场景,也是我们现在看到很多国内的企业,因为在国内企业发展的话,

也受到一些政策的约束,所以他会把这些业务迁移到海外。在出海的过程中一定会面临例如欧洲和美国等区域对这种安全合规的要求。往往在这个时候,他们会选择把海外的业务单独部署在一个新的账号中,以满足当地的一些安全合规诉求。

第三个的场景是一个新业务的上线。比如说今天举个例子,假设您的企业是一家游戏公司,那么您今天要开发一个新的游戏。在游戏上线时,最好是选择一个新的账号,把这个游戏部署在这个新的账号中,便于后续人员的权限管理和财务分账等方面的良好的管理。这是从客户的视角,我们看到一些场景,接下来我们来看一下,作为云厂商,我们为什么推荐客户选择多账号来部署。多账号能够带来的好处,我这边大概列了四点。

第一个就是一个强隔离,大家知道今天我们在使用云账号的时候,如果把业务放在一个账号里面的话,所有的风险都在一个账号里面,对吧?那如果说今天你在选择一个新的账号的话,那一定能做到两个账号之间其实是一个物理的隔离的,就是新账号的任何的问题都不会影响到你现有的这个业务了。因为它是一个物理的隔离,所以在安全上能够做到更清晰的安全的边界。不同的账号的话,它的安全都是归自己的这个范围。同时,你的风险也能够比较好地分散。因为就算有一个账号挂了,比如说测试环境跟生产环境,如果说测试环境受到了影响,对你的生产业务是不会有任何的影响的。

最后一个要说的是,在财务方面,我们也能够从这个账号级别来更清晰地看到不同的业务和不同的部门的账单情况。前不久,我们阿里云这边也发布了一个多账号的白皮书。关于企业为什么选择多账号,以及我们为什么推荐客户使用多账号,我们也有这样一份白皮书。如果大家对这份白皮书感兴趣,我们这边也有个链接,大家可以去下载。

刚刚讲了多账号的好处,那么我们有没有一个比较好的方式,一个高效的方式,自动化的方式来提升我们整个账号的创建开通的效率。所以今天我给大家带来的这个分享,就是账号工厂,通过这种自动化的方式,能够高效地把这个账号开出来。

那怎么来理解这个账号工厂呢? 我这边有一句话是这么来说的,就是我们的运维管理员在交付账号之前,需要对这个账号里面的基础的配置进行处理。比如说这个账号里面的访问配置、账号的联系人、消息的通知以及网络配置,其实都需要在控制台上进行一些配置的操作的。但如果通过控制台操作,最大的问题就是这些操作不可复用的,而且很容易出错,而账号工厂就能够很好地解决这个问题。

那它是怎么来解决呢?本质上就是说今天我把这个账号里面的一些配置变成一个基线。如果我们只要把这个基线维护好,有了这个基线之后,今天我把这个账号创建出来之后,我把这个基线直接下发到这个账号里面。这样所有的账号的基线都能够保持一致,而不是说在控制台上,今天在A账号里面有一些配置,在B账号里面漏掉了,这样的话其实就是不一致的。

所以总结来说,他其实是做了两件事情,第一个是说我们通过资源目录这样的一个产品,能够快速地创建出一个新的实名认证账号。如果我们没有用到资源目录的话,那之前我们在控制台上怎么做呢?我们要再去注册一个新的账号,然后完成这个企业的实名认证。往往这个周期的话,快的话可能一周,如果长的话可能两周、三周甚至更长。对于企业来说,如果他们要快速地部署业务的话,这个时间是很难接受的。

账号创建之后,您还需要控制台上完成一些配置,比如访问配置,您要配置他的IDP,创建用户,创建角色等等。如果在控制台上进行配置,周期会很长,而且容易出错。因此,在账号工厂中,我们将这些内容转化为最佳实践,形成一个模板,以便能够快速映射到这个新账号中。

账号工厂的概念我们讲完了之后,接下来我们去想一想,今天如果我要去用账号工厂的能力的话,我们可以怎么来做。我今天在这里面给大家分享两种方式。

第一种方式是通过云治理中心,可以在这个阿里云的控制台上面直接使用了。但这里面有一个前提条件,即必须拥有一个企业的实名认证账号。而且我们建议这个账号是一个空白账号,就是说里面没有跑我们的一些业务,它其实际上是一个偏管理的全新的账号。

在我们的这个账号工厂里面,有几个能力。第一个就是它有一个基线。我刚才讲到这个账号工厂的基线,对吧就是这个基线里面,包括比如说你的账号的防护规则、访问配置,以及账号里面的ROM用户密码的强度的设置、联系人等。我们把这些东西统称为这个账号的基线。我们要对这个账号的基线做一些管理。

第二块就是说我们可以去通过云治理中心的这个账号工厂,能够快速的去创建出一个新的账号出来。并且把这个基线应用到这个新的账号里面去。有一些有些企业的话,它因为它已经是在阿里云上有一定的存量的账号了,那是不是也可以用云治理中心账号工厂把这个基线映射到存量的账号里面。这样的话就能够做到说今天你比如说你管了十个账号对吧,或者是20个账号 那这些账号里面所有的基线能够保持一致,

第二种方式,有些企业的自动化能力是比较强的,它可以通过API或者Terraform等自动化的工具来完成这样的账号工厂的方案。我在介绍这张图时,其实用的就是我们开源的Jenkins,当然企业也可以用其他的产品,比如GitLabPipeline工具。您只需将Terraform代码写好后,提交到流水线中运行。运行结束后,效果可以参考左下角这张图,这张图展示的就是Jenkins运行的效果。我们可以看到,它会分几步进行。首先创建一个新的账号,然后在执行过程中也能看到一些日志的输出,我们可以看到它具体做了些什么事情。

然后接下来会去创建IDP,创建角色,然后再创建网络等等,我们可以根据这个企业的不同现状进行调整。比如说你现在不仅仅是创建VBC,你可能还需要创建一些计算类的资源,比如说ECS和数据库,这些都可以在我们的Terraform中进行填充和扩展更多的代码模块,以满足你的需求了。

今天的话,当然我也不只是讲PPT了,我也会给大家来直接秀一张代码。就是我们真正的用Terraform来实现账号工厂。在执行这个代码之前,我再讲一下,这个代码大概会做哪件事情。首先会去创建一个新的账号,然后第二个会在这个账号里面完成一个IDP的配置,接下来会创建用户,会创建角色,然后给角色授权。最后,我们会创建VPC跟我们的这个交换机。但是如果大家想去体验这个程序的话,可能要提前准备一下要有一个企业的实名认证账号,因为只有这个账号完成了实名认证,他才能够去做这样的一个脚本。这个分享材料大概就到这里。然后接下来我们就是来看一下这个代码以及这个代码的执行是怎么进行的。

首先我们看一下代码的结构,代码里面有两个大的文件夹,一个是模块(module)。module里面,我们会定义一些Terraform的常见模块。首先,第一个是IDP模块,旨在创建账号内的IDP,我们会有一个封装的模块。第二个是网络模块,在这里面我们可以创建VPC、VSW,将这些资源放在一个模块里面,以提升代码的复用率。还有一个是我们的角色(Role),RAM角色的一些操作。

然后下面的话是我们的账号工厂,就是我刚刚给大家演示的,它是分几步。比如说首先它要先创建一个账号,然后说明账号是怎么创建的。然后我们可以看到,这里面的代码是怎么写的,它是通过有很多这样的resource在里面,然后它会去执行对应的代码,最终创建好这个账号。

创建完账号之后,我们会去创建IDP对吧,创建IDP,然后一样的,我们也会有这个代码在里面,然后会去创建这个role,创建role也是一样的

好,接下来的话我们来看一下,创建完成后的效果。我们这边有一个,这是我的这个账号。这个账号里面其实已经完成了企业的实名认证,企业实名认证建完之后,就可以去创建资源目录了,这个是我们的资源目录。我们这里有一个文件夹账号工厂,一会儿我会在这个账号工厂的文件夹下面创建一个新的账号。然后再进入这个账号,我们来看一下它的一些配置是否完成。现在这个账号是空的,对吧,那我们现在开始跑一下那个程序。

对我已经写了一个脚本,比如说我们是在像Jenkins这样的一些Pipeline产品里面,它是有自己的调度一个节点一个节点跑的。但如果是在本地跑的话,我们可能是需要写一个程序,写个脚本去把它串起来。他现在已经在执行这个程序了。首先我们是创建账号,然后创建IDP,然后创建用户对吧,创建角色,然后角色授权,再创建VSWVPC。

好,已经跑完了。跑完之后我们来看一下控制台。

首先,这个账号刚刚是没有的对不对。然后我们看一下时间,也是刚刚那个时间创建出来的,对吧?就这个账号是我们刚刚创建出来的新的账号对不对。然后我们要进去看一下这个账号里面配置的一些基线的数据。

先看一下这个用户的RAM User,我们是建立了这个IDP的,在SSO里面我们是有一个IDP的,这个是我们刚刚创建的,大家可以看一下时间,是刚刚创建出来的。然后是我们的用户,还有一个角色。对,然后我们在VPC里面建立了VPCVSW ,这个VPC是我们刚刚建进来的。大家可以看时间,因为是87113937秒,就是我们刚刚创建的。

这个VPC下面的交换机也有了,对吧?大家从这个事例中可以看到,比如说现在如果有一个新的业务要上线,我们可以直接通过刚才我演示那个脚本一跑,就可以创建出一个新的云账号。同时,在这个云账号里面,比如说它的这个RAM 用户,角色,包括它的一些网络,甚至还有更多的内容。因为我这个演示内容相对比较简单,其实我们可以配置更多的东西,比如说我们可以配置它的消息联系人,我们可以开通一些云服务,其实能做的事情就很多。通过这样的一个脚本,我们就可以提升整个的自动化运维的效率。

好的,以上就是本期分享的全部内容了,如果大家对我今天讲的内容以及关于云上自动化这块有任何的想法,都可以扫描屏幕下方的二维码,加入钉群与我们交流,期待联系,我们下期再见。

    AI助理

    点击开启售前

    在线咨询服务

    你好,我是AI助理

    可以解答问题、推荐解决方案等