【问题标题】:AWS S3 403 Access Denied from EC2 instanceAWS S3 403 拒绝来自 EC2 实例的访问
【发布时间】:2017-09-12 16:36:44
【问题描述】:

我面临这个问题,即账户 A 上的 S3 存储桶可以从外部 IP(比如我的笔记本电脑)访问,但不能从另一个账户 B 的 EC2 实例访问。

我已授予对我在笔记本电脑和 EC2 实例中使用的密钥的完全 s3 访问权限。是否需要专门为 EC2 实例授予任何 IP 级别权限?

为用户附加 S3 IAM 策略:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": "s3:*",
        "Resource": "*"
    }
]

}

P.S:我知道跨账户访问权限,但问题是我希望 EC2 实例被视为来自公共 IP 的“只是另一个请求”。

【问题讨论】:

  • 此策略附加到哪个用户?在哪个账户?你在使用访问密钥吗?
  • 账户 A 中的一个 IAM 用户。是的,我正在为同一用户使用访问密钥(在账户 A 中)
  • 你能展示示例代码如何使用aws-sdk吗?

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


【解决方案1】:

问题是我们有一个 VPC 端点设置,它对存储桶访问有限制。在 VPC 终端节点策略中添加访问账户 A 存储桶的权限作为新语句解决了该问题。

例子:

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

【讨论】:

  • VPC 端点的工作原理是在您的 VPC 路由表中劫持与同一区域内所有 S3 相关联的所有公共 IP 地址的所有流量......因此 VPC 端点可以以它的方式控制访问,即使是来自另一个帐户的存储桶。
  • 是的,从来没有意识到会是这样!花了一整夜调试这个问题。
猜你喜欢
  • 2021-02-16
  • 1970-01-01
  • 1970-01-01
  • 2022-07-17
  • 1970-01-01
  • 2016-04-07
  • 2017-12-24
  • 2021-11-06
  • 1970-01-01
相关资源
最近更新 更多