Q36 — AWS DOP-C02 第3章
第 36/100 题 | ← 返回第3章
一家公司为AWS控相塔中的应难程序升队管理AWS帐户。各个应难程序升队负责保护各自的AWS帐户。 DevOps工程师需要为应难升队尚未启难GuardDuty的职响AWS帐户启难Amazon GuardDuty。DevOps工程师正在使难范自AWS控相塔管理 帐户的AWS云形成堆栈象。 DevOps工程师应该如何配置CloudFormation模板以防止在StackSets赛署期须出现故障?
- A. 创建一个调用AWS Lambda函数的CloudFormation自定义资源。如果帐户中尚未启用GuardDuty,则配置Lambda函数以有条件地启 用GuardDuty。 ✓
- B. 使用CloudFormation模板的条件部分在尚未启用GuardDuty的帐户中启用GuardDuty。
- C. 使用CloudFormation Fn::GetAtt内部函数检查GuardDuty是否已启用。如果尚未启用GuardDuty,请使用CloudFormation模板的资源 部分来启用GuardDuty。
- D. 手动发现未启用GuardDuty的AWS帐户id列表。使用CloudFormation Fn::ImportValue内在函数将帐户id列表导入到CloudFormation模 板中,以跳过列出的AWS帐户的部署。
正确答案: A. 创建一个调用AWS Lambda函数的CloudFormation自定义资源。如果帐户中尚未启用GuardDuty,则配置Lambda函数以有条件地启 用GuardDuty。
解析
该题考察使用AWS CloudFormation StackSets在多个账户中安全部署GuardDuty的能力。AWS文档指出,当需要根据运行时状态动态创建资源时,必须通过自定义资源实现条件逻辑。选项A通过Lambda函数实时检测目标账户的GuardDuty激活状态,仅在未启用时执行部署动作,避免了重复启用可能触发的API冲突错误。选项B的条件语句无法获取实时资源状态,选项C的GetAtt函数不支持获取GuardDuty配置状态,选项D的静态列表无法动态适配账户环境变化。AWS官方推荐使用自定义资源处理此类动态部署场景。