[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
-
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