Objective
Access a Google Cloud Storage (GCS) private bucket by an authenticated and credentialed user on a Chrome Browser. The user will be granted privileged access and permissions in advance. The Chrome Browser MUST be able to Cache locally to the browser the images (see background below for details).
Background
I have created a private bucket with images on Google Cloud Platform. The images would be used in a custom CLIENT-SIDE presentation in JavaScript from a page served by an .NET site. Once started, the presentation NEVER returns to the server (the .NET MVC5 site). This would require the images to be cached on the browser for speed, otherwise it is far too slow and not viable, as there are about 120+ images and we bounce back and forth in the image set. Everything works perfectly snappy on my local VS development server. The images cannot be made public, so unfortunately that seems to take a lot of options off the table.
On a somewhat related note probably better framed in separate post, using GCS is really Plan "B". In Plan "A", I spent a lot of time trying to create a totally secure folder for image files on the .NET MVC5 server but couldn't get that to work either. While I may have given up prematurely to pursue GCS, I'm not feeling like the smartest guy at the moment.
What I've tried already.
I have tried allowing Uniform Bucket Access to have custom cache preferences, but documentation states that the folder must be public. I could make Fine Grain ACL work, if it "could" work, but I can't seem to get the cache parameters to work as all headers keep returning with no-cache, no-store, max-age=0, must-revalidate. My research suggests that ACL is not possible.
I then pursued Cloud CDN as an option but it requires either public access or signed URLs and signed cookies in order to restrict access. Signed URLs don't excite me as I don't like the idea of creating a URL that anyone could use from anywhere if they got hold of it. That might just be me.
My Dilemma/Question.
Are signed URLs my ONLY option with GCS? I feel like I missing something obvious and thought I'd ask for some help while I continue to find a resolution.
THANK YOU in advance for any ideas and direction you may be able to offer.