Ceph S3 Bucket

Published
Length
3 min read

Luis Felipe Dias

All posts

To create a ceph s3 bucket, enable the Object Gateway service and generate user keys. Then use any standard S3 client tool to make the bucket and upload files. Most engineering teams set up one shared user account for an entire app or team. When these keys hold broad permissions, a single mistake can delete production data across buckets. How a ceph s3 bucket works under the hood Ceph stores all data as objects inside storage pools across a cluster of servers. The Ceph Object Gateway sits on

S3 Bucket: the complete guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free white paper. No spam. Unsubscribe anytime.

To create a ceph s3 bucket, enable the Object Gateway service and generate user keys. Then use any standard S3 client tool to make the bucket and upload files. Most engineering teams set up one shared user account for an entire app or team. When these keys hold broad permissions, a single mistake can delete production data across buckets.

How a ceph s3 bucket works under the hood

Ceph stores all data as objects inside storage pools across a cluster of servers. The Ceph Object Gateway sits on top of the core storage engine. This service translates standard S3 HTTP requests into native storage actions for the cluster. When an admin creates an object storage user, Ceph generates an access key pair. The client app signs each HTTP request with this secret key before sending it.

The gateway checks the signature and looks up the permissions for that user. Once the check passes, the service creates the ceph s3 bucket inside a storage pool. It stores bucket index data in one pool and raw file chunks in another. Admins can attach bucket policies or user caps to limit who can read or write. These rules follow the standard S3 policy format and check the user identity on login.

Managing permissions and bucket policies in Ceph

Teams control access to objects in two main ways within the storage cluster. First, admins set user capabilities inside the internal Ceph user directory. Second, bucket owners write JSON policy documents and attach them to specific buckets. A policy can allow one team to read files while another team writes data. Admins also use placement targets to route specific buckets to fast solid-state drives.

In daily work, engineers often copy keys into local text files to test apps. They might also share one key across build servers, scripts, and developer laptops. Over time, nobody remembers which script uses which key in the cluster. Rotating a shared key becomes scary because it might break a live service. As a result, old keys stay active with full read and write permissions for years.

S3 Bucket: architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

What native bucket setup solves and what it misses

Native Ceph policies do a good job of sorting users at the front door. They verify the key pair and check if a user owns the target bucket. They also let storage admins set disk quotas so one team cannot fill the cluster. For static apps with fixed storage needs, native bucket policies work well.

Still, native setup only checks who logs in and which bucket they touch. It does not inspect what individual requests do once the session starts. If a developer has read rights for debugging, they can download every file inside. Native rules cannot mask sensitive fields like emails, phone numbers, or card numbers in files. Also, shared S3 keys make audit logs hard to read during a security review. The log shows the shared key ID, not the actual person who ran the command.

Govern statements and responses across databases and APIs

Good config and scoped roles are needed setup. They do not check single queries in flight or mask sensitive fields in returned rows. Across Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, and internal HTTP endpoints, hoop.dev runs beside each supported service as an open-source proxy, a sidecar for your database or API.

First, hoop.dev guardrails block banned queries before they run. Then hoop.dev data masking rewrites matched sensitive values in responses in memory. The audit trail records every statement and verdict per resource. Furthermore, hoop.dev holds SOC 2 Type II and is open source on GitHub.

Frequently asked questions

How do I create a ceph s3 bucket for a new app?

First, ask your storage admin to create an Object Gateway user and key pair. Next, point your S3 client tool to the gateway URL and run the make bucket action.

Can I use standard AWS tools with a ceph s3 bucket?

Yes, the Ceph Object Gateway supports the standard S3 API for most storage tasks. You only need to change the endpoint URL in your client tool to match your cluster.

How do I restrict a user to a single ceph s3 bucket?

Attach a bucket policy that grants read and write actions only to that specific user ID. Make sure the user account does not hold global admin capabilities in the cluster.

Save the open-source gateway.

hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.