如何拥有简短的用户定义的 aws s3 预签名 url

问题描述 投票:0回答:2

我们需要通过电子邮件共享 aws s3 预签名 URL。然而,生成的 url 非常长,在我们的例子中,存储桶文件名是动态的,可以有很长的文件名。

有哪些选项可用于生成带有短名称的 aws s3 预签名 url,而不在 url 中公开这些参数 X-Amz-算法、X-Amz-SignedHeaders、X-Amz-Expires、X-Amz-Credential、X-Amz-Signature

在生成电子邮件消息并将其传递给我的 mailto 函数时,如何使这个 s3 url 变短。

谢谢 安佳娜。

amazon-web-services amazon-s3 mailto pre-signed-url
2个回答
1
投票

你不能。 URL 中需要所有这些信息。

但是,您可以使用/创建 URL 缩短服务(例如 http://bit.ly),它将短 URL 转换为完整 URL。

最简单的版本是:

  • 生成预签名 URL
  • 使用随机名称在 Amazon S3 中存储快捷方式
  • 提供快捷方式的链接

请参阅:如何使用 AWS Lambda 和 S3 构建无服务器 URL 缩短器


0
投票

预签名 URL 的目的是提供从 S3 下载文件的临时访问权限,默认情况下文件是私有的

如果您的 S3 文件是公开的,您可以 将其标记为公开,并直接链接到它们。或者你可以例如将 Cloudfront 分配链接到存储桶,并为该分配分配自定义域名。或者您可以使用重定向/缩短服务。

警告:使用服务重定向/缩短这些 URL 存在安全问题。最终网址需要难以猜测/推断,因此它很长并且

真正随机

警告:通过电子邮件发送任何私人文件是一个安全问题:

    标准电子邮件未进行端到端加密
  • 人为错误的可能性(错误的收件人)
如果您的 S3 文件是私有的,我会推荐一种不同的方法:发送链接到需要身份验证并具有带有预签名 URL 的实际文件下载按钮的页面。

© www.soinside.com 2019 - 2024. All rights reserved.