diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/access.md | 14 | ||||
| -rw-r--r-- | docs/openapi.yaml | 4 |
2 files changed, 12 insertions, 6 deletions
diff --git a/docs/access.md b/docs/access.md index c639d0d..a4c5375 100644 --- a/docs/access.md +++ b/docs/access.md @@ -81,9 +81,15 @@ change to it counts on a node as soon as it has reached it. * **Remakes** (`/admin/remakes`): `read` on `_continuum/remakes` to look, `write` to propose or abort one. **Forgetting a peer** (`DELETE /peers/…`): `write` on `_continuum/forgotten`. -* **Everything else an operator does** (`/admin/config`, `/admin/log`, - `/admin/document`, `/admin/changes`, `/admin/epochs`, `/admin/quarantine`, `/debug`): - `read` on `_continuum` to look, `write` on it to act. +* **What a node holds alone** (its log filter, `/admin/log`; its configuration, + `/admin/config`; `/debug`): `read` to look and `write` to act on + `_continuum/local/<node ID>/log`, `…/config`, `…/debug` (`/debug` always `write`). + Nothing is stored there, and nothing may be written there: the paths only name these + for capabilities. `_continuum/local/<node ID>` is everything on one node, + `_continuum/local/*/log` the log filter on every node. +* **Everything else an operator does** (`/admin/document`, `/admin/changes`, + `/admin/epochs`, `/admin/quarantine`): `read` on `_continuum` to look, `write` on it + to act. A user the node lets in but the registry doesn't have may do nothing (`403`). @@ -248,7 +254,7 @@ stays as it is, wherever it comes from later (a joining node catching up, say). the dashboard right); removed also by one who forgets the member in the same change (`DELETE /peers/{pk}`, with `_continuum/forgotten`). Its votes by that member only. * Epochs and the swarm ID (`_continuum/epochs`, `_continuum/swarm`) by an epoch's first - change only (the genesis change, a remake's snapshot). + change only (the genesis change, a remake's snapshot). `_continuum/local` by none. * A remake's record and its proposal by whichever member proposes, where there are none; its decision by the coordinator its proposal names, or a user who may write there (an operator aborting an expired remake through any member, `DELETE diff --git a/docs/openapi.yaml b/docs/openapi.yaml index 8e6a688..0fad136 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -206,7 +206,7 @@ paths: '401': $ref: '#/components/responses/Unauthorized' '403': - description: The user may not write here (its capabilities, docs/access.md; in a swarm without a user registry, protocol data `_continuum` and the user isn't in `protocol-writers`), or epoch metadata or the swarm ID (`_continuum/epochs`, `_continuum/swarm`, never writable); a signed value not by this user, or whose signature doesn't check (the message says why). + description: The user may not write here (its capabilities, docs/access.md; in a swarm without a user registry, protocol data `_continuum` and the user isn't in `protocol-writers`), or epoch metadata, the swarm ID or what a node holds alone (`_continuum/epochs`, `_continuum/swarm`, `_continuum/local`, never writable); a signed value not by this user, or whose signature doesn't check (the message says why). '409': description: The path crosses an existing non-map value, or with `retype=false` the write would change a type (the message says where); a value not signed reaching one its user signs under a strict policy; a signed value where values aren't signed, or replacing another than the one there (read again); a value left not sealed as the swarm declares (`docs/access.md`, Values sealed for their readers). '415': @@ -330,7 +330,7 @@ paths: '401': $ref: '#/components/responses/Unauthorized' '403': - description: The user may not write here (its capabilities, docs/access.md; in a swarm without a user registry, protocol data `_continuum` and the user isn't in `protocol-writers`), or epoch metadata or the swarm ID (`_continuum/epochs`, `_continuum/swarm`, never writable). + description: The user may not write here (its capabilities, docs/access.md; in a swarm without a user registry, protocol data `_continuum` and the user isn't in `protocol-writers`), or epoch metadata, the swarm ID or what a node holds alone (`_continuum/epochs`, `_continuum/swarm`, `_continuum/local`, never writable). '404': description: No value at this path. '409': |
