首页 > 解决方案 > 指向 s3 存储桶另一个帐户的 Lambda 层

问题描述

寻求帮助...

​</p>

我正在创建一个 lambda 层(在账户 A 中),并将其指向另一个账户(账户 B)上传到 s3 存储桶所有者的 zip 文件。两个桶都在同一个区域,但我得到

​</p>

无法创建层版本:您的访问已被 S3 拒绝,请确保您的请求凭据具有 GetObject 用于 mh-common-builds-dev-sg/decompress 的权限。S3 错误代码:拒绝访问。S3 错误消息:访问被拒绝

​</p>

我已经在账户 B 中添加了具有适当权限的存储桶策略:

​</p>

{

"Version":"2012-10-17",

"Statement":[

{

"Effect":"Allow",

"Principal":{

"AWS":"arn:aws:iam::AccountA:root"

},

"Action":[

"s3:*

],

"Resource":[

"arn:aws:s3:::AccountBBucketName"

]

}

]

}

​</p>

我究竟做错了什么?

​</p>

谢谢!

标签: amazon-web-servicesamazon-s3aws-lambda

解决方案


根据 OP 在评论中的反馈,以下存储桶策略有效。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::AccountA:root"
      },
      "Action": [
        "s3:*"
      ],
      "Resource": [
        "arn:aws:s3:::AccountBBucketName/*",
        "arn:aws:s3:::AccountBBucketName"
      ]
    }
  ]
}

推荐阅读