Q39 — AWS SAA-C03 第15章

第 39/100 题 | ← 返回第15章

Q1139. 一个应用程序使用一个 Amazon SQS 队列和两个 AWS Lambda 函数。其中一个 Lambda 函数将消息推送到队列,另一个函数轮询队列并接收排队的消息。解决方案架构师需要确保只有两个 Lambda 函数可以写入或读取队列。哪种解决方案可以满足这些要求?

正确答案: B. 将基于资源的策略附加到 SQS 队列,以拒绝除每个 Lambda 函数的委托人之外的任何实体对队列的读写访问。将 IAM 策略附加到每个 Lambda 函数的执行角色,以允许对队列进行读写访问。

解析

确保只有两个 Lambda 函数可以写入或读取 Amazon SQS 队列的解决方案是:B. 将基于资源的策略附加到 SQS 队列,以拒绝除每个 Lambda 函数的委托人之外的任何实体对队列的读写访问。将 IAM 策略附加到每个 Lambda 函数的执行角色,以允许对队列进行读写访问。解释:基于资源的策略:通过将基于资源的策略附加到 SQS 队列,您可以明确拒绝任何不属于指定 Lambda 函数主体的实体的访问。这确保只有指定的 Lambda 函数才能与队列交互。Lambda 执行角色的 IAM 策略:通过允许每个 Lambda 函数的执行角色访问队列,您可以确保它们能够执行必要的操作(读取和写入),同时保持安全配置。为什么其他选择不适合:A.此选项建议使用 IAM 策略来拒绝访问,但这不是在队列级别控制访问的最有效方法,因为它可能无法阻止未经授权的实体尝试访问队列。C:虽然授予 Lambda 函数主体访问权限很重要,但仅仅授予访问权限而不明确拒绝其他实体并不能提供相同级别的安全性。D:在没有适当的 IAM 策略的情况下拒绝资源级别的所有访问可能会导致 Lambda 函数无法访问队列,因为执行角色需要匹配资源策略才能授予访问权限。因此,选项 B 提供了最安全、有效的解决方案,可将对 SQS 队列的访问限制为仅限指定的 Lambda 函数。