Skip to content

Commit b05513b

Browse files
committed
Incorporated feedback from @rata
1 parent e81003a commit b05513b

File tree

1 file changed

+20
-17
lines changed
  • keps/sig-node/3702-ima-namespace-support

1 file changed

+20
-17
lines changed

keps/sig-node/3702-ima-namespace-support/README.md

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,7 @@ This can be achieved using IMA (Integrity Measurement Architecture) and EVM (Ext
9595

9696
## Proposal
9797
<!-- We propose to enable IMA linux namespaces in pods.
98-
9998
Since IMA namespaces can be created when a container is launched, we can provide transparent integrity verification on any linux container.
100-
10199
IMA and EVM can use a TPM chip as a hardware root of trust. Hence we can verify images against a set of golden hash values, as well as avoiding any further changes to the overlayfs to intercept calls and check the integrity of files. -->
102100

103101
### User Stories (Optional)
@@ -140,38 +138,41 @@ The linux kernel IMA namespace support is based on user namespaces. Therefore, t
140138

141139
Should we enable IMA namespaces by default when enabling user namespaces?
142140

143-
144141
There will be a CRI API change which will allow the pod to use IMA namespaces and specify the namespace policy.
145142

146-
147-
148143
### Linux kernel
149144

150-
151-
152145
IMA is only available in Linux hosts and Linux containers. Unfortunately, IMA is not a separate namespace, which is needed in order to isolate it and be used inside containers. Upcoming kernel patches should add support for IMA namespaces.
153146

154-
155147

156148
### Runtime specification
157149

158150
There is an ongoing discussion regarding the runtime changes.
159151

160-
https://github.com/opencontainers/runc/pull/3639
161-
152+
https://github.com/opencontainers/runtime-spec/pull/1164
162153

163-
### CRI API
164154

165-
155+
### CRI API
166156

167157
We propose to add the following message.
168158

169159

170160

171161
```protobuf
172162
173-
message NamespaceOptions {
174-
bool ima = 6;
163+
message LinuxSandboxSecurityContext {
164+
NamespaceOption namespace_options = 1;
165+
SELinuxOption selinux_options = 2;
166+
Int64Value run_as_user = 3;
167+
Int64Value run_as_group = 8;
168+
bool readonly_rootfs = 4;
169+
repeated int64 supplemental_groups = 5;
170+
bool privileged = 6;
171+
SecurityProfile seccomp = 9;
172+
SecurityProfile apparmor = 10;
173+
string seccomp_profile_path = 7 [deprecated=true];
174+
// new field
175+
bool ima = 11;
175176
}
176177
177178
```
@@ -185,6 +186,8 @@ metadata:
185186
name: nginx
186187
spec:
187188
securityContext:
189+
# New field
190+
188191
ima: true
189192
containers:
190193
- name: nginx
@@ -202,14 +205,14 @@ This features will integrate with a future remote attestation procedure, which w
202205
203206
### Test Plan
204207
205-
208+
206209
207210
Which unit tests should we include?
208211
209-
212+
210213
211214
### Graduation Criteria
212-
215+
213216
214217
#### GA
215218

0 commit comments

Comments
 (0)