Repository navigation
Conversation
Groups may name identity-provider role slugs; role facts arrive through a bounded, revisioned, 300-second membership snapshot read beside the OIDC admission snapshot. Specifies evaluation, activation, overflow, outage and recovery behavior. Replaces the membership half of the closed draft ModernRelay#1218.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Draft RFC:
docs/rfcs/2026-11-01-provider-role-policy-membership.md, plus its registry row.What it proposes
A policy group may name identity-provider role slugs as well as literal actor ids:
A server started with
--membership-snapshot FILEreads a bounded, revisioned, bound-to-root JSON document listing which roles each admitted actor currently holds, and treats the actor as a member of every group whoseprovider_rolesintersect those roles. Credentials stay identity-only; the OIDC admission snapshot is untouched; every action permission stays in applied policy. Without the flag,provider_rolesmatch nobody and preview says so.Scope
Membership only. Credential ceilings, client narrowing and Agent Auth are out of scope and would be separate RFCs. This replaces the membership half of #1218, which was closed after ModernRelay/og-control-plane#125 was closed in design review. The points raised there are addressed in the text:
role_unassigned,membership_unavailableandmanagement_roles_onlyas warnings, not refusals.Verified against
origin/mainf728f01:crates/omnigraph-policy(PolicyActorSelector { group }, groups as literal actor lists, Cedar entities compiled at load, unknown-actor denial before Cedar),crates/omnigraph-server/src/oidc_identity.rs(admission snapshot format, 300 s lifetime, 30 s skew, 5 s refresh), the identity RFC of 2026-09-09,/graphs/{graph_id}/access, andomnigraph policy validate/test/explain.