In this article, we show you how to generate a pre-signed URL using the AWS CLI. This is an important step in providing secure access to your S3 bucket contents.
Use the AWS CLI get a list of your buckets:
aws s3 ls
Locate the correct bucket
aws s3 s3://bucketname
Find the correct object within that bucket
aws s3 s3://bucketname/objectname
Share that object using the presigned URL format giving a timeout number in seconds (e.g –expires-in 60)
aws s3 presign s3://bucketname/objectname –expires-in 60
Share the generated URL with client.
Note: you may want to shorten the URL using a service such as tinyurl or bit.ly
Also note that you must download the object within the specified time. Otherwise the object will timeout and your session will be denied.

The AWS CLI reference document will provide more information for those who are interested in learning more about this process.