mirror of
https://github.com/NVIDIA/OpenShell.git
synced 2026-10-25 06:42:52 +08:00
docs(website): sync dev docs from a24340beba
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
snapshots:
|
||||
dev:
|
||||
source-ref: 92f3a41b7c1be980ca2ee922a6ca4b01d97a1d2e
|
||||
source-sha: 92f3a41b7c1be980ca2ee922a6ca4b01d97a1d2e
|
||||
version: 0.1.5.dev82
|
||||
source-ref: a24340bebaa9ee173725ce87c48011d2cc2cacd9
|
||||
source-sha: a24340bebaa9ee173725ce87c48011d2cc2cacd9
|
||||
version: 0.1.5.dev83
|
||||
latest:
|
||||
source-ref: 5a7728c304b5528e954e9ae900cf21f84e1a12b1
|
||||
source-sha: 5a7728c304b5528e954e9ae900cf21f84e1a12b1
|
||||
|
||||
@@ -61,6 +61,7 @@ OpenShell maps sandbox events to these OCSF classes:
|
||||
| `PROC:` | Process Activity | 1007 | Process start, exit, timeout, signal failures |
|
||||
| `FINDING:` | Detection Finding | 2004 | Security findings (nonce replay, proxy bypass, unsafe policy) |
|
||||
| `AUTH:` | Authentication | 3002 | Gateway authentication failures |
|
||||
| `API:` | API Activity | 6003 | Inference calls, gateway authorization denials |
|
||||
| `CONFIG:` | Device Config State Change | 5019 | Policy load/reload, Landlock, TLS setup, provider and settings changes |
|
||||
| `LIFECYCLE:` | Application Lifecycle | 6002 | Sandbox supervisor start, SSH server ready |
|
||||
|
||||
@@ -99,6 +100,7 @@ endpoint, use `EVENT` rather than a network or lifecycle event.
|
||||
- HTTP: `METHOD url` with the HTTP method and target
|
||||
- SSH: peer address and authentication type
|
||||
- Authentication: the principal as `type:id`, or `unknown` when none was established, and the peer address when known
|
||||
- Authorization denial: the principal as `type:id` and the peer address when known, with the refused sandbox or workspace in the context
|
||||
- Process: `name(pid)` with exit code or command line
|
||||
- Config: description of what changed
|
||||
- Finding: quoted title with the stable finding type, optional confidence, and source-specific context attributes when available
|
||||
@@ -113,6 +115,12 @@ A gateway request rejected because it presented no credential:
|
||||
OCSF AUTH:LOGON [LOW] DENIED unknown [op:/openshell.v1.OpenShell/ListSandboxes reason:missing_credential]
|
||||
```
|
||||
|
||||
A sandbox credential used to read another sandbox's configuration:
|
||||
|
||||
```text
|
||||
OCSF API:OTHER [MED] DENIED sandbox:5d1c2e7a-0b3f-4c8e-9a61-7f2d4b6e8c10 from 10.42.0.7:51234 [op:/openshell.v1.OpenShell/GetSandboxConfig sandbox:9a3e61b0-4c2d-4f7e-8b15-2d6c0e9f7a43 reason:cross_sandbox]
|
||||
```
|
||||
|
||||
An allowed HTTPS connection:
|
||||
|
||||
```text
|
||||
|
||||
@@ -39,6 +39,22 @@ The gateway emits an Authentication (`class_uid: 3002`) event when it rejects a
|
||||
|
||||
These events never include presented credentials, other request headers, or verification error text.
|
||||
|
||||
The gateway emits an API Activity (`class_uid: 6003`) event with Medium severity when its method, role, scope, sandbox, workspace, or operator checks refuse an authenticated caller. `actor.user` identifies the principal: its `type` is `User`, `Admin` for an mTLS operator, `Sandbox`, or `Gateway Peer`, and `uid` is the subject, sandbox ID, or gateway replica ID. `api.operation` names the gRPC method, and `resources` names the sandbox or workspace that was refused, when one applies, by `uid` for a sandbox ID or by `name` otherwise. `status_detail` holds the reason category:
|
||||
|
||||
| Reason | Meaning |
|
||||
|---|---|
|
||||
| `method_not_permitted` | The principal type may not call the method, or may not call it with these arguments. |
|
||||
| `unknown_method` | The gateway does not recognize the method, for example one added in a newer client. |
|
||||
| `missing_role` | The caller lacks the OIDC role the method requires. |
|
||||
| `missing_scope` | The caller's token lacks the scope the method requires. |
|
||||
| `cross_sandbox` | A sandbox principal referenced a sandbox other than its own, by ID or by name. |
|
||||
| `not_workspace_member` | The caller is not a member of the workspace. |
|
||||
| `insufficient_workspace_role` | The caller's workspace role is below the one the operation requires. |
|
||||
| `platform_admin_required` | The operation spans workspaces or assigns the workspace admin role. |
|
||||
| `operator_required` | The operation requires a verified mTLS operator. |
|
||||
|
||||
When a sandbox principal is refused with `method_not_permitted`, `cross_sandbox`, or `platform_admin_required`, the gateway also emits a High-severity Detection Finding (`class_uid: 2004`) with `finding_info.uid` `sandbox-authorization-boundary`. Supervisors never make these requests, so the sandbox's credential may be compromised. Both events carry the same `metadata.correlation_uid`. Some methods answer a refused request with "not found" so callers cannot probe for resources; the event still records the denial.
|
||||
|
||||
Without JSONL enabled, gateway OCSF events still appear as shorthand in console output, subject to the diagnostic log filter. Events associated with a sandbox also appear in its gateway log stream; gateway-wide events have no sandbox association.
|
||||
|
||||
## Enable Sandbox JSON Export
|
||||
@@ -268,6 +284,7 @@ The `class_uid` field identifies the event type:
|
||||
| 3002 | Authentication | `AUTH:` |
|
||||
| 5019 | Device Config State Change | `CONFIG:` |
|
||||
| 6002 | Application Lifecycle | `LIFECYCLE:` |
|
||||
| 6003 | API Activity | `API:` |
|
||||
|
||||
HTTP Activity records include request or response details. Rejections that have
|
||||
parsed a request, including early credential-binding failures, include safe
|
||||
|
||||
Reference in New Issue
Block a user