我正在尝试同步属于不同帐户的两个s3存储桶。我在我的机器上安装了aws cli,我在.aws / credentails中设置了一个密钥(buket1)
[default]
aws_access_key_id = dsdsdsda
aws_secret_access_key = dsdsdsdsdsdsdsdsdsdsdsdsdsdsds
我想运行命令
aws sync s3://bucket1 s3://bucket2
如何为aws cli向bucket2添加凭证?
答案 0 :(得分:0)
idgabbay是对的 - IAM现在具有跨帐户访问功能,并且您还拥有S3存储桶策略,因此在这两者之间您应该能够将一个帐户权限授予两个帐户/存储桶。
您的aws s3 sync
来电无法同时接受两套凭据,因此在您的凭据文件中添加其他个人资料无济于事。
以下是跨帐户访问的aws页面: http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-walkthrough-crossacct.html
授予其他帐户访问其他存储区的策略如下所示(注意第二个主要行是您需要的root帐户):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": ["arn:aws:iam::111122223333:user/Alice",
"arn:aws:iam::111122223333:root"]
},
"Action": "s3:*",
"Resource": ["arn:aws:s3:::my_bucket",
"arn:aws:s3:::my_bucket/*"]
}
]
}