【问题标题】:Node: AWS S3 sdk sync from different accounts节点:来自不同账户的 AWS S3 sdk 同步
【发布时间】:2019-02-07 12:24:54
【问题描述】:
您好,我在使用 S3 存储桶时遇到问题。
我有不同的环境 dev、qa、staging 和 production,每个 s3 存储桶在每个环境中都有一个特定的 IAM 角色,因此无法共享相同的 AWS Api 密钥。
我需要的是使用 nodejs aws sdk 从 {ENV_1}_S3_Bucket to {ENV_2}_S3_Bucket 同步内容的可能性。
有什么可以帮助的吗?我不想过多地与 IAM 角色混淆。
提前致谢和问候。
【问题讨论】:
标签:
node.js
amazon-web-services
api
amazon-s3
aws-sdk
【解决方案1】:
您要访问存储桶的角色必须在 S3 存储桶策略中明确列出:
(S3 Web 控制台 -> 存储桶 -> 选项卡权限 -> 按钮存储桶策略)
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111111111111:role/your-bucket-role-1",
"arn:aws:iam::222222222222:role/your-bucket-role-1"
]
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::your-bucket",
"arn:aws:s3:::your-bucket/*"
]
}
]
}