I recently learnt that you can share objects in private S3 buckets by using pre-signed URLs.
The [S3] object owner can share objects with others by creating a presigned URL - using their own security credentials to grant time-limited permission to download the objects.
Source: S3 User Guide
This functionality has been really useful in getting a VideoPlayer
GameObject in Unity to directly play a video hosted on S3. You just generate a pre-signed URL for the video 1 and attach it to the VideoPlayer
's URL component. No need to deconstruct frames into byte-arrays and such - Unity takes care of it all AND your objects are never made public.
-
This can be done through the AWS Console or in-script. Here is a .NET code sample ↩︎