Q89 — AWS SAA-C03 第16章

第 89/100 题 | ← 返回第16章

Q1289. 一家公司在 Amazon EC2 实例上运行一个应用程序。该应用程序需要访问 Amazon RDS 数据库。该公司希望在遵循最小特权原则的情况下,授予 EC2 实例对 RDS 数据库的访问权限。哪种解决方案可以满足这些要求?

正确答案: D. 创建一个 IAM 角色,该角色具有授予访问 RDS 数据库所需最低权限的策略。将该 IAM 角色附加到 EC2 实例配置文件。将实例配置文件与实例关联。

解析

正确的解决方案必须授予 EC2 实例访问 Amazon RDS 数据库的权限,同时遵循最小特权原则(最低必要权限),并避免使用硬编码凭证。让我们评估一下每个选项:正确答案:D。创建一个 IAM 角色,该角色的策略授予访问 RDS 数据库所需的最低权限。将该 IAM 角色附加到 EC2 实例配置文件。将实例配置文件与实例关联。为什么选项D是最佳选择:遵循最小特权原则:IAM 角色仅配置了访问 RDS 所需的权限(例如,rds-db:connect 或特定的数据库操作)。避免过度许可的政策(与授予管理员访问权限的选项 A 不同)。无硬编码凭证(最安全):EC2 的 IAM 角色提供由 AWS 自动轮换的临时安全令牌。无需在代码或配置文件中嵌入访问密钥(与选项 A/B 不同)。正确的AWS集成:建议使用 EC2 实例配置文件将 IAM 角色分配给实例。在 EC2 上运行的应用程序可以使用 AWS SDK 或 CLI 通过角色的临时凭证向 RDS 进行身份验证。其他选择为何失败:A. 创建一个具有授予管理权限策略的 IAM 用户。使用 IAM 用户在 EC2 实例上的访问密钥访问 RDS 数据库。高度不安全:管理员权限违反了最低权限原则(授予了不必要的访问权限)。硬编码的访问密钥存在安全风险(如果泄露,攻击者将获得 AWS 的完整访问权限)。B. 创建一个 IAM 用户,并设置策略授予访问 RDS 数据库所需的最低权限。将 IAM 用户的访问密钥嵌入到 EC2 实例中,以便访问 RDS 数据库。仍然不安全:虽然应用了最小特权,但硬编码访问密钥仍然存在安全漏洞(密钥可能会在日志、存储库或内存转储中暴露)。C. 创建一个 IAM 角色,该角色具有授予访问 RDS 数据库所需最低权限的策略。将 IAM 角色访问密钥和 IAM 角色密钥附加到 EC2 实例配置文件。对 IAM 角色的错误理解:IAM 角色不需要手动访问密钥——AWS 会自动管理临时凭证。这种方法无效(实例配置文件无法手动分配静态密钥)。主要比较:要求选项 D其他选项最小权限(具有最小 RDS 访问权限的角色)(A:管理员;B:最小但硬编码的密钥;C:角色配置错误)无硬编码凭证(通过角色自动轮换凭证)(A/B:嵌入式密钥;C:无效方法)正确的 AWS 安全实践(IAM 角色 + 实例配置文件)(A/B:IAM 用户 + 密钥;C:误解角色)选项D在实践中如何运作:创建具有如下策略的 IAM 角色:json{"版本": "2012-10-17",“陈述”: [{"效果": "允许","操作": ["rds-db:connect"],“资源”:“arn:aws:rds:us-east-1:123456789012:dbuser:my-db-instance / *”}]}将角色附加到 EC2 实例配置文件。将实例配置文件与 EC2 实例关联。EC2 上的应用程序使用 AWS SDK 对 RDS 进行身份验证(从角色自动获取凭证)。结论:选项 D 是唯一的解决方案:授予最低权限。避免硬编码凭证。遵循 AWS 安全最佳实践。最终答案:D