Q48 — AWS SAA-C03 第17章
第 48/89 题 | ← 返回第17章
Q1348. 一家公司在 Amazon EC2 实例上运行多个应用程序。该公司将配置文件存储在 Amazon S3 存储桶中。解决方案架构师必须为公司应用程序提供访问配置文件的权限。解决方案架构师必须遵循 AWS 安全最佳实践。哪种解决方案能够满足这些要求?
- A. 使用 AWS 账户根用户访问密钥。
- B. 使用 AWS 访问密钥 ID 和 EC2 秘密访问密钥。
- C. 使用 IAM 角色向应用程序授予必要的权限。 ✓
- D. 在 S3 存储桶上启用多因素身份验证 (MFA) 和版本控制。
正确答案: C. 使用 IAM 角色向应用程序授予必要的权限。
解析
正确答案是 C. 使用 IAM 角色向应用程序授予必要的权限。解释:要求:运行在 Amazon EC2 实例上的应用程序需要安全访问存储在 Amazon S3 存储桶中的配置文件。该解决方案必须遵循 AWS 安全最佳实践,这意味着避免硬编码凭证并遵循最小权限原则。为什么选项 C 正确:EC2实例的IAM角色:IAM 角色允许 EC2 实例自动获取临时 AWS 凭证(通过实例元数据服务)。无需在应用程序代码或配置文件中管理或存储静态访问密钥。可以使用附加到角色的 IAM 策略来精细控制权限。AWS最佳实践:AWS 强烈建议对 EC2 实例使用 IAM 角色而不是长期凭证(访问密钥)。这种方法更安全,也更容易管理(例如,自动轮换凭证)。其他选项错误的原因:A. 使用 AWS 账户根用户访问密钥安全性极低:root 用户拥有对所有 AWS 资源的完全访问权限,其凭证绝不应在应用程序中使用。违反了最小权限原则,增加了发生灾难性安全漏洞的风险。B. 使用 AWS 访问密钥 ID 和 EC2 秘密访问密钥不安全:将静态访问密钥硬编码或存储在应用程序代码或配置文件中存在安全风险(密钥可能会泄露或被盗)。AWS 建议避免为 EC2 实例使用长期凭证,而应使用 IAM 角色。D. 在 S3 存储桶上启用多因素身份验证 (MFA) 和版本控制。不相关:虽然 MFA 和版本控制可以提高 S3 存储桶的安全性,但它们并不能为 EC2 应用程序提供身份验证和访问存储桶的方法。此选项针对的是数据保护,而不是应用程序访问控制。正确方法(选项 C):创建一个具有读取 S3 存储桶权限的 IAM 角色(例如,s3:GetObject)。将该 IAM 角色附加到 EC2 实例(通过 AWS 管理控制台、CLI 或 SDK)。之后,EC2 实例上的应用程序可以使用 AWS SDK 或 CLI 访问 S3 存储桶,而无需显式提供凭证(SDK 会从实例元数据中检索临时凭证)。角色 IAM 策略示例:JSON{“版本”:“2012-10-17”,“陈述”:[{“效果”:“允许”,操作:["s3:GetObject"],"资源": ["arn:aws:s3:::your-config-bucket/"]}]}结论:选项 C 是唯一安全且 AWS 推荐的授予 EC2 应用程序访问 S3 资源的方案。它无需硬编码凭证,并遵循最小权限原则。