Storage: Provide credential-free access to public-access buckets
Per the GCS authentication doc:
Objects are anonymously accessible if the
allUsersgroup hasREADpermission.
Add support for such access to the storage client. Two strategies seem possible:
- Add a classmethod factory to the
Clientclass which bypasses inferring credentials from the user environment. - Add a custom
AnonymousCredentialssingleton which can be passed to theClientconstructor.
We don't need to enforce any limits on the access to buckets / objects retrieved from the "anonymous" client: the back-end will return UNAUTHORIZED.
System tests can use the gcp-public-data-landsat bucket, if desired (hopefully CI throttling won't be an issue).