首页 文章

限制对S3 Lambda函数的S3存储桶访问

提问于
浏览
1

我在S3存储桶中有一个文件,我想限制访问,因此只能从特定的Lambda函数中访问它 . 我尝试编写一个Bucket策略(在我的区域,帐户等信息中进行修改)来完成此任务:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1457474835965",
      "Action": "s3:*",
      "Principal": "*",
      "Effect": "Deny",
      "Resource": "arn:aws:s3:::my-bucket/file.txt",
      "Condition": {
        "ArnNotEquals": {
          "aws:SourceArn": "arn:aws:lambda:region:account:function:FunctionName"
        }
      }
    }
  ]
}

但是,在调用Lambda函数时,仍然拒绝访问该文件 . 我怎样才能完成我想做的事情?

1 回答

  • 3

    您的lambda函数将以特定角色运行 . 创建一个策略,授予对s3资源的访问权限并将其添加到角色 .

    例:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "s3:*",
          "Resource": "arn:aws:s3:::my-bucket/file.txt"
        }
      ]
    }
    

相关问题