【问题标题】:Lambda layer pointing to s3 bucket another account指向 s3 存储桶另一个帐户的 Lambda 层
【发布时间】:2020-11-05 13:01:26
【问题描述】:

寻求帮助...

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

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

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

{

"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" 添加到资源中吗?
  • 我很高兴它成功了。如果您觉得有帮助,请考虑在下面接受我的回答。谢谢

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


【解决方案1】:

根据 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"
      ]
    }
  ]
}

【讨论】:

  • 实际上可能使用以/* 结尾的资源,因为 GetObject 需要对象权限而不是存储桶权限。跨度>
猜你喜欢
  • 1970-01-01
  • 2019-01-15
  • 2020-02-15
  • 2020-07-05
  • 1970-01-01
  • 1970-01-01
  • 2019-10-25
  • 2019-06-28
  • 2012-02-28
相关资源
最近更新 更多