Q13 — AWS SAA-C03 第17章
第 13/89 题 | ← 返回第17章
Q1313. 一家公司使用 AWS CloudFormation 在由 AWS Control Tower 管理的账户中部署 IAM 资源。安全团队希望阻止部署包含内联策略的 IAM 角色,并设置以下语句:“效果”:”允许,“行动”:””,“资源”:””哪种方案能够满足这一要求?
- A. 使用 AWS Control Tower 主动控制来阻止与这些内联策略语句匹配的 CloudFormation 堆栈。
- B. 使用 AWS Control Tower 检测控制功能,在部署时检测并删除包含这些语句的 IAM 内联策略。
- C. 使用 AWS Config 创建一条规则,用于检测任何内联 IAM 策略中的这些语句。配置该规则,使其使用 AWS-DeleteIAMInlinePolicy 修复程序自动删除这些语句。
- D. 使用 AWS Config 创建一条规则,检测内联 IAM 策略中的这些语句,并向安全团队发送通知。 ✓
正确答案: D. 使用 AWS Config 创建一条规则,检测内联 IAM 策略中的这些语句,并向安全团队发送通知。
解析
防止部署具有过于宽松的内联策略(允许对“”资源执行“”操作)的 IAM 角色的正确解决方案是:D. 使用 AWS Config 创建一条规则,检测内联 IAM 策略中的这些语句,并向安全团队发送通知。为什么选项 D 正确:AWS Config for Compliance MonitoringAWS Config 可以检测包含禁止语句的 IAM 内联策略(“效果”:“允许”,“操作”:“使用自定义规则(通过 AWS Lambda)或托管规则(如果可用)来检测“”、“资源”或“”资源。检测到此类访问后,它可以触发 Amazon SNS 通知,提醒安全团队,从而在未经授权的访问发生之前进行主动补救。预防性控制与检测性控制AWS Control Tower 的主动控制功能(选项 A)无法直接根据 IAM 策略内容阻止 CloudFormation 部署。Control Tower 会强制执行一些限制措施(例如,阻止访问公共 S3 存储桶),但不会进行细粒度的 IAM 策略检查。AWS Control Tower 检测控制(选项 B)可在部署后识别违规行为,但不会自动删除策略——它们只会生成警报。AWS Config 的补救措施(选项 C)(例如 AWS-DeleteIAMInlinePolicy)可以删除策略,但这属于被动式操作,如果角色丢失所需的权限,可能会导致服务中断。安全最佳实践先通知,后补救:向安全团队发出警报,使他们能够审查并手动调整策略,确保不会意外删除任何合法权限。审计跟踪:AWS Config 会保留合规性检查历史记录,有助于进行取证分析。其他选项为何错误:A. AWS 控制塔主动控制Control Tower 的主动防护措施(例如服务控制策略 (SCP))可以阻止账户/组织单元级别的操作,但无法检查 CloudFormation 模板中的内联 IAM 策略。例如:SCP 可以完全阻止 iam:CreateRole 操作,但无法选择性地阻止具有“”权限的角色。B. AWS 控制塔侦测控制检测控制(例如,与 Control Tower 集成的 AWS Config 规则)可以检测违规行为,但不会自动删除策略。修复需要人工干预或外部自动化(例如 Lambda)。C. AWS 配置与自动修复虽然 AWS Config 可以通过修复机制删除内联策略,但这对于生产环境来说风险很高。过于宽松的策略可能是有意为之(例如,用于紧急情况),而自动删除可能会导致服务中断。方案D的实施步骤:创建 AWS 配置规则使用自定义 AWS Config 规则(Lambda 支持)扫描 IAM 内联策略中禁止的语句。Lambda 函数逻辑示例(伪代码):Python导入 jsondef lambda_handler(event, context):policy_document = json.loads(event['detail']['requestParameters']['policyDocument']) for statement in policy_document['Statement']:如果 (statement['Effect'] == 'Allow' 且statement['Action'] == '' 且statement['Resource'] == ''):# 触发 SNS 警报send_sns_notification("检测到禁止的 IAM 策略!")返回 {"合规性": "不合规"}返回 {"合规性": "合规"}配置 SNS 通知创建一个 SNS 主题,并将安全团队的电子邮件/Slack 频道订阅到该主题。将该 SNS 主题链接到 AWS Config 规则的违规通知。可选:与 AWS 安全中心集成将 AWS Config 的结果转发到 Security Hub 以进行集中式安全管理。替代方案(更积极主动的方法):如果公司想要完全阻止部署,请结合以下方法:AWS IAM Access Analyzer(部署前验证)与 CloudFormation hooks 结合使用,可扫描模板中是否存在禁止的策略。AWS Service Catalog 可以将 IAM 角色部署限制在预先批准的模板中。然而,对于给定的需求,选项 D 是最直接、最安全的解决方案。结论:选项 D 是最佳选择,因为它能够检测出有风险的策略并向安全团队发出警报,而不会冒着意外丢失权限的风险,也不需要使用不受支持的 Control Tower 功能。