An optional parameter to set the Customer-Supplied Encryption key.
Application developers can generate their own encryption keys to protect the data in GCS. This is known as a Customer-Supplied Encryption key (CSEK). If the application provides a CSEK, GCS does not retain the key. The object data, the object CRC32 checksum, and its MD5 hash (if applicable) are all encrypted with this key, and the key is required to read any of these elements back.
Care must be taken to save and protect these keys, if lost, the data is not recoverable. Also, applications should avoid generating predictable keys, as this weakens the encryption.
This option is used in read (download), write (upload), copy, and compose operations. Note that copy and compose operations use the same key for the source and destination objects.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-09 UTC."],[[["This document outlines the use of Customer-Supplied Encryption Keys (CSEK) in Google Cloud Storage (GCS) for enhanced data security."],["CSEK allows application developers to encrypt data in GCS with their own keys, which are not retained by GCS, ensuring data control."],["The document provides details for using CSEK in read, write, copy, and compose operations within GCS, including the caveat that the same key is used for both the source and destination in copy and compose actions."],["It's critical to protect and save these encryption keys, as data is irretrievable without them and predictable keys should be avoided."],["The document details how to create encryption key parameters using static methods like `FromBinaryKey` and `FromBase64Key`, and also includes a static `prefix()` method."]]],[]]