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

Workaround to List Additional Shared Buckets #51

Open
Magnitus- opened this issue Feb 12, 2024 · 1 comment
Open

Workaround to List Additional Shared Buckets #51

Magnitus- opened this issue Feb 12, 2024 · 1 comment

Comments

@Magnitus-
Copy link

Magnitus- commented Feb 12, 2024

I've encountered this issue with Ceph Rgw where it is possible for a user to have access to some buckets that they won't see listed:

https://serverfault.com/questions/1153389/setting-read-only-access-on-ceph-rgw-bucket-for-another-user-on-same-tenant-not

I've figured out this workaround which seems reasonable for small deployments with not too many shared buckets to manage: Magnitus-@b9ccec7

Basically, you create an object containing a list of additional buckets you've shared with the user and then you can remotely edit the bucket without having to redeploy the user's s3manager environment.

I've edited my fork to work with that use-case and while it could be fancier (support json, newline separated entries, a file on the fs in addition to an s3 object, integration in the tests, etc), it appears to be good enough for what I need at the moment.

If you are interested in integrating it into the upstream project after a few adjustments, let me know.

@Magnitus-
Copy link
Author

Magnitus- commented Feb 16, 2024

fyi, added a couple more improvements to make it work for my use-case at home:

  • asgardius' fix for paths with spaces in them
  • Configuration parameter to optionally bind to a specific address (ex: localhost only, given that we're giving our access to the s3 store there)
  • Support for configuration files (ie, for Windows environments, I don't want to wrap the binary in powershell scripts or whatnot just to pass environment variables)

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

No branches or pull requests

1 participant