Q29 — AWS SAP-C02 第2章
第 29/75 题 | ← 返回第2章
Q179. 一家公司正在部署访问 Amazon RDS for PostgreSQL 数据库的 AWS Lambda 函数。该公司需要在 QA 环境和生产环境中启动 Lambda 函数。该公司不得在应用程序代码中暴露凭证,并且必须自动轮换密码。 哪种解决方案能满足这些要求?
- A. 将两个环境的数据库凭证存储在 AWS Systems Manager Parameter Store 中。使用 AWS Key Management Service (AWS KMS) 密钥加密凭证。在 Lambda 函数的应用程序代码中,使用 AWS SDK for Python (Boto3) 从 Parameter Store 参数中获取凭证。向 Lambda 函数添加一个角色以提供对 Parameter Store 参数的访问
- B. 将两个环境的数据库凭证存储在 AWS Secrets Manager 中,为 QA 环境和生产环境使用不同的密钥条目。启用轮换。将 Secrets Manager 密钥的引用作为 Lambda 函数的环境变量提供 ✓
- C. 将两个环境的数据库凭证存储在 AWS Key Management Service (AWS KMS) 中。启用轮换。将存储在 AWS KMS 中的凭证引用作为 Lambda 函数的环境变量提供
- D. 为 QA 环境和生产环境创建单独的 S3 存储桶。为 S3 存储桶启用使用 AWS KMS 密钥的服务器端加密 (SSE-KMS)。使用对象命名模式,使每个 Lambda 函数的应用程序代码能够获取其对应环境的正确凭证。授予每个 Lambda 函数执行角色对 Amazon S3 的访问权限
正确答案: B. 将两个环境的数据库凭证存储在 AWS Secrets Manager 中,为 QA 环境和生产环境使用不同的密钥条目。启用轮换。将 Secrets Manager 密钥的引用作为 Lambda 函数的环境变量提供
解析
此解决方案涉及将两个环境(QA 和生产)的数据库凭证存储在 AWS Secrets Manager 中,这提供了一种安全且可扩展的方式来存储密码等密钥。Secrets Manager 可以配置为启用自动密码轮换,满足自动轮换密码的要求。可以使用不同的密钥来分隔每个环境的凭证。Lambda 函数可以使用环境变量引用 Secrets Manager 密钥,确保凭证不会在应用程序代码中暴露。此解决方案也更容易管理和扩展,因为添加了额外的 Lambda 函数和环境,简化了跨多个服务的密钥管理。