1

当客户端应用程序在本地并且使用 Direct Connect 与企业本地网络设置 AWS 时,客户端应用程序究竟如何获得对 s3 对象的访问权限?例如,假设客户端应用程序只是想获取存在于 S3 存储桶中的 jpg 图像。我需要对 S3 存储桶权限进行什么类型的配置?我需要在 VPC 级别进行哪些配置?

我想,由于设置了 Direct Connect,这将大大简化本地应用程序访问 S3 存储桶的过程。正确的?VPC 端点会在这里发挥作用吗?

此外,这里有 1 个约束:客户端应用程序不在我的控制范围内:客户端应用程序只需要一个可以访问图像的 URL。不幸的是,它不能轻易更改以支持在请求中发送凭据。这可能是一个非常重要的约束,值得一提。

任何见解都值得赞赏。太感谢了。

4

2 回答 2

0

我有非常类似的问题要解决,也像你一样搜索如何强制客户端使用直接连接从 S3 下载内容。

在我的例子中,客户端是一个面向互联网的本地负载均衡器,需要提供托管在 S3 上的内容(CloudFront 是不可能的)。

已经提到的 2 篇文章很重要,但还不够:

  1. 虚拟专用接口的直接连接 https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-access-direct-connect/ => 需要设置所有 VPC 端点和 onprem 和 AWS 之间的路由。

  2. https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#accessing-bucket-and-aps-from-interface-endpoints => 部分解释如何使用 VPC 访问存储桶-端点

最新 AWS 页面中缺少的信息是您需要使用什么 URL 结构来连接到您的 S3 端点,这是我发现的有效结构:

https://桶。[vpc-endpoint-id] .s3。[区域] .vpce.amazonaws.com/ [存储桶名称] / [密钥]

使用该方案,您可以使用 S3 VPC 终端节点使用普通 Web 请求寻址一个 S3 存储桶上的任何对象。

我们使用该概念通过我们的本地负载均衡器和使用我们的 Direct-Connect 容量的特定域名安全地提供托管在 S3 存储桶上的文件。

LB 只是重写 URL 并直接从 S3 存储桶中获取文件。真正的客户不知道文件实际上是从后端的 S3 提供的。

于 2021-09-28T07:47:24.670 回答
0

你可能要考虑这些

https://aws.amazon.com/blogs/aws/new-vpc-endpoint-for-amazon-s3/

https://aws.amazon.com/premiumsupport/knowledge-center/s3-private-connection-no-authentication/

对于故障排除,试试这个

https://aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint/

如果您需要通过 DirectConnect 访问 S3,

S3-直连

//BR

PS让我知道这是否适合你.. :)

于 2020-06-21T05:27:22.487 回答