Grant one team
grant/revoke and the level come from fixed sets.
Revoke with the same shape:
Grant the whole workspace
When the audience really is everyone, one workspace-wide grant beats a grant per team.Check before you promise
Before telling a team their SDK will build, confirm the bucket is genuinely available to both of you:build-access lists what is available to the caller and the team, which is the set that will actually work at plan time.
When to create a second bucket
Reach for a new bucket when there is a real boundary — a separate environment, a tenant that must not share credentials, an enterprise isolation requirement. Not because an example named one.bucket.manage, and creation does not grant bucket.use. Run the action you intended afterwards and stop if it is denied.
Permissions
If you are denied
Stop the blocked action and keep whatever config or connection details you had prepared. Report the exact bucket and the missing permission. Do not self-grant, switch credentials, or retry with broader authority — and do not run an access-changing command on someone’s behalf unless they asked and you are authorised.Build an SDK on it
A shared bucket is most useful the moment another team points an SDK at it.