考题解析 | 使用 AWS Service Catalog 集中管理并分发经批准的产品


  题目

A company is expanding its group of stores. On the day that each new store opens, the company wants to launch a customized web application for that store. Each store's application will have a non-production environment and a production environment. Each environment will be deployed in a separate AWS account. The company uses AWS Organizations and has an OU that is used only for these accounts. The company distributes most of the development work to third-party development teams. A security engineer needs to ensure that each team follows the company's deployment plan for AWS resources. The security engineer also must limit access to the deployment plan to only the developers who need access. The security engineer already has created an AWS CloudFormation template that implements the deployment plan.
What should the security engineer do next to meet the requirements in the MOST secure way?
A. Create an AWS Service Catalog portfolio in the organization's management account. Upload the CloudFormation template. Add the template to the portfolio's product list. Share the portfolio with the OU.
B. Use the CloudFormation CLI to create a module from the CloudFormation template. Register the module as a private extension in the CloudFormation registry. Publish the extension. In the OU, create an SCP that allows access to the extension.
C. Create an AWS Service Catalog portfolio in the organization's management account. Upload the CloudFormation template. Add the template to the portfolio's product list. Create an IAM role that has a trust policy that allows crossaccount access to the portfolio for users in the OU accounts. Attach the AWSServiceCatalogEndUserFullAccess managed policy to the role.
D. Use the CloudFormation CLI to create a module from the CloudFormation template. Register the module as a private extension in the CloudFormation registry. Publish the extension. Share the extension with the OU.

  参考答案

A

  需求概括

一家公司正在扩展其门店群。在每家新店开业当天,公司希望为该店推出一款定制的 Web 应用程序。每家门店的应用程序都将有一个非生产环境和一个生产环境。每个环境都将部署在单独的 AWS 账户中。该公司使用 AWS Organizations,并有一个仅用于这些账户的组织单元(OU)。公司将大部分开发工作分发给第三方开发团队。安全工程师需要确保每个团队都遵循公司的 AWS 资源部署计划。安全工程师还必须限制对部署计划的访问权限,仅允许需要访问的开发者访问。安全工程师已创建一个实现部署计划的 AWS CloudFormation 模板。安全工程师接下来应采取什么措施才能以最安全的方式满足要求?
公司扩展门店时需为每家门店的 Web 应用配置非生产与生产环境,且各环境部署在独立 AWS 账户中,使用 AWS Organization 的 OU 管理这些账户,开发工作多由第三方团队承担。安全工程师要确保团队遵循 AWS 资源部署计划,并限制对部署计划的访问,已创建好 CloudFormation 模板,需确定下一步最安全的操作。

  参考解析

技巧:排除明显错误选项,在没有明显错误的选项中选择最合理的选项。

A. 正确。在组织的管理账户中创建 AWS Service Catalog 产品组合。上传 CloudFormation 模板。将模板添加到产品组合的产品列表中。与 OU 共享该产品组合。此选项利用 AWS Service Catalog 集中管理模板,通过与 OU 共享产品组合,使 OU 中的账户能访问模板,可确保资源按模板部署,且能限制访问范围,符合要求。
B. 不正确。使用 CloudFormation CLI 从 CloudFormation 模板创建模块。将模块注册为 CloudFormation 注册表中的私有扩展。发布该扩展。在 OU 中创建允许访问该扩展的 SCP。创建私有扩展并发布后,通过 SCP 控制访问,但 SCP 主要用于限制账户可用的服务与操作,对于控制对特定扩展的访问,这种方式不如直接共享产品组合直观与有效,且操作相对复杂。
C. 不正确。在组织的管理账户中创建 AWS Service Catalog 产品组合。上传 CloudFormation 模板。将模板添加到产品组合的产品列表中。创建一个 IAM 角色,该角色具有允许 OU 账户中的用户跨账户访问产品组合的信任策略。将 AWSServiceCatalogEndUserFullAcce 托管策略附加到该角色。虽然创建了产品组合,但通过 IAM 角色与信任策略实现跨账户访问,增加了复杂性与安全风险,不如直接与 OU 共享产品组合简单安全,且 AWSServiceCatalogEndUserFullAcce 策略可能给予过多权限。
D. 不正确。使用 CloudFormation CLI 从 CloudFormation 模板创建模块。将模块注册为 CloudFormation 注册表中的私有扩展。发布该扩展。与 OU 共享该扩展。创建并共享私有扩展,但与选项 A 相比,AWS Service Catalog 提供了更完善的资源分发与管理机制,能更好地控制用户对产品的访问与使用,此选项在管理与控制方面不如选项 A。

  技术总结

AWS Service Catalog:可集中管理并分发经批准的产品,如 CloudFormation 模板,能控制用户对产品的访问与使用,确保资源按标准部署。
AWS Organizations:用于集中管理多个 AWS 账户,通过组织单元(OU)对账户进行分组,便于统一管理与设置策略。
AWS CloudFormation:可对 AWS 资源进行基础设施即代码(IaC)管理,通过模板定义与部署资源,确保资源的一致性与可重复性。
Service Control Policies (SCPs):是 AWS Organization 中的一种策略类型,用于限制组织中账户可用的 AWS 服务与操作,可控制对特定资源的访问。
IAM 角色与信任策略:IAM 角色可定义一组权限,信任策略可指定哪些主体(如用户或账户)可承担该角色,实现跨账户访问资源。
CloudFormation CLI 与私有扩展:CloudFormation CLI 可创建模块,模块可注册为私有扩展,私有扩展可在组织内共享,实现资源的定制化与标准化部署。