Encryption at Rest
IBM Storage Ceph supports encryption at rest for both the Ceph Storage Cluster as well as for Ceph Object Gateway in various scenarios.
-
Ceph Storage Cluster: The Ceph Storage Cluster supports Linux Unified Key Setup or LUKS encryption of Ceph OSDs and their corresponding journals, write-ahead logs, and metadata databases. In this scenario, Ceph will encrypt all data at rest irrespective of whether the client is a Ceph Block Device, Ceph Filesystem, or a custom application built on
librados. -
Ceph Object Gateway: The Ceph storage cluster supports encryption of client objects. Additionally, the data transmitted is between the Ceph Object Gateway and the Ceph Storage Cluster is in encrypted form.
- Ceph Storage Cluster Encryption
-
The Ceph storage cluster supports encrypting data stored in Ceph OSDs. IBM Storage Ceph can encrypt logical volumes with
lvmby specifyingdmcrypt; that is,lvm, invoked byceph-volume, encrypts an OSD’s logical volume, not its physical volume. It can encrypt non-LVM devices like partitions using the same OSD key. Encrypting logical volumes allows for more configuration flexibility.Ceph uses LUKS v1 rather than LUKS v2, because LUKS v1 has the broadest support among Linux distributions.
When creating an OSD,
lvmwill generate a secret key and pass the key to the Ceph Monitors securely in a JSON payload viastdin. The attribute name for the encryption key isdmcrypt_key.Important: System administrators must explicitly enable encryption.By default, Ceph does not encrypt data stored in Ceph OSDs. System administrators must enable
dmcryptto encrypt data stored in Ceph OSDs. When using a Ceph Orchestrator service specification file for adding Ceph OSDs to the storage cluster, set the following option in the file to encrypt Ceph OSDs:Example
... encrypted: true ...Note: LUKS anddmcryptonly address encryption for data at rest, not encryption for data in transit.
- Ceph Object Gateway Encryption
-
The Ceph Object Gateway supports encryption with customer-provided keys using its S3 API. When using customer-provided keys, the S3 client passes an encryption key along with each request to read or write encrypted data. It is the customer’s responsibility to manage those keys. Customers must remember which key the Ceph Object Gateway used to encrypt each object.
Reference
For more information, see the following: