Skip to content

fix(iam): make IPAM read-only for organization members - #297

Merged
scotwells merged 1 commit into
mainfrom
fix/ipam-owner-write-access
Sep 23, 2026
Merged

scotwells merged 1 commit into
mainfrom
fix/ipam-owner-write-access

Conversation

@scotwells

@scotwells scotwells commented Sep 23, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

The datum-cloud owner role inherits ipam.miloapis.com-admin, which carries pool and class CRUD. Every customer owns the organization they create, and that binding reaches every project in it — so every customer can create and delete IP pools and classes in their own projects. A pool's CIDR cannot be corrected once an address has been handed out of it, and deleting one orphans every allocation beneath it.

editor and viewer name no IPAM role at all, so a non-owner member cannot even list the pools their networks draw from.

Change

Owner drops ipam.miloapis.com-admin. Viewer gains ipam.miloapis.com-viewer, which editor and owner inherit — all three end up read-only.

Allocation is unaffected: claims are filed by the network operator under its own identity, and provisioned pools are created by the IPAM service itself.

Left out

Platform operators have no IAM route to IPAM either — the platform pools are installed by a system:masters certificate. datum-cloud/infra#5903 grants them ipam.miloapis.com-provider, scoped to the Datum organization.

Organization owners inherited ipam.miloapis.com-admin, which carries pool
and class CRUD. Every customer is the owner of the organization they create,
so every customer could create and delete IP pools and classes in any of
their projects. Address space is platform-operated: a pool's CIDR cannot be
corrected once an address has been handed out of it.

Owner drops the admin grant. Viewer gains ipam.miloapis.com-viewer, which
editor and owner both inherit, so members can see the pools and allocations
backing their networks where before only owners could.

Allocation is unaffected: claims are filed by the network operator under its
own identity, not the end user's.
@scotwells
scotwells marked this pull request as ready for review September 23, 2026 00:06
@scotwells
scotwells requested a review from a team as a code owner September 23, 2026 00:06
@scotwells
scotwells merged commit b2d946d into main Sep 23, 2026
9 checks passed
@scotwells
scotwells deleted the fix/ipam-owner-write-access branch September 23, 2026 00:11
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

Successfully merging this pull request may close these issues.

2 participants