本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
决定将每个堆栈部署到何处
这三个模板将使用以下名称来引用,并包含以下资源:
-
管理堆栈:协调器步骤函数、事件规则和 Security Hub 自定义操作。
-
成员堆栈:补救SSM自动化文档。
-
成员角色堆栈:用于修正的IAM角色。
管理员堆栈必须在单个账户和单个区域中部署一次。它必须部署到您已配置为组织的 Security Hub 结果聚合目标的账户和区域。
该解决方案对 Security Hub 的发现进行操作,因此,如果未将特定账户和区域配置为聚合 Security Hub 管理员账户和区域中的调查结果,则该解决方案将无法对来自该账户和地区的发现进行操作。
例如,一个组织拥有在区域运营的账户us-west-2
,在区域us-east-1
中拥有111111111111
作为 Security Hub 委托管理员的账户us-east-1
。账户222222222222
和333333333333
必须是委托管理员账户的 Security Hub 成员账户111111111111
。必须将所有三个帐户配置为汇总us-west-2
到的结果us-east-1
。必须将管理堆栈部署到111111111111
中的账户us-east-1
。
有关查找聚合的更多详细信息,请参阅有关 Security Hub 委托管理员帐户和跨区域聚合的文档。
管理员堆栈在部署成员堆栈之前必须先完成部署,这样才能创建从成员账户到中心账户的信任关系。
成员堆栈必须部署到您要修复发现的每个账户和区域。这可能包括您之前部署管理堆栈的 Security Hub 委托ASR管理员帐户。自动化文档必须在成员账户中执行,才能使用免费套餐进行SSM自动化。
使用前面的示例,如果您要修复所有账户和区域的调查结果,则必须将成员堆栈部署到所有三个账户(111111111111
222222222222
、和333333333333
)以及两个区域(us-east-1
和us-west-2
)。
成员角色堆栈必须部署到每个账户,但它包含每个账户只能部署一次的全局资源(IAM角色)。在哪个区域部署成员角色堆栈并不重要,因此为简单起见,我们建议部署到部署管理堆栈的同一区域。
使用前面的示例,我们建议将成员角色堆栈部署到中的所有三个账户(111111111111
222222222222
、和333333333333
)us-east-1
。
决定如何部署每个堆栈
部署堆栈的选项有
-
CloudFormation StackSet (自行管理权限)
-
CloudFormation StackSet (服务管理权限)
-
CloudFormation 堆栈
StackSets 使用服务管理权限最为方便,因为它们不需要部署您自己的角色,并且可以自动部署到组织中的新帐户。不幸的是,此方法不支持嵌套堆栈,我们在管理堆栈和成员堆栈中都使用嵌套堆栈。唯一可以通过这种方式部署的堆栈是成员角色堆栈。
请注意,在部署到整个组织时,不包括组织管理帐户,因此,如果您要修复组织管理帐户中的发现,则必须单独部署到该帐户。
成员堆栈必须部署到每个账户和区域,但不能使用服务管理权限 StackSets 进行部署,因为它包含嵌套堆栈。因此,我们建议使用 StackSets 自我管理权限部署此堆栈。
管理员堆栈仅部署一次,因此可以将其部署为普通 CloudFormation堆栈,也可以在单个账户和区域中部署为 StackSet 具有自我管理权限的堆栈。
整合的控件调查发现
可以在开启或关闭 Security Hub 的合并控制结果功能的情况下对组织中的账户进行配置。请参阅《Sec AWSurity Hub 用户指南》中的整合控制结果。
重要
如果启用,则必须使用该解决方案的 v2.0.0 或更高版本。此外,您必须为 “SC” 或 “安全控制” 标准部署管理员和成员嵌套堆栈。这将部署自动化文档和 EventBridge 规则,以便与启用此功能时IDs生成的合并控件一起使用。使用此功能时,无需针对特定标准(例如 AWSFSBP)部署管理员或成员嵌套堆栈。