Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

access to buckets owned by other users not possible with ceph radosgw #629

Closed
jrandall opened this issue Mar 22, 2017 · 0 comments
Closed

Comments

@jrandall
Copy link
Contributor

Using minio-go, I cannot access buckets owned by other users (with appropriate ACLs set) on a Ceph radosgw. It is expected that they cannot be listed, but testing for existence or accessing them by name should work.

I have identified the underlying issue and will submit a PR shortly.

The problem is that Ceph radosgw is not returning a <Message> in the AccessDenied error response, but processBucketLocationResponse is checking that an Access Denied string is contained in the message (https://github.com/minio/minio-go/blob/master/bucket-cache.go#L128).

An example error response I get during a BucketExists call on an accessible bucket owned by another user is:

<?xml version="1.0" encoding="UTF-8"?><Error><Code>AccessDenied</Code><BucketName>npg-cloud-realign-wip</BucketName><RequestId>tx0000000000000002b1dad-0058d25cfa-6ccee7-default</RequestId><HostId>6ccee7-default-default</HostId></Error>

Because <Message> is not included at all in the XML, it will be left at the nil value of "" in the errResp ErrorResponse structure. My PR will test for an empty Message and treat that the same way as a message containing the string "Access Denied".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants