我有2个AWS账户app-dev和app-prod都有一些存储桶,其结构如下
流程如下:
app-prod(Account)-->bucket-prod-->copier-lambda-->app-dev(account)-->bucket-dev-->copier-lambda-->[bucket-dev1, bucket-dev2]
app-dev
如果我bucket-dev
使用AWS控制台从同一帐户手动将文件复制到该帐户,则该帐户中的复印机lambda可以正常工作。但是,当从帐户将复印机lambdaapp-prod
复制到从帐户复制到bucket-dev(app-dev)
复印机lambda时,app-dev
但是由于"Access Denied"
错误而失败,并且IAM role
for lambda在两种情况下都是相同的(手动复制的文件会触发同一帐户中的复印机lambda,并且文件由lambda复制来自另一个帐户),所以我很困惑。
我很确定我在这里想念的东西很小。任何帮助,将不胜感激。
请注意,如果一个帐户将对象放入另一个帐户拥有的存储桶中,则该对象仍归发起者所有。发起者必须向该对象添加ACL,以授予存储桶所有者对该对象的访问权限。
有关更多详细信息,请参见此处。
默认情况下,S3对象由上载该对象的AWS账户拥有。即使存储桶由另一个帐户拥有,也是如此。要访问该对象,对象所有者必须明确授予您(存储桶所有者)访问权限。
通过更新对象的访问控制列表(ACL),对象所有者可以授予存储桶所有者对对象的完全控制权。对象拥有者可以在放置或复制操作期间,也可以在将对象添加到存储桶之后更新ACL。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句