image-20241020090503948

查找隐藏在SQS队列中的秘密消息!!

任务 1:为什么 lambda 函数超时?

image-20241020090727875

image-20241020091242378

线索 2:如何访问我的 VPC 端点?

更新附加到 VPC 端点的安全组的入站规则。

image-20241020092602348

任务 2:AWS Lambda 函数角色是否具有足够的权限来访问 SQS?


背景

成功更新 VPC 安全配置后,我们执行了 Lambda,但现在它失败并出现错误:
when calling the GetQueueUrl operation: The specified queue does not exist or you do not have access to it
应用程序(Lambda 函数)从 SQS 队列 Jam-Challenge-Queue 轮询(接收)消息并对其进行处理。


任务

要完成此任务,您需要确保附加到 Lambda 函数的 IAM 角色具有足够的权限来对 SQS 队列执行基本操作并获取有关 SQS 队列的详细信息。请记住在向现有策略添加/更新任何权限时遵循 最小特权原则

任务要求:

  1. 为了验证 AWS Lambda 函数,请在 IAM 策略中进行必要的更改后执行它。
  2. 如果没有遵循最小特权原则,策略更新将失败。
  3. 可以更新 IAM 策略附加的 AWS Lambda 函数,以添加其他权限。

存货

我们已为您提供以下资源以帮助您成功完成挑战:


入门

  1. 检查附加到 IAM 角色 Jam-Challenge-Role 的 IAM 权限。
  2. 请参阅如何在 Amazon SQS 中使用基于身份的策略。

任务验证

找到解决方案后,任务将自动完成。您可以随时通过点击挑战详情屏幕中的“查看我的进度”按钮来查看进度。

注意事项:

线索 1:哪些 IAM 权限允许访问 Amazon SQS 服务?
  1. 打开 [Amazon IAM 控制台](https://console.aws.amazon.com/iam/)
  2. 更新附加到 IAM 角色的内联策略 Jam-Challenge-Role。请参阅如何使用控制台更新访问策略。
  3. 添加必要的权限以对 SQS 队列执行基本操作,参考此文档。
  4. 仅添加获取队列属性和队列 URL 所需的权限。
  5. 执行 Lambda 函数。
  6. 成功执行 Lambda 函数后,点击 JAM 控制台中的“检查我的进度”。
线索 2:更新附加到 IAM 角色的内联策略
  1. 打开 [AWS IAM 控制台](https://console.aws.amazon.com/iam/)
  2. 在导航窗格中,选择 角色
  3. 搜索 IAM 角色 Jam-Challenge-Role
  4. 编辑客户内联政策 LambdaExecutionRolePolicy
  5. 请参阅如何使用 AWS 控制台更新访问策略。
  6. 将以下声明添加到现有的内联策略中:
{
    "Action": [
        "sqs:ReceiveMessage",
        "sqs:GetQueueUrl"
    ],
    "Resource": [
        "arn:aws:sqs:*:*:Jam-Challenge-Queue"
    ],
    "Effect": "Allow"
}
  1. 检查添加的策略并保存更改。
  2. 添加策略后,执行 AWS Lambda 函数。
  3. 成功执行 Lambda 函数后,点击 JAM 控制台中的“检查我的进度”。

这样转化后的 Markdown 格式结构清晰,方便阅读并且便于理解任务要求。