如何在不使用IAM的情况下将第三方文件上传到私有S3存储桶?

apdm

是否可以在不使用IAM的情况下将第三方文件上传到S3存储桶?我想避免为AWS账户发送凭证的麻烦,但是仍然可以利用S3 UI我只找到一种解决方案。

预标识的URL选项响起了巨大,但似乎只与他们的软件开发工具包的工作,我不是要告诉我的客户在他们的计算机上安装Python来上传文件。

基于浏览器的上载要求我制作自己的前端html表单,然后在服务器上运行以进行上载(大声笑)。

我是否可以简单地创建一个预签名的URL,该URL将用户导航到S3控制台并允许他们在到期时间之前上传?当然,公开存储桶也不是一种选择。为什么这么复杂!

约翰·罗滕斯坦

管理控制台

Amazon S3管理控制台将仅显示与用户的AWS账户关联的S3存储桶。此外,也无法限制显示的存储桶(即使用户无法访问,存储桶也会显示帐户中的所有存储桶)。

因此,您当然不想让他们访问您的AWS管理控制台。

预先签署的网址

您的用户也不会要求AWS SDK使用预签名URL。而是,您必须运行自己的系统,该系统会生成预签名的URL并将其提供给用户(例如,通过网页或API调用)。

网页

您可以在Amazon S3上托管一个静态上传页面,但是它将无法对用户进行身份验证。由于您只希望提供对特定人员的访问权限,因此您需要在后端运行一些代码以对他们进行身份验证。

生成...

您问:“我是否可以简单地创建一个预签名的URL,该URL将用户导航到S3控制台并允许他们在到期时间之前上传?”

是的,没有。是的,您可以生成一个预签名的URL。但是,它不能与S3控制台一起使用(请参阅上文)。

为什么这么复杂?

因为安全很重要。

那么该怎么办?

一些选择:

  • 使存储桶公开可写,但不公开可读。告诉您的客户如何上传。不利之处在于,任何人都可以上传到存储桶(如果他们知道的话),因此这只是出于默默无闻的安全性但是,这可能对您来说是一个简单的解决方案。
  • 生成一个寿命很长的预签名URL。您可以创建一个可以使用数月或数年的URL。将其提供给他们,他们就可以上传(例如,通过您提供给他们的静态HTML页面)。
  • 为它们生成一些IAM用户凭证,然后让它们使用AWS命令行界面(CLI)Cloudberry之类的实用程序给他们足够的凭据来进行上传访问。假设您只有几个需要访问的客户。

底线:安全性很重要。但是,您不想“避免发送凭据的麻烦”,也不希望运行系统来执行身份验证检查。不做一些工作就无法拥有安全性,安全性差的代价将比实现良好安全性的代价高得多。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不使用第三方应用程序的情况下打开iBook文件?

如何在不使用.Net Core中的第三方记录器的情况下登录文件?

如何在.Net Core 3 ASP.NET MVC中不使用第三方记录器的情况下登录文件?

如何在不使用第三方插件的情况下最大化打开新终端?

如何在不使用任何第三方应用程序的情况下对Windows中的文件夹进行密码保护?

如何在没有d.ts文件的情况下导入第三方软件包?

如何在没有第三方软件的情况下将 Apache Druid 连接到 Power BI?

如何在没有第三方的情况下使用Angular / Typescript对HTML表进行排序?

如何在没有任何第三方工具的情况下将chrome中的控制台日志保存到本地文件中?

如何在没有任何第三方库的情况下使用 Node.js 下载 .gz 文件

如何在不使用AWS CLI的情况下使用S3专用存储桶下载文件

在不使用内置方法或第三方库的情况下,将 JSON 字符串以适当的格式写入 JSON 文件

如何在不使用第三方浏览器扩展的情况下使用用户样式表自定义某些网站的样式?

在不使用任何第三方库的情况下,如何在React Native项目中使用Font Awesome?

如何在不使用第三方库的情况下转义Java字符串中的Unicode字符

如何在不使用第三方包的情况下在颤振中转换日期?

如何在不使用boto3删除现有标签的情况下将标签添加到S3存储桶?

如何在不使用预签名 URL 的情况下在 s3 私有存储桶中公开 s3 对象

如何在不安装npm的情况下包括第三方npm模块?

如何在不修改第三方元素的情况下替换:: shadow

没有第三方解析器的情况下,如何在Kotlin中解析JSON?

没有任何第三方模块的情况下,如何在Node Js中进行https发布?

如何在没有第三方工具的情况下向后(向左)扩展硬盘分区?

如何在没有第三方软件的情况下更改Windows 10上的MAC地址?

如何在没有第三方软件的情况下远程访问我的电脑?

如何在没有第三方库的情况下加密 sqlite 文本 (Android)

我可以配置S3存储桶,以便将所有文件上传到S3存储桶,以便默认情况下所有人都可以看到所有页面

在Python中使用ARN iam将文件上传到Amazon s3存储桶

如何在没有AWS JavaScript SDK的情况下将文件上传到S3?