游戏公司多账户管理(1)

2023-11-14

一般游戏发行公司每年都会出售几款新手机游戏,这些游戏可能是由公司内部不同的项目组或其他游戏公司开发的。为了实现不同游戏之间的独立和方便的云计算资源成本,我们建议在AWS上为每个游戏应用一个独立的账户。优点是每个游戏都有独立的详细账单,不同的账户是独立的,有很好的保护。

对于大型游戏公司来说,有十几款甚至几十款游戏同时运行是很常见的,所以每款游戏的独立账户应用会给游戏公司带来管理和安全的挑战。与不同的游戏公司沟通后,我总结了几点考验:

(1)如何在每个游戏中独立建立账户并安排账户?

(2)如何集中客户管理和权限分配

(3)多账户资源如何方便查询和管理?

(4)如何在多账户下统一审计用户操作?

(5)如何减少新账户的复位配置?

(6)如何限制账户或用户资源的需求

由于涉及的服务和内容较多,Blog将首先解决前三个测试,然后在后续博客中介绍剩余内容。

 

为了保持每款游戏的独立性,建议使用每款游戏的独立账户形式,首先要解决的是如何方便快速地建立账户。建立AWS账户有两种方式。第一种方法是注册网页。这种方法必须填写更多的信息,适合公司第一次注册使用AWS;第二种方法是使用AWS Organizations创建账户,AWS organizations本身的功能简介及如何打开请参考官方文件,此处不再赘述。

注意打开AWS Organizations服务账户称为管理账户,下面的操作都是在业务账户下完成的。以下是如何介绍AWS 在organizations中建立并安排帐户

    • 从AWS控制台进入AWS Organizations服务,点击 AWS 账户,再点击 加上AWS账户

    • 键入AWS 账户名和电子邮件地址后,点击建立AWS账户即可

    • 除新账户外,现有账户也可以通过邀请的形式参与组织。点击 邀约,再点击邀约AWS账户

    • 目前其他AWS账户的键入12位数或邮箱,点击推送邀约

在将所有的游戏账户添加到机构后,下面我们就要机构这样的账户来区分哪个账户属于哪个游戏,哪些游戏属于哪个团队,哪些游戏由第三方开发商开发,等等。举例来说,我们根据游戏团队机构的所有账户

    • 在AWS账户下选择Root,点击操作下拉列表,再点击新建。这样,我们就可以建立多个团队

    • 在AWS账户下,选择帐户,点击操作再次单击下拉列表挪动,在任何组织下都可以移动。

有很多详细的操作指南,请参考以下文件https://docs.aws.amazon.com/zh_cn/organizations/latest/userguide/orgs_manage_ous.html

 

在客户管理和权限层面,我看到大多数游戏公司都是在每个账户下独立创建用户并分配权限,并且可以在账户较少的情况下处理。随着账户的增加,用户和权限设置变得越来越困难。

根据AWS Organizations克服游戏账户申请和机构后,您可以使用AWS Single Sign-On (SSO)该服务集中管理多个服务 AWS 访问和权限帐户,并为用户提供单点登录浏览其所有权的帐户。以下是如何在SSO中创建用户、用户组、分配权限以及与Organization机构的关联

    • 应用Organization管理账户,从AWS控制台到AWS控制台 SSO服务,点击左侧客户,点击添加用户

    • 我们还可以建立用户组,点击左边 ,点击 创建组

    • 将用户参与到用户组中,点击某一组

    • 点击 添加用户,将用户添加到用户组中

    • 客户建立后,以下是建立权限组合的介绍。首先点击  AWS账户,再点击权限结合,最好建立权限结合

    • 已经有了客户、用户组和权限的结合,现在是organization部门的特定客户、用户组和分配权限



那么,我们如何通过SSO登录某个账户呢?

    • 首先,您需要搜索SSO门户URL,单击 设定,我们可以看到客户门户URL

    • 打开网页,输入url,登录名称,点击Next,输入密码

    • 登录后,可以看到有权登录的账户会出现。
      游戏公司多账户管理(1)
      应用SSO后,不需要创建用户、用户组、分配权限到每个账户。只需在SSO中集中创建用户和分配权限,然后将用户与Organization机构联系起来。AWS 除了支持在SSO中创建用户外,SSO还可以与您的AD或SAML2.0集成。AWS 除了支持在SSO中创建用户外,SSO还可以与您的AD或SAML2.0集成。

 

SSO可以很容易地登录到每个账户下进行相应的操作和查询资源,但随着账户的增加,这仍然是一项非常耗时和费力的工作。因此,我们需要一种更简单的方法来帮助我们总结每个账户下的所有区域资源,并在集中区域进行检查和分析。总结资源有两种形式:第一种是AWS Resource Groups,Resource Groups可以在单个账户下查看所有区域资源;另一种方法是AWS Organization的Config服务和Organization可以统一查询组织下所有账户的资源状态。让我们来看看如何操作实际操作。

基于AWS的第一种 Resource Groups的形式

    • 从AWS控制台进入Resource Groups & Tag Editor服务,点击Tag Editor,挑选所有区域,资源挑选AWS::EC2::Instance,点击 搜索资源

    • 各区域EC2资源如下

    • 当然也可以指定标签进行资源搜索

注:尽管选择了所有地区,但是有些地区还没有适用,因此,并非所有的区域资源都能看到

第二,Organizations加AWS Config的形式

    • 使用organization管理账户从AWS控制台进入AWS Config服务,首先,您必须确保config记录功能已经打开,如果不打开,请先打开。

    游戏公司多账户管理(1)

    • 点击左边的 聚合器,再点击 建立聚合器

    • 勾上容许 AWS Config 将数据从源账户转移到聚合器账户,输入聚合器名称,选择加上我们的组织,选择需要聚集的区域,点击构建聚合器

    • 这样,我们就建立并实现了一个聚合器,等待一段时间(大约10分钟)

    • 查询所有账户中的资源


 

游戏公司多账户管理(1)

    • 在所有账户中查看EC2 Instances

    • 查看所有帐户中的RDS Instances

本博客阐述了如何在AWS上为每款游戏创建账户并安排账户;如何集中用户管理和权限分配;如何方便查询和管理多个账户中的资源,在下一个博客中,将进一步介绍多个账户的安全合规、资源合规、成本等内容。

 

标签: 账号   管理   账户   点击