Create Bucket-Limited Tokens for Each S3-Backed Volume Mount #28

Open
opened 2023-08-21 15:07:20 +02:00 by so-rose · 0 comments

We already create a dedicated S3 bucket each time an S3-backed volume is requested. However, currently, for simplicity, they all share one read-write token set which works for all buckets.

Not just each bucket, but each host's mount of each bucket, really ought to have its own dedicated token as well. For example, a host using a readonly-mounted rclone filesystem should only be given a read-only token set (ex. a #14 scheme), but the one host that needs the read-write rclone filesystem should instead be given a read-write token set.

Realizing this requires #24 to be tenable:

  • Per-host token set generation should be done via the Cloudflare API, whenever an appropriate token/host set doesn't yet exist, in deploy_volume_s3.
  • These tokens should be written to password-store (again, when they don't yet exist, or are expired) as a hot-path config, as described in #24.
We already create a dedicated S3 bucket each time an S3-backed volume is requested. However, currently, for simplicity, they all share one read-write token set which works for all buckets. Not just each bucket, but each host's mount of each bucket, really ought to have its own dedicated token as well. For example, a host using a `readonly`-mounted `rclone` filesystem should only be given a read-only token set (ex. a #14 scheme), but the one host that needs the read-write `rclone` filesystem should instead be given a read-write token set. Realizing this **requires** #24 to be tenable: - [ ] Per-host token set generation should be done via the Cloudflare API, whenever an appropriate token/host set doesn't yet exist, in `deploy_volume_s3`. - [ ] These tokens should be written to `password-store` (again, when they don't yet exist, or are expired) as a hot-path config, as described in #24.
so-rose added the
security
deployment-usability
labels 2023-08-21 15:07:20 +02:00
so-rose added this to the Refactor and Cleanup project 2023-08-21 15:07:21 +02:00
so-rose added a new dependency 2023-08-21 15:07:34 +02:00
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Depends on
#24 Configs/Secrets Bootstrapping & Management
python-support/python-support-infra
Reference: python-support/python-support-infra#28
There is no content yet.