Skip to content

Add System Access page#3095

Open
charliepark wants to merge 23 commits intomainfrom
system_level_access_page
Open

Add System Access page#3095
charliepark wants to merge 23 commits intomainfrom
system_level_access_page

Conversation

@charliepark
Copy link
Contributor

@charliepark charliepark commented Feb 26, 2026

This adds a system-level access page, with a form for setting fleet-level permissions.

Screenshot 2026-02-26 at 4 59 26 AM

One enhancement we might consider: It looks like there are a few booleans — silo_admin and fleet_viewer — on the CurrentUser object coming from Omicron, but there is not a fleet_admin attribute. If we add that in Omicron, we could disable the "Add User or Group" button and other controls on the System Access page for people without a fleet_admin role.

Closes #2916

@vercel
Copy link

vercel bot commented Feb 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
console Ready Ready Preview Mar 7, 2026 3:04am

Request Review

@david-crespo
Copy link
Collaborator

Looks really good. Nice message in the form. Will review properly tomorrow.

requireFleetAdmin(cookies)

const newAssignments = body.role_assignments
.filter((r) => fleetRoles.some((role) => role === r.role_name))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(r) => fleetRoles.includes(r.role_name) I think?

summary="Roles determine who can view, edit, or administer this fleet."
links={[docLinks.keyConceptsIam, docLinks.access]}
/>
</PageHeader>
Copy link
Collaborator

@david-crespo david-crespo Mar 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Users can get fleet roles implicitly from a silo role if the fleet role mapping is set. I wonder if it's worth putting in some kind of info message on this page saying that the explicitly assigned roles don't necessarily exist exhaust the set of users who have permissions on the fleet, and you need to look at mapped fleet roles in the silos to be sure.

I guess ideally we'd actually be able to list those mappings on this page, but it's kind of gnarly because I think any silo could contribute? We could do something really cute and let the user pop a modal where we fetch all the silos and their mapping and list the ones that have mappings defined. Kind of elaborate but not really very hard. The only place it would be a problem is the colo rack, which has a million silos.

<EmptyMessage
icon={<Access24Icon />}
title="No authorized users"
body="Give permission to view, edit, or administer this fleet"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might also be worth mentioning here the fleet role mapping thing — that this list being empty doesn't necessarily mean nobody can see fleet stuff. Necessarily so 😁 because anyone who can see this page has to be a fleet viewer.

@charliepark
Copy link
Contributor Author

Screenshot 2026-03-06 at 7 03 54 PM

This copy isn't quite where I want it.

@david-crespo
Copy link
Collaborator

Seeing that, it does seem worth it to augment it by fetching all silos and listing the fleet role mappings from all of the ones that have it set. Probably in a modal. Not sure whether the blue info thing works — it kinda does, kinda doesn’t. We’ll have to experiment.

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.

System-level access and IAM page

2 participants