【问题标题】:How to establish cross account role account between multiple AWS accounts with write permission ?如何在具有写入权限的多个 AWS 账户之间建立跨账户角色账户?
【发布时间】:2016-05-17 19:13:51
【问题描述】:
我们有 3 个 AWS 账户,比如说 A、B 和 C。我们为 A 和 B、A 和 C 之间的 S3 存储桶建立了跨账户策略。我们在 B 中创建了一个具有 S3 角色的实例。我们将文件从实例上传到帐户 A 中的存储桶。默认情况下,即使文件位于 A 中,它也会将文件的所有者设置为 B。之后,当我们尝试从帐户 C 访问文件时,我们是获得许可问题。
PFB 错误。
调用 GetObjectAcl 时发生客户端错误 (AccessDenied)
操作:拒绝访问
如何解决这个问题?
是否可以修改 S3 存储桶中文件的所有者?
【问题讨论】:
标签:
amazon-web-services
amazon-s3
【解决方案1】:
我认为您必须使用 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