I want to copy data from one GCP cloud storage bucket to another GCP cloud storage bucket.
Source bucket has million of small files and are encrypted with AES256 keys(i.e. customer supplied encryption keys).
customerEncryption:
encryptionAlgorithm: AES256
keySha256: pLLJNJ+/XXXXXXXXXXXXXXXXXXXXX/ckKJNK=
GCP Data Transfer service doesn't cover data transfer for files encrypted using CSEK.
Currently I can think of only one way to solve this i.e. read the object programmatically and upload again with encryption key to destination bucket.
We can copy files encrypted with CSEK in a GCP bucket to another GCP bucket with following commands
gsutil cp
gsutil rsync
gcloud storage cp
GCP Introduced gcloud storage: up to 94% faster data transfers for Cloud Storage