Repository navigation
[DRAFT] DOCS-4936: Draft fine-grained permissions documentation (hold until Member ships) - #5429
Draft
Jeremy Rose (jeremyrose-viam) wants to merge 11 commits into
Conversation
✅ Deploy Preview for viam-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This branch has not been deployed
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.

Do not merge until the Member role is selectable in the Viam app. This PR is held as a whole: merging publishes the new page and the Member description on
docs/organization/rbac.md, which document behavior that isn't active yet.This adds a page on fine-grained permissions and describes the Member role on the role-based access control page.
What the new page covers (
docs/organization/fine-grained-permissions.md)viam-serverevaluates a call, as a table. It covers unauthenticated callers, duplicate entries, a caller's own entry, no entry, calls that act on the machine as a whole (_machine), and unknown subject types, plus thePermissionDeniederror, the log warning and the closed streams.access_policy), with a field table.auth.user_permissions, withauth.handlersand thedefaultentry), for a standaloneviam-serverv1.8.0 or later.What the RBAC page gets: a Member bullet, a sentence that an access policy never limits owners or operators, and a goals-table row linking to the new page. The permission tables get no Member columns, because a member's permissions are whatever its grants say.
Verification status. Written from source and tickets, not tested end-to-end, because access policies aren't active yet on any machine I could test.
robot/web/authorization.go,config/config.go).access_policyfields and validation: read from the app'sdata/access_policy.go.TODO(verify, DOCS-4936)in the files. They include the baseline methods, fragment grants, whether resource names are checked at save,_machineUX,app-user-identries in local config, and the no-wildcard claim foruser_permissions.Timing: engineering is rolling this out, and this PR is ready to merge once these ship: viamrobotics/app#13426 (activation and feature flag, APP-17821), viamrobotics/app#13423 (compiler, APP-17820) and viamrobotics/app#13484 (policy editor UI, APP-17822). The UI steps will follow that last one.
Also in this branch: the agent-page correction from #5428, so merging that first leaves no conflict. This branch adds the Member and
access_policywording to that page, which describes behavior that isn't active yet.Refs DOCS-4936, APP-17623.
🤖 Generated with Claude Code