自從在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影響的用戶可執行的操作,以及帳戶所具備的角色。通過選擇一個主帳戶創建了組織后,可通過邀請的方式添加成員帳戶,或直接在組織內部創建成員帳戶,此外還可以編程的方式通過CLI或API添加,這是一個大家期待已久的功能。然而雖然邀請加入組織的帳戶也可以離開組織,但在組織內部直接創建的帳戶無法離開,也無法刪除,提到這一點是因為該服務默認限制最多可以創建20個組織帳戶,如果不夠用必須通過申請的方式提高限制。
曾經使用過匯總帳單(Consolidated Billing)功能的AWS客戶在遷移至AWS Organization之后可以繼續保留原本的功能,包括通過預留的EC2和RDS實例用量節約成本的權益以及大用量折扣。這種情況下,新增的基于策略的訪問控制機制需要由主帳戶選擇性開啟,隨后需要得到所有成員帳戶的確認。僅使用訪問控制機制但不使用匯總帳單的做法目前
尚不支持。一個組織中的每個帳戶均可分配給一個組織單位(OU),組織單位最多可支持五級層次結構。該層次結構從根容器開始,根容器是獨立于組織存在的,這種設計主要是為了在未來實現對更多層次結構的支持,而這種方式正是最近剛剛發布的Amazon Cloud Directory服務的基礎。
閱讀英文原文:AWS Organizations Offers Centralized Policy-Based Account Management