限制对 S3 中对象的访问

Posted

技术标签:

【中文标题】限制对 S3 中对象的访问【英文标题】:Restrict access to objects in S3 【发布时间】:2017-09-24 18:24:04 【问题描述】:

我想限制对存储在 Amazon S3 存储桶中的对象的访问。

我想允许我们局域网上的所有用户(他们可能有也可能没有亚马逊凭证,因为整个基础设施都不在 AWS 上)。我看过一些关于 IP 地址过滤和 VPC 端点的讨论。有人可以在这里帮助我吗?我不确定我是否可以使用 VPC 终端节点,因为我们局域网上的所有用户都不在 Amazon VPC 中。

这可能吗?

谢谢

【问题讨论】:

您使用的身份验证提供程序是什么? 我们正在使用 ADFS。 您如何定义“我们局域网上的用户”?您可以通过 IP 地址限制访问,也可以向经过身份验证的 AWS 用户授予访问权限。您的网络和 AWS 之间是否有 Direct Connect 或 *** 连接? AWS 如何识别您的“我们局域网上的用户”? VPC Endpoint 仅适用于其他 AWS VPC,不适用于来自您 LAN 的其他连接。 【参考方案1】:

您的公司 LAN 很可能使用静态 IP 地址。您可以创建 S3 策略以根据 IP 地址允许访问(或拒绝)。这是一篇很好的 AWS 文章:

Restricting Access to Specific IP Addresses

VPC 终端节点用于 VPC 到 AWS 服务的连接(基本上使用 Amazon 的私有互联网而不是公共互联网。VPC 终端节点不会帮助您实现企业连接(除非您使用 Direct Connect)。

【讨论】:

【参考方案2】:

这是我的解决方法,

配置

Configure Users from a corporate directory who use identity federation with SAML.
Create Groups
Apply Policies to Group

这将提供细粒度的控制并减少维护开销。 这不仅可以帮助您控制 S3,还可以帮助您控制将来迁移到 AWS 的任何工作负载以及对这些资源的权限。

基于 IP 的过滤容易存在安全风险,从长远来看维护成本高且不可扩展。

编辑:

添加更多文档来执行上述操作,

将 ADFS 与 AWS IAM 集成:

https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/

IAM 组:

http://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_create.html

【讨论】:

我们正在使用 ADFS。让我试着解释一下。基本上我在 S3 存储桶中有一个名为 index.html 的文件。此 html 页面包含指向 S3 中其他对象的链接。我需要的解决方案是允许 LAN 用户访问 html 页面及其中的链接。我是否需要为用户组创建存储桶策略并将其附加到存储桶?由于我是新手,因此我可能会错误地陈述某些内容。谢谢 我需要使用 Rotute 53 进行此设置吗? 添加了如何与 ADFS 集成并创建 IAM 组。与 Route 53 无关。一旦有了 index.html,里面的所有链接 URL 都必须是相对的,而不是绝对的。您可以指定哪些用户属于 IAM 组,其他一切都会自动处理。 我会试试这个。谢谢!

以上是关于限制对 S3 中对象的访问的主要内容,如果未能解决你的问题,请参考以下文章

仅将 S3 对象 URL 限制为网站上的登录用户

AWS S3 - 限制对引用者的访问时访问被拒绝

使用 Amazon S3 阻止公有访问

使用默认 aws/S3 KMS 密钥对解密对象进行跨账户访问

我如何监视用户对AWS S3的访问?

Amazon S3 存储桶策略只允许访问特定的 http