AWS Organizations 提供基于策略的集中化帐户管理能力

阅读数:378 2017 年 4 月 5 日

话题:AWSDevOps语言 & 开发

自从在 re:Invent 2016 大会上发布预览版三个月后,Amazon Web Services最近正式发布了 AWS Organizations。这个新服务可在由组织单位(Organizational unit)组成的层次结构中集中管理多个 AWS 帐户,并能通过细化的访问权限应用服务控制策略。

根据 Amazon Web Service 首席传道士Jeff Barr的介绍,很多 AWS 用户出于不同原因正在同时使用多个帐户,例如需要循序渐进地在不同的部门和团队中采用云计算,或仅仅是为了“满足合规性方面的严格要求,或创建更强大的隔离壁垒”,例如创建相互严格隔离的开发、测试,以及生产环境。

在 VPC peering,EC2 镜像、EBS 和 RDS 快照共享,以及通过 IAM 角色实现的跨帐户控制台访问等跨帐户功能帮助下,AWS 早已支持相同或不同组织的帐户相互协作。然而为了对这些跨帐户功能的依赖性进行一致的管理,运维方面将很快面临挑战。

针对这种需求打造的AWS Organizations服务意在降低运维复杂度,提供“集中管理多个 AWS 帐户,创建由组织单位(OU)组成的层次结构,将不同帐户分配到不同 OU,定义策略,随后将策略应用给整个层次结构,或也可应用给所选 OU,甚至特定帐户”。

最重要的AWS Organizations 概念包括:

  • 组织(Organization) – 一个组织可以有一个“主帐户(Master)”,以及通过层次结构整理在一起的零个或多个成员帐户,借此可组成一种树状结构。
  • 帐户(Account) – 包含 AWS 资源的常规 AWS 帐户。
  • 根(Root) – 一个组织中所包含所有帐户的父容器。
  • 组织单位(Organizational unit,OU) – 一种帐户容器,也可通过内嵌其他 OU 的方式创建层次结构,应用给一个 OU 的策略可影响层次结构内的所有帐户。
  • 服务控制策略(Service Control Policy,SCP) – 一种 JSON 格式的策略,类似于身份和访问管理(IAM)策略,决定了受到该 SCP 影响的用户可执行的操作,以及帐户所具备的角色。

通过选择一个主帐户创建了组织后,可通过邀请的方式添加成员帐户,或直接在组织内部创建成员帐户,此外还可以编程的方式通过CLIAPI添加,这是一个大家期待已久的功能。然而虽然邀请加入组织的帐户也可以离开组织,但在组织内部直接创建的帐户无法离开,也无法删除,提到这一点是因为该服务默认限制最多可以创建 20 个组织帐户,如果不够用必须通过申请的方式提高限制。

曾经使用过汇总帐单(Consolidated Billing)功能的 AWS 客户在迁移至 AWS Organization 之后可以继续保留原本的功能,包括通过预留的 EC2 和 RDS 实例用量节约成本的权益以及大用量折扣。这种情况下,新增的基于策略的访问控制机制需要由主帐户选择性开启,随后需要得到所有成员帐户的确认。仅使用访问控制机制但不使用汇总帐单的做法目前尚不支持

一个组织中的每个帐户均可分配给一个组织单位(OU),组织单位最多可支持五级层次结构。该层次结构从根容器开始,根容器是独立于组织存在的,这种设计主要是为了在未来实现对更多层次结构的支持,而这种方式正是最近刚刚发布Amazon Cloud Directory服务的基础。

阅读英文原文AWS Organizations Offers Centralized Policy-Based Account Management