[firebase_storage] Download files with customer-supplied/managed encryption keys #4954
Unanswered
ksilz
asked this question in
Feature request
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I asked about this on Stack Overflow but got no reply in four days. I created a companion request for AngularFire.
My app stores files with Firebase Storage. I want to encrypt these files conveniently on the server. Firebase Storage uses Google Cloud Storage. And Google Cloud Storage offers two options for this: Customer-supplied encryption keys, where the app provides a key, and customer-managed encryption keys, where the app provides the name of the server-side “encryption service account” in Google cloud storage.
I think my Java back-end that creates my files would be fine: The Firebase Admin SDK uses the Java Cloud Storage library. And there Storage.BlobTargetOption has an
encryptionKey()
method for the customer-supplied encryption key, and akmsKeyName()
method for the customer-managed encryption keys.But I don’t see how I can download files with customer-supplied/managed encryption keys in FlutterFire. Getting a reference to a file only lets me specify a path, not a key or key name. And getting a download URL for that reference has no parameters, so no key or key name here, either.
So I suggest as a feature that Firebase Storage in FlutterFire supports both the customer-supplied & customer-managed encryption keys for Google Cloud Storage. As for the implementation of that feature, getting a download URL could be the place to specify either a customer-supplied encryption key or the name of a customer-managed encryption key.
Beta Was this translation helpful? Give feedback.
All reactions