Skip to content

feat(permissions): add serverless Security project permissions guide#36

Merged
maxcold merged 5 commits into
mainfrom
feature/serverless-permissions-guide
May 29, 2026
Merged

feat(permissions): add serverless Security project permissions guide#36
maxcold merged 5 commits into
mainfrom
feature/serverless-permissions-guide

Conversation

@maxcold

@maxcold maxcold commented May 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds serverless support to the permissions test harness and a new permissions reference for Elastic Cloud Serverless Security projects.

Key findings from running the matrix:

  • All built-in Security roles use cluster: read_project_routing, not cluster: monitor — so _cat/indices (Threat Hunt index picker) returns 403 for every built-in role including soc_manager; custom roles with cluster: monitor work fine
  • t1_analyst: read-only alerts, cases (read), rules (read), attack-discovery, ES|QL
  • t2_analyst: adds full case write (create/update/comment/attach)
  • soc_manager: adds rule management, exceptions, sample-data generation, field mapping; still blocked by listIndices

Relates to #13

maxcold added 5 commits May 29, 2026 11:45
Adds `--mode serverless` to the test runner, observe-only built-in role
identities (t1_analyst, t2_analyst, soc_manager), and a new guide at
docs/permissions-serverless.md documenting what each role can and cannot
do across all MCP app operations.

Key findings from running the matrix against a local serverless cluster:
- All built-in Security roles use `cluster: read_project_routing` (not
  `monitor`), so listIndices (_cat/indices) returns 403 for every
  built-in role — including soc_manager. Custom roles with `cluster:
  monitor` bypass this.
- `viewer` has no file-realm user in the Security project; tiers start at
  `t1_analyst`.
- t1_analyst: read-only (alerts, cases-read, rules-read, attack-discovery,
  ES|QL). t2_analyst: adds full case write. soc_manager: adds rule
  management, sample-data generation, field mapping.

Relates to #13
@maxcold maxcold marked this pull request as ready for review May 29, 2026 10:14
@maxcold maxcold requested a review from davethegut May 29, 2026 10:14

@davethegut davethegut left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Lgtm!

@maxcold maxcold merged commit 52f421a into main May 29, 2026
2 checks passed
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