如何在具有写入权限的多个AWS账户之间建立跨账户角色账户?

问题描述:

我们有3个AWS账户可以说A,B和C.我们为A和B,A和C之间的S3存储桶建立了交叉账户策略。我们在B中用S3角色创建了一个实例。我们将实例中的文件上载到帐户A中的存储桶中。默认情况下,它将文件的所有者设置为B,即使它位于A中。此后,当我们尝试从帐户C访问文件时,我们获得许可问题。如何在具有写入权限的多个AWS账户之间建立跨账户角色账户?

PFB错误。

客户端错误(存取遭拒)调用GetObjectAcl 操作时发生:拒绝访问

如何解决这个问题? 是否可以修改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