Document ABAC permission policies and team-scoped membership policies (v11.7)#8951
Document ABAC permission policies and team-scoped membership policies (v11.7)#8951Combs7th wants to merge 9 commits into
Conversation
* Update generate_changelog.py * Update generate_changelog.py
… (v11.7) - ABAC overview: cautious "ABAC can be used with" framing covering system-wide access, permission, team-scoped membership, and channel-specific access policies; clarifies who manages each. - System-wide policies: unique-name validation note for parent policies and new Permission policies section covering attribute-based file upload and file download restrictions. - Channel access rules: new "Manage team-scoped membership policies in Team Settings" section covering Team Admin workflow via the Membership Policies tab, manage_team_access_rules permission, Team Settings sync status footer (Last sync time, Sync now), team-scope sync limits, and auto-run sync on team admin policy creation. - Share files in messages: short "Restricted file attachments" end-user note. - Permissions reference: manage_team_access_rules added to the permission table and to the team_admin built-in role. Co-authored-by: Combs7th <Combs7th@users.noreply.github.com>
📝 WalkthroughWalkthroughThis PR adds comprehensive documentation for Mattermost v11.7+ ABAC enhancements, including team-scoped membership policies managed by Team Admins, system-admin permission policies for restricting file uploads/downloads, updated permission infrastructure, and end-user guidance on restricted file attachments. ChangesABAC v11.7+ Features
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related issues
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
source/administration-guide/manage/admin/abac-channel-access-rules.rst (1)
118-119: ⚡ Quick winPromote the team-scope sync constraint to an
importantadmonitionThe scope boundary here affects operational expectations and should stand out more than body text.
Suggested minimal diff
-Team-scoped sync is limited to the team admin's team scope. Triggering **Sync now** from Team Settings does not affect channels or policies outside the current team. +.. important:: + + Team-scoped sync is limited to the Team Admin's team scope. Triggering **Sync now** from Team Settings does not affect channels or policies outside the current team.As per coding guidelines, "Use
importantadmonition for prerequisites, constraints, or high-impact information that materially affects correctness, supportability, compliance, or success".🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@source/administration-guide/manage/admin/abac-channel-access-rules.rst` around lines 118 - 119, Wrap the sentence "Team-scoped sync is limited to the team admin's team scope. Triggering **Sync now** from Team Settings does not affect channels or policies outside the current team." in an important admonition so the scope boundary stands out; replace the plain paragraph with an reStructuredText admonition using the .. important:: directive and the same text indented beneath it (preserve the bold **Sync now** text and punctuation) to emphasize this high-impact constraint.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@source/administration-guide/manage/admin/attribute-based-access-control.rst`:
- Line 50: Replace the vague phrase "appropriate permission" with the explicit
permission key manage_team_access_rules in the sentence that describes
creating/editing/deleting team-scoped channel membership policies (the sentence
referencing :ref:`team-scoped channel membership policies
<administration-guide/manage/admin/abac-channel-access-rules:manage team-scoped
membership policies in team settings>`), so the sentence reads that admins can
perform those actions "when granted the manage_team_access_rules permission" to
match product/config naming conventions.
---
Nitpick comments:
In `@source/administration-guide/manage/admin/abac-channel-access-rules.rst`:
- Around line 118-119: Wrap the sentence "Team-scoped sync is limited to the
team admin's team scope. Triggering **Sync now** from Team Settings does not
affect channels or policies outside the current team." in an important
admonition so the scope boundary stands out; replace the plain paragraph with an
reStructuredText admonition using the .. important:: directive and the same text
indented beneath it (preserve the bold **Sync now** text and punctuation) to
emphasize this high-impact constraint.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 9a30e925-e528-44b3-9184-5f0e5e117e87
📒 Files selected for processing (5)
source/administration-guide/manage/admin/abac-channel-access-rules.rstsource/administration-guide/manage/admin/abac-system-wide-policies.rstsource/administration-guide/manage/admin/attribute-based-access-control.rstsource/administration-guide/onboard/advanced-permissions-backend-infrastructure.rstsource/end-user-guide/collaborate/share-files-in-messages.rst
|
Newest code from mattermost has been published to preview environment for Git SHA 6fe245e |
|
Newest code from mattermost has been published to preview environment for Git SHA f32cab9 |
|
Newest code from mattermost has been published to preview environment for Git SHA 8d2a37d |
|
Newest code from mattermost has been published to preview environment for Git SHA 9ee1b92 |
|
Newest code from mattermost has been published to preview environment for Git SHA 426da39 |
|
Newest code from mattermost has been published to preview environment for Git SHA 5bb8428 |
|
@claude - Please call out manage_team_access_rules directly as coderabbitai points out above. |
|
Claude finished @Combs7th's task in 30s —— View job Updated per CodeRabbit feedback
SummaryUpdated Pushed as commit |
Replace vague "appropriate permission" wording with the explicit manage_team_access_rules permission key, per CodeRabbit feedback, so admins can validate role mappings without guessing. Co-authored-by: Combs7th <Combs7th@users.noreply.github.com>
|
Newest code from mattermost has been published to preview environment for Git SHA 260da2f |
|
Heya @isacikgoz and @pvev - Tagging y'all for the dev review on this one. Any crucial pieces that I'm missing here? Main things I’d love confirmed:
Thanks so much! |
|
Newest code from mattermost has been published to preview environment for Git SHA 260da2f |
1 similar comment
|
Newest code from mattermost has been published to preview environment for Git SHA 260da2f |
pvev
left a comment
There was a problem hiding this comment.
hey, thanks @Combs7th , so mostly correct, a couple of things that should be updated:
-
Team-scoped policies are not limited to private channels. Both public and private channels can be assigned.
What differs is the sync behavior:
- Public channels = advisory sync (add only)
- Private channels = enforced sync (can also remove users if rules now exclude them)
-
Auto-run sync is not gated behind auto-add. So, whenever there are rule/channel/active-state changes, not only when "auto-add" or sync behavior is enabled.
-
The end-user copy for restricted file attachments should reference the actual UI placeholder strings so users can recognize the state more easily:
- Title:
Files not available - Subtitle:
Access to files is restricted based on attributes
- Title:
|
Thanks Pablo! This is super helpful. @claude - Please apply a targeted cleanup commit based on the above dev review feedback from pvev. Do not rewrite the whole docs update. Only make the corrections below. Updates needed:
After editing, provide:
|
|
Claude finished @Combs7th's task in 3m 5s —— View job Cleanup pass based on @pvev's review — done
Pushed as commit Files changed (3)
Per-correction summary
Build / link checkCould not be run in the Claude sandbox —
Updated PR summary (drop-in for the PR description)
Remaining reviewer notes (PR-description-only)
|
- Team-scoped membership policies apply to public and private channels (not private-only). - Distinguish public (advisory, add-only) vs private (enforced, can remove) sync behavior in a new "Sync behavior by channel type" subsection. - Auto-run sync triggers on any rule, channel, or active-state change; no longer described as gated behind auto-add. Rename the subsection to "Automatic sync on policy changes". - End-user "Restricted file attachments" note now references the actual UI placeholders (**Files not available** / **Access to files is restricted based on attributes**). Co-authored-by: Combs7th <Combs7th@users.noreply.github.com>
|
@pvev - Does this look better? |
|
Newest code from mattermost has been published to preview environment for Git SHA 5c402bd |
Summary
Cohesive v11.7 ABAC docs update.
manage_team_access_rulespermission, Team Settings sync status footer (Last sync time, Sync now), team-scope sync limits, and auto-run sync on team admin policy creation.manage_team_access_rulesadded to the permission table and to theteam_adminbuilt-in role.Closes #`8950
Reviewer notes
pipenv/sphinx-buildnot installed). Please runmake htmlandmake linkchecklocally before merge to verify the new:ref:anchors resolve:administration-guide/manage/admin/abac-system-wide-policies:permission policiesadministration-guide/manage/admin/abac-channel-access-rules:manage team-scoped membership policies in team settingsend-user-guide/collaborate/share-files-in-messages:restricted file attachmentsTest plan
make htmlcompletes without new warnings.make linkcheckor Sphinxnitpickymode resolves all new:ref:anchors.manage_team_access_rulesrow and the updatedteam_adminrole list.Generated with Claude Code