我们有3个AWS账户,比如A,B和C.我们为A和B,A和C之间的S3存储桶 Build 了交叉账户策略 . 我们在B中创建了一个具有S3角色的实例 . 我们将文件从实例上传到驻留在帐户A中的存储桶 . 默认情况下,它将文件的所有者设置为B,即使它位于A.此后,当我们尝试从帐户C访问文件时,我们是获得许可问题 .
PFB错误 .
调用GetObjectAcl操作时发生客户端错误(AccessDenied):拒绝访问
如何解决这个问题?是否可以修改S3存储桶中文件的所有者?
我认为您必须使用STS从跨AWS账户访问
var params = { RoleArn: 'arn:aws:iam::crossaccountNumber:role/crossAccountName', /* required, cross account role */ RoleSessionName: 'Demo-RoleSession', /* required */ DurationSeconds: 3600 }; var sts = new AWS.STS({ apiVersion: '2011-06-15', accessKeyId: 'accessKeyIdValue', // Original Account accessKeyId secretAccessKey: 'secretAccessKeyValue' // Original Account secretAccessKey }); sts.assumeRole(params, function (err, data) { // Access S3 bucket }); //data var content temp Credentials
1 回答
我认为您必须使用STS从跨AWS账户访问