You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
as well as the Cluster-as-a-Service model. The Namespace-as-a-Service model
33
-
means that multiple teams (tenants) may each be operating Knative custom
34
-
resources within a common cluster, sharing control plane and node resources.
35
-
Knative is not specifically designed for use in a multi-cluster or cross-cluster
36
-
scenario; there may be additional risks when attempting to span a _single_
37
-
Knative installation across multiple clusters, but this threat model should be
38
-
sufficient if each cluster in such a scenario is running an _independent_
39
-
installation of Knative components (either some or all components).
32
+
40
33
41
34
## Terminology
42
35
@@ -61,7 +54,7 @@ installation of Knative components (either some or all components).
61
54
| External Event Source Admins | Users with the ability to configure and manage an external resource which is used as an event source, but without direct authenticated access to the cluster. |
62
55
| Malicious Container / Supply Chain Attack | Users with the ability to tamper with a container image which is run by an internal user, but without authenticated access to the cluster. |
63
56
64
-
## Component Archicture
57
+
## Component Architecture
65
58
66
59
### Eventing
67
60
@@ -115,7 +108,7 @@ underlying software. The ingress gateway implementation is generally
115
108
multi-tenant in nature and shared across the cluster, though the Knative
116
109
architecture does not require this.
117
110
118
-
### Activator
111
+
####Activator
119
112
120
113
The activator component is a shared (multi-tenant) data-plane component used by
121
114
Knative to handle HTTP requests when there is no current user pod available to
@@ -126,7 +119,7 @@ activator -- when a particular revision has sufficent replicas to handle bursty
126
119
traffic, the ingress gateway is programmed with the direct backend addresses of
127
120
the application pods.
128
121
129
-
### Autoscaler
122
+
####Autoscaler
130
123
131
124
The autoscaler is a control-plane component which tracks the current number of
132
125
requests and requests / second for each Knative revision, and adjusts the
@@ -136,7 +129,7 @@ measurements from the activator and queue proxies, computes desired number of
136
129
pods for each revision, and then updates the desired number of deployment
137
130
replicas on the Kubernetes apiserver.
138
131
139
-
### Queue-Proxy
132
+
####Queue-Proxy
140
133
141
134
The queue-proxy runs as a sidecar alongside each user container (in the same
142
135
Pod). The queue-proxy is responsible for measuring request load on the specific
@@ -371,3 +364,15 @@ validating the SLSA security guarantees with respect to ephemeral and
371
364
reproducible builds.
372
365
373
366
**Mitigates**: system code execution
367
+
368
+
## Usage of this document
369
+
370
+
When vulnerabilities are reported to the project, we consult this document to
371
+
determine whether the report describes a potential exploit, and if so to
372
+
determine the severity of the exploit. As we develop new features, we consult
373
+
this document to consider their impact on the threat model. Note that this
374
+
threat model covers Serving andEventing; some sections and threats may only
375
+
apply to certain components of the project. As Knative Functions largely
376
+
executes at build time on the application developer's infrastructure, it
377
+
needs a different threat model more focused on supply chain security threats
378
+
(which it largely inherits from [CNCF Buildpacks](https://buildpacks.io/)).
0 commit comments