(实操)使用S3预签名URL共享对象


HELLO大家好,在本课时我们讨论使用S3预签名URL共享对象。 S3预签名URL是一种允许用户在有限的时间段内访问特定存储桶中的对象的方法

比如您可能有一些特定的用户,他们没有AWS账户,因此您无法通过账户授权他们访问权限;但您需要这些用户能够在一个有限的时间段内,访问一些重要的更新,一个视频或者是其他类型的对象,在这种情况下S3预签名URL是一个很好的选择。

使用S3预签名URL共享对象


您可以使用API、CLI来创建S3的预签名URL,您可以构建一个应用程序来通过API自动执行此操作,来实现您应用程序的某个功能。当然也可以通过S3的管理控制台创建S3的预签名URL,在本课时我们主要通过CLI的方式来进行实操演示。

这个就是创建预签名URL的命令,aws s3 presign ,后面是存储桶名称 以及您要共享的对象名称,iloveawscn-saa是我的存储桶,huandengpian1.jpg是这个存储桶中的对象。

执行后将生成这个对象的预签名的URL,PPT这里显示的就是我的执行结果。您也可以以秒为单位指定此URL的有效时间,不指定默认为1小时过期。


接下来我们切换到S3,演示如何创建预签名URL。

切换到我们的iloveawscn-saa存储桶,我将上传一个文件,文件名为presignurl.jpeg。

让我们先完成这个上传操作。

那在默认情况下,这个对象是无法公开访问的。 我们来看一下,选择这个对象,复制下对象URL,然后切换到浏览器访问一下,可以看到访问会被拒绝。


那现在我们假设我们需要允许一部分用户访问这个特定的对象。那现在我们就通过CLI命令,生成这个对象的预签名URL,然后使用预签名URL来访问这个对象。

我们切换到CLI界面,我们粘贴下命令:

aws s3 presign s3://iloveawscn-saa/presignurl.jpeg --expires-in 60

我们看下这个命令,aws s3 presign s3://然后是您的存储桶名称/后面是对象名称,也就是我们刚刚上传的文件名。

然后的参数是我配置的过期时间,这里指定的是60秒,稍后您会看到这个预签名URL的有效和过期后的演示。

回车运行命令。

可以看到得到了一个非常长的网址,我们将这个网址复制一下,然后回到浏览器,将它粘贴进行,然后按回车键访问。

我们可以成功访问我们上传的图片文件,也就是说我们通过CLI生成并使用预签名URL成功访问了对象。然后就可以将这个预签名URL发送给需要访问的那部分用户。

以上是使用CLI创建预签名URL的一种非常简单的方法。


我们的命令参数指定了60秒的有效期,那现在已经过了60秒我们刷新下浏览器,看下是否还可以访问该对象。

可以看到访问被拒绝,信息提示请求已过期,并为我们提供了一些有关该预签名URL过期时间的一些信息。

可以看到通过CLI来设置预签名URL非常的方便。


那接下来我们切换到S3控制台,我们来看下通过控制台如何配置预签名URL。

进入到我们的存储桶,选择我们要创建预签名URL的对象,然后点击“操作”,点击“使用预签名URL共享”


可以看到提示任何人都可以使用此预签名URL访问对象,直到过期为止,即使存储桶和对象是私有的也是如此。

然后配置过期时间,这里就是对应我们CLI命令行的过期时间的参数,比如我们配置1分钟,然后点击“创建预签名URL”

然后可以看到预签名URL已创建,我们就可以通过这个预签名URL访问该对象。

好的,以上就是本课时的内容,本课时我们实操演示了通过CLI以及管理控制台创建S3预签名URL来达到临时共享对象的目的,感谢大家的观看,希望能够给大家带来帮助。

2023年12月16日

0 responses on "(实操)使用S3预签名URL共享对象"

Leave a Message

Setup Menus in Admin Panel

error: Content is protected !!