我正面临这样一个问题,即账户A上的S3桶可以从外部IP(如我的笔记本电脑)访问,但不能从另一个账户B的EC2实例访问。
我已经从笔记本电脑和EC2实例中获得了对我正在使用的密钥的完全s3访问权限。是否需要专门为EC2实例授予任何IP级别权限?
为用户附加S3 IAM策略:
var ret = { "3": 7, "0": 19 }; // the returned object
var powers = Object.keys(ret); // get all the powers (in this case [3, 0])
var max = Math.max.apply(null, powers); // get the max power from powers array (in this case 3)
var result = [];
for(var i = max; i >= 0; i--) // from the max power to 0
result.push(ret[i] || 0); // if that power has a coeficient then push it, otherwise push 0
console.log(result);
}
P.S:我知道跨帐户访问权限,但问题是我希望EC2实例被视为来自公共IP的“只是另一个请求”。
答案 0 :(得分:0)
问题是我们有一个VPC端点设置,它对存储桶访问有限制。添加访问帐户的权限作为VPC端点策略中的新语句的存储桶解决了该问题。
示例:
{
"Sid": "StmtXXXXX",
"Effect": "Allow",
"Principal": {
"AWS": "XXXXXX" (ARN of the IAM user in Account A whose keys are being used)
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::*"
}