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

时间:2016-04-22 10:24:23

标签: amazon-web-services amazon-s3

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

PFB错误。

  

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

如何解决此问题? 是否可以修改S3存储桶中文件的所有者?

1 个答案:

答案 0 :(得分:0)

I think you have to use STS to access from cross AWS account like

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