Skip to content

Commit 6d17cc2

Browse files
mintlify[bot]mbevc1claude[bot]
authored
docs: update snapshotter role permissions - allow environment creation (#340)
Reflects [kosli-dev/server#6283](kosli-dev/server#6283), which lets the Snapshotter role create environments via `PUT /api/v2/environments/{org}` (in addition to reporting snapshots). Update/archive/rename/policy-attach and every other resource path remain denied. Changes: - `administration/managing_users/roles_in_kosli.md` — overview row, permissions matrix (split "Create/update environments" into separate Create and Update rows; Snapshotter gets ✅ for Create), and the Snapshotter accordion (added environment creation to "can" and listed update/archive/rename/policy attach in "cannot"). - `administration/authentication/service_accounts.md` — expanded the Snapshotter description to mention creating environments (e.g. `--auto-environment`). - `implementation_guide/phase_1/roles_and_responsibilities/overview.md` — matching one-line update. <!-- mintlify-agent-attribution --> --- Generated by Mintlify Agent. Requested by: marko@kosli.com via Slack Mintlify session: slack_1784903854.216899_C0AJTQ5633K --------- Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> Co-authored-by: Marko Bevc <marko@kosli.com> Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
1 parent ee2a6e3 commit 6d17cc2

3 files changed

Lines changed: 24 additions & 17 deletions

File tree

administration/authentication/service_accounts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Service accounts have the same role model as users: **Admin**, **Member**, **Sna
3535
See [Roles in Kosli](/administration/managing_users/roles_in_kosli) for the full permissions matrix. As a starting point:
3636

3737
- **Member** — CI/CD systems that report attestations, manage flows, and create resources.
38-
- **Snapshotter** — runtime reporters that only record environment snapshots.
38+
- **Snapshotter** — runtime reporters that record environment snapshots and create environments (for example, CLI callers using `--auto-environment`).
3939
- **Reader** — read-only systems such as dashboards or query tooling.
4040
- **Admin** — rarely needed; reserve for automation that manages users, roles, or organization-wide settings (for example, Terraform-driven org bootstrap).
4141

administration/managing_users/roles_in_kosli.md

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Roles apply to service accounts the same way they apply to users. Wherever this
1414
|------|-------------|----------|
1515
| **Admin** | Full control over the organization | Organization owners, security leads, platform engineering leads |
1616
| **Member** | Can create and modify resources | Developers, platform engineers, CI/CD systems |
17-
| **Snapshotter** | Can create snapshots and modify service accounts | Environment and operations teams |
17+
| **Snapshotter** | Can create snapshots, environments, and manage their own service accounts | Environment and operations teams |
1818
| **Reader** | Read-only access to view data | Auditors, compliance officers, stakeholders, reporting systems |
1919

2020
## Permissions Matrix
@@ -33,7 +33,8 @@ Roles apply to service accounts the same way they apply to users. Wherever this
3333
| **Resource Management** | | | |
3434
| Create flows |||||
3535
| Update/delete flows |||||
36-
| Create/update environments |||||
36+
| Create environments (and re-create) |||||
37+
| Update environments (PATCH, archive, rename, attach/detach policies) |||||
3738
| Delete environments |||||
3839
| Create/update policies |||||
3940
| Delete policies |||||
@@ -120,26 +121,32 @@ The following sections provide more details about each Kosli user role, includin
120121
<Accordion title="Snapshotter" icon="camera">
121122

122123

123-
Snapshotters can create environment snapshots and manage service accounts, but cannot manage users, resources or integrations or organization-wide settings.
124+
Snapshotters can create environments, report environment snapshots, and manage their own service accounts, but cannot modify other resources, manage users, configure integrations, or change organization-wide settings.
124125

125126
### Permissions
126127

127128
Snapshotters can:
128129

129-
- **Service Accounts**: Create and manage service accounts and their API keys
130-
- **Snapshots**: Report environment snapshots
131-
- **View Data**: Access trails, artifacts, attestations, and snapshots
132-
- **Query Information**: Search and filter data across flows and environments
133-
- **Generate Reports**: Export and analyze compliance data
134-
- **View Configurations**: See flow definitions, policies, attestation types, and actions (but cannot modify them)
130+
- **Service Accounts**: Create service accounts. They can manage the API keys of service accounts they created themselves — API keys on other service accounts can only be managed by the account's creator or an org Admin.
131+
- **Environments**: Create new environments (needed so CLI flows like `--auto-environment` work with a snapshotter token).
132+
- **Snapshots**: Report environment snapshots.
133+
- **View Data**: Access trails, artifacts, attestations, and snapshots.
134+
- **Query Information**: Search and filter data across flows and environments.
135+
- **Generate Reports**: Export and analyze compliance data.
136+
- **View Configurations**: See flow definitions, policies, attestation types, and actions (but cannot modify them).
135137

136138
Snapshotters cannot:
137-
- Create, update, or delete any resources
138-
- Report attestations
139-
- Manage approvals
140-
- Create or manage actions
141-
- Configure integrations
142-
- Invite users or change settings
139+
- Use the dedicated update paths on an environment (PATCH, archive, rename, attach/detach policies).
140+
- Create, update, or delete flows, policies, attestation types, or other resources.
141+
- Report attestations.
142+
- Manage approvals.
143+
- Create or manage actions.
144+
- Configure integrations.
145+
- Invite users or change settings.
146+
147+
<Warning>
148+
Because the environment create endpoint (`PUT /api/v2/environments/{org}`) is idempotent — a re-PUT of an existing environment updates it — a snapshotter token can modify an existing environment's description, scaling, policies, and included environments by re-PUTting a full payload. Only the dedicated update paths (PATCH, archive, rename, policy attach/detach) are blocked. Keep this in mind when scoping snapshotter tokens for environments you don't want them to change.
149+
</Warning>
143150

144151
### When to assign
145152

implementation_guide/phase_1/roles_and_responsibilities/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ The RACI matrix above describes responsibilities during Kosli implementation. To
7373
Kosli user roles control what actions someone can perform in the Kosli system:
7474
- **Admin**: Full control, including user management and organization settings
7575
- **Member**: Can create and modify resources, manage service accounts, and configure integrations
76-
- **Snapshotter**: Can report environment snapshots and manage service accounts, with read-only access to other resources
76+
- **Snapshotter**: Can report environment snapshots, create environments, and manage service accounts, with read-only access to other resources
7777
- **Reader**: Read-only access to view data and compliance status
7878

7979
For guidance on which Kosli user role to assign based on organizational responsibilities, see [Roles in Kosli](/administration/managing_users/roles_in_kosli) and [Mapping users to roles](/administration/managing_users/mapping_users_to_roles).

0 commit comments

Comments
 (0)