S3 has a feature which allows you to generate signed URLs which are valid only for a predefined period of time. This makes it much safer to distribute URLs via email/slack etc..
Process
- Find the object in the S3 console and note the bucket name and object path.
- Ensure your AWS credentials are loaded into your environment.
- Use the AWS CLI to create a pre-signed URL:
- Send the resulting URL to the intended recipient (ensure you include a note about its expiration). The link should look something like this: