从EC2实例拒绝AWS S3 403访问

时间:2017-04-17 04:17:08

标签: amazon-web-services amazon-s3 amazon-ec2 aws-sdk

我正面临这样一个问题,即账户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的“只是另一个请求”。

1 个答案:

答案 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:::*"
    }