一位开发人员使用 S3 事件通知来调用 Lambda 函数进行图像处理。在同一个 AWS 账户中,有一个开发 S3 存储桶和 Lambda,以及一个生产 S3 存储桶和 Lambda。上传到开发存储桶的操作错误地调用了生产 Lambda。开发人员必须在不造成最小中断的情况下,防止开发上传影响生产。开发人员应该怎么做?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 将开发和生产环境迁移到单独的 AWS 账户中,并为 Lambda 函数添加基于资源的策略,使其只能由同一账户中的 S3 存储桶调用。.
为什么这是答案
将开发和生产环境迁移到单独的 AWS 账户中,并为 Lambda 函数添加基于资源的策略,使其只能由同一账户中的 S3 存储桶调用,这是最安全和隔离性最好的方法。通过将开发和生产环境完全分离到不同的账户,可以防止跨环境的意外交互。基于资源的策略确保 Lambda 函数只能由其各自账户中的 S3 存储桶触发。 修改生产 Lambda 的执行角色,使其只拥有读取生产 S3 存储桶的权限,这并不能阻止开发 S3 存储桶触发生产 Lambda,因为执行角色是 Lambda 运行时权限,而不是触发权限。 添加或更新 S3 存储桶策略,使每个存储桶只调用其对应的 Lambda 函数,这种方法虽然可以解决问题,但在同一个账户中,仍然存在配置错误的风险,且隔离性不如独立账户。 将开发和生产环境迁移到单独的 AWS 账户中,并更新每个 Lambda 执行角色,使其只允许读取同一账户中的 S3 存储桶,这只解决了 Lambda 的读取权限问题,但没有解决 S3 事件通知触发 Lambda 的问题。基于资源的策略是控制 Lambda 触发权限的关键。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡