@openauditmodel/cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +215 -0
- package/README.md +647 -0
- package/dist/conformance/src/cli.d.ts +20 -0
- package/dist/conformance/src/cli.js +560 -0
- package/dist/conformance/src/cli.js.map +1 -0
- package/dist/conformance/src/format-errors.d.ts +20 -0
- package/dist/conformance/src/format-errors.js +116 -0
- package/dist/conformance/src/format-errors.js.map +1 -0
- package/dist/conformance/src/integrity/canonicalize.d.ts +25 -0
- package/dist/conformance/src/integrity/canonicalize.js +100 -0
- package/dist/conformance/src/integrity/canonicalize.js.map +1 -0
- package/dist/conformance/src/integrity/digest.d.ts +54 -0
- package/dist/conformance/src/integrity/digest.js +126 -0
- package/dist/conformance/src/integrity/digest.js.map +1 -0
- package/dist/conformance/src/integrity/types.d.ts +86 -0
- package/dist/conformance/src/integrity/types.js +36 -0
- package/dist/conformance/src/integrity/types.js.map +1 -0
- package/dist/conformance/src/integrity/verify-chain.d.ts +23 -0
- package/dist/conformance/src/integrity/verify-chain.js +235 -0
- package/dist/conformance/src/integrity/verify-chain.js.map +1 -0
- package/dist/conformance/src/integrity/verify-event.d.ts +29 -0
- package/dist/conformance/src/integrity/verify-event.js +140 -0
- package/dist/conformance/src/integrity/verify-event.js.map +1 -0
- package/dist/conformance/src/privacy/entropy.d.ts +14 -0
- package/dist/conformance/src/privacy/entropy.js +86 -0
- package/dist/conformance/src/privacy/entropy.js.map +1 -0
- package/dist/conformance/src/privacy/field-names.d.ts +36 -0
- package/dist/conformance/src/privacy/field-names.js +121 -0
- package/dist/conformance/src/privacy/field-names.js.map +1 -0
- package/dist/conformance/src/privacy/lint-event.d.ts +18 -0
- package/dist/conformance/src/privacy/lint-event.js +272 -0
- package/dist/conformance/src/privacy/lint-event.js.map +1 -0
- package/dist/conformance/src/privacy/rules.d.ts +44 -0
- package/dist/conformance/src/privacy/rules.js +161 -0
- package/dist/conformance/src/privacy/rules.js.map +1 -0
- package/dist/conformance/src/privacy/safe-formats.d.ts +32 -0
- package/dist/conformance/src/privacy/safe-formats.js +118 -0
- package/dist/conformance/src/privacy/safe-formats.js.map +1 -0
- package/dist/conformance/src/privacy/size-analysis.d.ts +36 -0
- package/dist/conformance/src/privacy/size-analysis.js +87 -0
- package/dist/conformance/src/privacy/size-analysis.js.map +1 -0
- package/dist/conformance/src/privacy/token-patterns.d.ts +24 -0
- package/dist/conformance/src/privacy/token-patterns.js +126 -0
- package/dist/conformance/src/privacy/token-patterns.js.map +1 -0
- package/dist/conformance/src/privacy/traverse.d.ts +33 -0
- package/dist/conformance/src/privacy/traverse.js +61 -0
- package/dist/conformance/src/privacy/traverse.js.map +1 -0
- package/dist/conformance/src/privacy/types.d.ts +58 -0
- package/dist/conformance/src/privacy/types.js +32 -0
- package/dist/conformance/src/privacy/types.js.map +1 -0
- package/dist/conformance/src/privacy/url-analysis.d.ts +40 -0
- package/dist/conformance/src/privacy/url-analysis.js +148 -0
- package/dist/conformance/src/privacy/url-analysis.js.map +1 -0
- package/dist/conformance/src/profiles/check-profile.d.ts +22 -0
- package/dist/conformance/src/profiles/check-profile.js +72 -0
- package/dist/conformance/src/profiles/check-profile.js.map +1 -0
- package/dist/conformance/src/profiles/evaluate-rule.d.ts +27 -0
- package/dist/conformance/src/profiles/evaluate-rule.js +87 -0
- package/dist/conformance/src/profiles/evaluate-rule.js.map +1 -0
- package/dist/conformance/src/profiles/load-profile.d.ts +30 -0
- package/dist/conformance/src/profiles/load-profile.js +95 -0
- package/dist/conformance/src/profiles/load-profile.js.map +1 -0
- package/dist/conformance/src/profiles/resolve-pointer.d.ts +44 -0
- package/dist/conformance/src/profiles/resolve-pointer.js +123 -0
- package/dist/conformance/src/profiles/resolve-pointer.js.map +1 -0
- package/dist/conformance/src/profiles/select-rules.d.ts +13 -0
- package/dist/conformance/src/profiles/select-rules.js +42 -0
- package/dist/conformance/src/profiles/select-rules.js.map +1 -0
- package/dist/conformance/src/profiles/types.d.ts +101 -0
- package/dist/conformance/src/profiles/types.js +31 -0
- package/dist/conformance/src/profiles/types.js.map +1 -0
- package/dist/conformance/src/profiles/validate-profile-definition.d.ts +12 -0
- package/dist/conformance/src/profiles/validate-profile-definition.js +47 -0
- package/dist/conformance/src/profiles/validate-profile-definition.js.map +1 -0
- package/dist/conformance/src/sources.d.ts +53 -0
- package/dist/conformance/src/sources.js +153 -0
- package/dist/conformance/src/sources.js.map +1 -0
- package/dist/conformance/src/validate-core.d.ts +30 -0
- package/dist/conformance/src/validate-core.js +62 -0
- package/dist/conformance/src/validate-core.js.map +1 -0
- package/dist/conformance/src/validate.d.ts +34 -0
- package/dist/conformance/src/validate.js +62 -0
- package/dist/conformance/src/validate.js.map +1 -0
- package/dist/conformance/src/validator-interface.d.ts +35 -0
- package/dist/conformance/src/validator-interface.js +19 -0
- package/dist/conformance/src/validator-interface.js.map +1 -0
- package/package.json +85 -0
- package/profiles/README.md +201 -0
- package/profiles/api-and-integration-management/README.md +271 -0
- package/profiles/api-and-integration-management/profile.json +258 -0
- package/profiles/backup-and-recovery/README.md +318 -0
- package/profiles/backup-and-recovery/profile.json +178 -0
- package/profiles/customer-and-account-management/README.md +340 -0
- package/profiles/customer-and-account-management/profile.json +237 -0
- package/profiles/deployment-and-change-management/README.md +359 -0
- package/profiles/deployment-and-change-management/profile.json +298 -0
- package/profiles/document-management/README.md +120 -0
- package/profiles/document-management/profile.json +170 -0
- package/profiles/financial-transaction-management/README.md +339 -0
- package/profiles/financial-transaction-management/profile.json +247 -0
- package/profiles/identity-and-access-management/README.md +112 -0
- package/profiles/identity-and-access-management/profile.json +120 -0
- package/profiles/incident-management/README.md +338 -0
- package/profiles/incident-management/profile.json +256 -0
- package/profiles/message-broker-management/README.md +344 -0
- package/profiles/message-broker-management/profile.json +399 -0
- package/profiles/profile-definition.schema.json +213 -0
- package/profiles/secrets-and-key-management/README.md +331 -0
- package/profiles/secrets-and-key-management/profile.json +219 -0
- package/schemas/v0.1/audit-event.schema.json +911 -0
- package/semantic-conventions/README.md +52 -0
- package/semantic-conventions/authentication.md +111 -0
- package/semantic-conventions/configuration-and-change.md +122 -0
- package/semantic-conventions/correlation-and-tracing.md +387 -0
- package/semantic-conventions/data-access.md +115 -0
- package/semantic-conventions/event-naming.md +114 -0
- package/semantic-conventions/identity-and-access.md +112 -0
- package/semantic-conventions/privileged-operations.md +110 -0
- package/semantic-conventions/workflow-and-approval.md +109 -0
- package/specification/actor-model.md +135 -0
- package/specification/approval-and-delegation.md +150 -0
- package/specification/authentication.md +116 -0
- package/specification/authorization.md +117 -0
- package/specification/change-model.md +134 -0
- package/specification/delivery.md +136 -0
- package/specification/design-principles.md +137 -0
- package/specification/event-model.md +387 -0
- package/specification/evidence-model.md +109 -0
- package/specification/extension-model.md +159 -0
- package/specification/integrity.md +314 -0
- package/specification/overview.md +172 -0
- package/specification/privacy.md +386 -0
- package/specification/resource-model.md +116 -0
- package/specification/terminology.md +135 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Terminology
|
|
2
|
+
|
|
3
|
+
**Specification version: 0.1 · Status: Experimental · This document: Normative**
|
|
4
|
+
|
|
5
|
+
## 1. Normative keywords
|
|
6
|
+
|
|
7
|
+
The key words **MUST**, **MUST NOT**, **REQUIRED**, **SHALL**, **SHALL NOT**, **SHOULD**,
|
|
8
|
+
**SHOULD NOT**, **RECOMMENDED**, **NOT RECOMMENDED**, **MAY** and **OPTIONAL** in this specification
|
|
9
|
+
are to be interpreted as described in RFC 2119 and RFC 8174.
|
|
10
|
+
|
|
11
|
+
These words are normative **only when they appear in capital letters**. The same words in lower case
|
|
12
|
+
carry their ordinary English meaning and impose no requirement. A sentence such as "an implementation
|
|
13
|
+
should usually record the reason" is guidance; "an implementation SHOULD record the reason" is a
|
|
14
|
+
normative recommendation.
|
|
15
|
+
|
|
16
|
+
Normative keywords apply only inside documents labelled **Normative**. In an **Informative** document
|
|
17
|
+
they are illustrative even when capitalized, unless the document states otherwise for a specific
|
|
18
|
+
section.
|
|
19
|
+
|
|
20
|
+
## 2. Interpretation of the keywords
|
|
21
|
+
|
|
22
|
+
| Keyword | Meaning in this specification |
|
|
23
|
+
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
|
|
24
|
+
| MUST, REQUIRED, SHALL | An absolute requirement. An implementation that violates it is not conforming. |
|
|
25
|
+
| MUST NOT, SHALL NOT | An absolute prohibition. |
|
|
26
|
+
| SHOULD, RECOMMENDED | There may exist valid reasons to ignore this, but the full implications must be understood and weighed before doing so. |
|
|
27
|
+
| SHOULD NOT, NOT RECOMMENDED | There may exist valid reasons to do this anyway, but the full implications must be understood and weighed before doing so. |
|
|
28
|
+
| MAY, OPTIONAL | Genuinely optional. An implementation that omits it is conforming, and one that includes it is conforming. |
|
|
29
|
+
|
|
30
|
+
A consumer MUST NOT require an OPTIONAL field to be present, and MUST NOT fail on an OPTIONAL field
|
|
31
|
+
it does not use.
|
|
32
|
+
|
|
33
|
+
## 3. Vocabulary
|
|
34
|
+
|
|
35
|
+
### 3.1 Core concepts
|
|
36
|
+
|
|
37
|
+
**Audit event** — A structured record of a single auditable operation, describing who performed it,
|
|
38
|
+
what it acted upon, what the result was, and the context needed to review it later. Defined by
|
|
39
|
+
[event-model.md](event-model.md).
|
|
40
|
+
|
|
41
|
+
**Auditable operation** — An operation whose occurrence is significant to security, accountability,
|
|
42
|
+
governance or dispute resolution, independent of whether it succeeded.
|
|
43
|
+
|
|
44
|
+
**Core model** — The fields defined by this specification and enforced by the canonical schema.
|
|
45
|
+
Universal across industries, jurisdictions and architectures.
|
|
46
|
+
|
|
47
|
+
**Core object** — A top-level object defined by the core model, such as `event`, `actor` or
|
|
48
|
+
`application`. Core objects reject unknown properties.
|
|
49
|
+
|
|
50
|
+
**Canonical schema** — The JSON Schema document that machine-verifies the core model, identified by
|
|
51
|
+
`https://openauditmodel.org/schemas/audit-event/0.1/schema.json`.
|
|
52
|
+
|
|
53
|
+
### 3.2 Participants
|
|
54
|
+
|
|
55
|
+
**Principal** — Any entity that can act or be acted on behalf of: a person, a service, an automated
|
|
56
|
+
system or an external party. Represented by the shared shape used for `actor` and `subject`.
|
|
57
|
+
|
|
58
|
+
**Actor** — The principal that **technically performed** the operation. Always present.
|
|
59
|
+
|
|
60
|
+
**Subject** — The principal **on whose behalf** the operation was performed, when that differs from
|
|
61
|
+
the actor. Never the target of the operation. See [actor-model.md](actor-model.md).
|
|
62
|
+
|
|
63
|
+
**Resource** — The thing the operation **acted upon**. See [resource-model.md](resource-model.md).
|
|
64
|
+
|
|
65
|
+
**Producer** — The application that creates and emits audit events. Described by `application`.
|
|
66
|
+
|
|
67
|
+
**Collector** — Any component that receives, buffers, enriches or forwards events between a producer
|
|
68
|
+
and a consumer. A collector is not the producer, and MUST NOT be described in `application`.
|
|
69
|
+
|
|
70
|
+
**Consumer** — Any system that reads audit events: a store, an analysis pipeline, a review tool, an
|
|
71
|
+
export job.
|
|
72
|
+
|
|
73
|
+
### 3.3 Context
|
|
74
|
+
|
|
75
|
+
**Authentication context** — Evidence of _how the actor proved its identity_. See
|
|
76
|
+
[authentication.md](authentication.md).
|
|
77
|
+
|
|
78
|
+
**Authorization context** — The _policy decision_ that permitted or denied the operation. See
|
|
79
|
+
[authorization.md](authorization.md).
|
|
80
|
+
|
|
81
|
+
**Approval context** — A _decision made by one or more principals_, usually humans, that the
|
|
82
|
+
operation may proceed. See [approval-and-delegation.md](approval-and-delegation.md).
|
|
83
|
+
|
|
84
|
+
**Delegation** — The transfer of authority from a subject to an actor.
|
|
85
|
+
|
|
86
|
+
**Evidence** — A reference to material that supports the event, held in its own system. Evidence is
|
|
87
|
+
referenced, never embedded. See [evidence-model.md](evidence-model.md).
|
|
88
|
+
|
|
89
|
+
**Control category** — A regulation-neutral label describing the kind of control an event provides
|
|
90
|
+
evidence for, such as `privileged-access`. Control categories are not regulation identifiers.
|
|
91
|
+
|
|
92
|
+
### 3.4 Extension points
|
|
93
|
+
|
|
94
|
+
**Metadata** — Domain-specific audit interpretation data with no core representation, carried in
|
|
95
|
+
`metadata`. Keys are plain names.
|
|
96
|
+
|
|
97
|
+
**Extension** — Vendor-specific or domain-specific data carried in `extensions` under a
|
|
98
|
+
reverse-domain namespaced key. See [extension-model.md](extension-model.md).
|
|
99
|
+
|
|
100
|
+
**Profile** — An optional, stricter set of requirements for a specific domain, layered on top of the
|
|
101
|
+
core model. A profile MAY require fields the core model leaves optional; it MUST NOT relax the core.
|
|
102
|
+
See [profiles/](../profiles/).
|
|
103
|
+
|
|
104
|
+
**Semantic convention** — A recommended vocabulary or naming rule that makes independently produced
|
|
105
|
+
events comparable. See [semantic-conventions/](../semantic-conventions/).
|
|
106
|
+
|
|
107
|
+
### 3.5 Vocabularies
|
|
108
|
+
|
|
109
|
+
**Closed vocabulary** — A fixed set of values enforced by the canonical schema through `enum`. A
|
|
110
|
+
value outside the set makes the event invalid.
|
|
111
|
+
|
|
112
|
+
**Open vocabulary** — A set of RECOMMENDED values that the schema constrains only in form, not in
|
|
113
|
+
membership. Producers MAY use values outside the recommended set. Open vocabularies exist where the
|
|
114
|
+
value space genuinely varies between organizations, such as resource types and data classifications.
|
|
115
|
+
|
|
116
|
+
### 3.6 Integrity
|
|
117
|
+
|
|
118
|
+
**Tamper-evident** — A property of data that makes unauthorized alteration **detectable**. This
|
|
119
|
+
specification uses only this term.
|
|
120
|
+
|
|
121
|
+
**Immutable** — Deliberately **not** used for event-level or SDK-level guarantees. An audit event
|
|
122
|
+
model cannot make anything immutable; only a storage system can. See [integrity.md](integrity.md).
|
|
123
|
+
|
|
124
|
+
**Canonicalization** — Producing a deterministic byte representation of an event so that a hash or
|
|
125
|
+
signature over it is reproducible. RFC 8785 is RECOMMENDED.
|
|
126
|
+
|
|
127
|
+
**Chain** — An ordered sequence of events linked by `integrity.previousHash`, so that removal or
|
|
128
|
+
alteration of a member becomes detectable. Chains may be per instance, per partition or per batch.
|
|
129
|
+
|
|
130
|
+
## 4. Notation
|
|
131
|
+
|
|
132
|
+
- Field paths are written as JSON Pointers or dotted paths: `/event/outcome` or `event.outcome`.
|
|
133
|
+
- Code blocks labelled `json` are examples, and are informative.
|
|
134
|
+
- "The schema" without qualification means the canonical schema for the specification version of the
|
|
135
|
+
document.
|