Post a reply

Options
Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)

Options

Topic review

martin

Re: AWS S3 Pre-Signed URL extension please

@Sander: Do you know how does it work in Cyberduck? Is my conclusion that AWS SDK is needed for this? Does Cyberduck come with its own SDK installation? Or do you need to install and configure it separately?
Sander

Re: AWS S3 Pre-Signed URL extension please

Actually, I was just trying out WinSCP as a replacement for CyberDuck, which has the option to generate pre-signed download URLs for files uploaded to an S3-compatible bucket. You can specify the expiry date / time-out you need when generating the URL.
I like WinSCP better (I already bought it actually...), but I was a bit disappointed to find out that this feature is missing.

Context: this functionality is useful for users that need to share "secure" (temporary) download links with people. In my case, I need it to test a REST API that only accepts pre-signed URLs as input.
martin

Re: AWS S3 Pre-Signed URL extension please

And it is the case indeed.

While I've found this idea for an extension useful initially, now it seems to me that its use would be quite limited.
martin

Re: AWS S3 Pre-Signed URL extension please

Thanks for your suggestion. I'll look into it. Though I assume that to be able to use Get-S3PreSignedURL, one would have to have AWS SDK installed and configured.
nunnsby

AWS S3 Pre-Signed URL extension please

The Generate URL extension is great. Are you able to either extend it or add a second extension for AWS S3 Pre-Signed URL please. The standard URL assumes you allow public access to a bucket, which is a massive security breach. Having the ability to quickly create a Pre-Signed URL allows for the Bucket to be locked down, yet still allow creation of sharable links.

I do not know PowerShell, but see the extensions all make use of it, and having looked online the code to do this would be:
$bucket = "my-bucket"
$key = "my-object"
$expires = (Get-Date).AddHours(1)
$url = Get-S3PreSignedURL -BucketName $bucket -Key $key -Expires $expires
Write-Host "Pre-Signed AWS S3 URL: $url"

To be able to enter a customer number for AddHours would be great to allow you customise how long it is available for.

Thanks in advance for your great product. :)