我有一个应用程序将一些文件上传(复制)到另一个 AWS 账户中的 S3 存储桶,我使用 AWS SDK(Nodejs)中的 copyObject 命令
var params = {
Bucket: "MyBucket_AccountB",
CopySource: encodeURI('/Accunt_A_Bocket/file.png'),
Key: "file.png",
ACL: 'bucket-owner-full-control'
};
s3.copyObject(params, function(err, datas) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(datas); // successful response
});
这段代码从不同的 AWS 账户运行,比方说,AWS_ACCOUNT_A
上传到 S3 存储桶中AWS_ACCOUNT_B
的文件问题是,当它将文件上传到这个存储桶时,这些文件的所有权仍然是AWS_ACCOUNT_A
。
我想知道AWS_ACCOUNT_B
在上传文件时我应该怎么做才能将文件的所有权授予 。这里有人可以给我一些指导吗?
更新 :
我使用了这个政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::MY_ACCOUNT_B_ID:root"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::MYBUCKET_IN_ACCOUNT_A",
"arn:aws:s3:::MYBUCKET_IN_ACCOUNT_A/*"
]
}
]
}
但上传的文件仍然归 拥有Account_A
,我在政策中做错了吗?