Bug 1695174 - rgw: fix eval bucket policies and perms permissions for non-existent objects
Summary: rgw: fix eval bucket policies and perms permissions for non-existent objects
Alias: None
Product: Red Hat Ceph Storage
Classification: Red Hat
Component: RGW
Version: 3.2
Hardware: All
OS: All
Target Milestone: z2
: 3.2
Assignee: Pritha Srivastava
QA Contact: Tejas
Depends On:
TreeView+ depends on / blocked
Reported: 2019-04-02 15:54 UTC by Matt Benjamin (redhat)
Modified: 2019-12-02 17:25 UTC (History)
9 users (show)

Fixed In Version: RHEL: ceph-12.2.8-113.el7cp Ubuntu: ceph_12.2.8-96redhat1xenial
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2019-04-30 15:57:08 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Ceph Project Bug Tracker 38638 None None None 2019-04-02 15:54:04 UTC
Red Hat Product Errata RHSA-2019:0911 None None None 2019-04-30 15:57:23 UTC

Description Matt Benjamin (redhat) 2019-04-02 15:54:04 UTC
From upstream tracker:


I noticed a bug when accessing Ceph via Hadoop. I am using some shared buckets with read/write access for all users. Here is the policy for the bucket:

    "Version": "2012-10-17",
    "Statement": [
            "Sid": "AllowAll",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": [

However, if a user different from the owner (or even an anonymous user) does a GetObject/HeadObject on a non existing object, Radosgw returns status code 403 which makes the Hadoop write fail.

From the official S3 documentation:

If a requested object doesn't exist in the bucket and the requester doesn't have s3:ListBucket access, then the requester receives an HTTP 403 (Access Denied) error rather than the HTTP 404 (Not Found) error.

I tried in AWS and a bucket with the same policy returns 404, which should be the correct behaviour since ListBucket is allowed.

Comment 6 errata-xmlrpc 2019-04-30 15:57:08 UTC
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.