【问题标题】:CloudFormation Lambda S3 bucket access deniedCloudFormation Lambda S3 存储桶访问被拒绝
【发布时间】:2018-06-06 21:32:57
【问题描述】:

在我的 CloudFormation 模板中,我有一个 lambda,其代码位于 S3:

MyLambda:
  Properties:
    Code:
      S3Bucket: bucket-name
      S3Key: filename.zip
  Handler: handler
  MemorySize: !Ref 'LambdaMemorySize'
  Role: arn:aws:iam::XXXXXXXXXXX:role/my-role
  Runtime: python3.6
  Timeout: !Ref 'LambdaTimeout'
Type: AWS::Lambda::Function

如果我从 AWS 控制台运行它,那么它工作正常。但是,当我从 AWS CLI(或 boto)运行它时,它不起作用,所以我想我的用户凭证中一定有一些东西会阻止它工作。但是我的 IAM 用户具有管理员访问权限:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
}

错误信息:

Your access has been denied by S3, please make sure your request credentials have permission to GetObject for bucket-name/filename.zip. 
S3 Error Code: AccessDenied. S3 Error Message: Access Denied (Service: AWSLambda; Status Code: 403; Error Code: AccessDeniedException; Request ID: xxxxx)

【问题讨论】:

  • S3 存储桶是否归您所有?如果没有,您需要在这些存储桶中进行“公开阅读”。
  • 检查 S3 存储桶策略。
  • @Phoenix 不想公开
  • 验证您的策略和 ACL。

标签: amazon-web-services amazon-s3 aws-lambda amazon-cloudformation


【解决方案1】:

原来是因为加入了 IP 白名单 - 删除解决了这个问题。

【讨论】:

    猜你喜欢
    • 2019-02-03
    • 2018-01-10
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多