Bug 1472464 - rgw multisite: objects encrypted with SSE-C fail to sync
rgw multisite: objects encrypted with SSE-C fail to sync
Product: Red Hat Ceph Storage
Classification: Red Hat
Component: RGW (Show other bugs)
Unspecified Unspecified
medium Severity high
: rc
: 3.0
Assigned To: Casey Bodley
Depends On:
  Show dependency treegraph
Reported: 2017-07-18 15:46 EDT by Casey Bodley
Modified: 2017-12-05 18:36 EST (History)
9 users (show)

See Also:
Fixed In Version: RHEL: ceph-12.2.1-1.el7cp Ubuntu: ceph_12.2.1-2redhat1xenial
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2017-12-05 18:36:49 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Ceph Project Bug Tracker 20668 None None None 2017-07-18 15:46 EDT

  None (edit)
Description Casey Bodley 2017-07-18 15:46:36 EDT
Description of problem:

Objects encrypted with the SSE-C mode do not sync to other zones.

How reproducible:

All objects encrypted with SSE-C in a multisite configuration.

Steps to Reproduce:

1. Set up a multisite configuration with two zones, including this additional value in ceph.conf:
  rgw crypt require ssl = false

2. Create a bucket on the primary zone
3. Upload an object to that bucket on the primary zone, using these additional request headers:
  x-amz-server-side-encryption-customer-algorithm: AES256
  x-amz-server-side-encryption-customer-key: pO3upElrwuEXSoFwCfnZPdSsmt/xWeFa0N9KgDijwVs=
  x-amz-server-side-encryption-customer-key-md5: DWygnHRtgiJ77HCm+1rvHw==

Actual results:

The object never syncs to the secondary zone. The radosgw log will contain errors like 'data sync: ERROR: failed to sync object: BUCKET:563951e3-8440-4b01-aa6d-58b4fea0e5d0.4110.1/fooo' (where bucket name is BUCKET and object name is fooo).

Expected results:

The object syncs to the secondary zone in its encrypted form. The decrypted object can be read from the secondary zone with a GET request that includes the same x-amz-server-side-encryption- headers used to upload.

Additional info:

Multisite sync requests are rejected with '400 Bad Request' because they do not provide the x-amz-server-side-encryption- headers needed to decrypt the object data. This is enforced by rgw_s3_prepare_decrypt().
Comment 9 errata-xmlrpc 2017-12-05 18:36:49 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.