Skip to content

Commit e38b9dc

Browse files
committed
revised to minumize usage of whitelist/blacklist
1 parent 352fafd commit e38b9dc

File tree

8 files changed

+28
-28
lines changed

8 files changed

+28
-28
lines changed

content/en/docs/concepts/policy/pod-security-policy.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ administrator to control the following:
3434
| Usage of host networking and ports | [`hostNetwork`, `hostPorts`](#host-namespaces) |
3535
| Usage of volume types | [`volumes`](#volumes-and-file-systems) |
3636
| Usage of the host filesystem | [`allowedHostPaths`](#volumes-and-file-systems) |
37-
| White list of FlexVolume drivers | [`allowedFlexVolumes`](#flexvolume-drivers) |
37+
| Allow specific FlexVolume drivers | [`allowedFlexVolumes`](#flexvolume-drivers) |
3838
| Allocating an FSGroup that owns the pod's volumes | [`fsGroup`](#volumes-and-file-systems) |
3939
| Requiring the use of a read only root file system | [`readOnlyRootFilesystem`](#volumes-and-file-systems) |
4040
| The user and group IDs of the container | [`runAsUser`, `runAsGroup`, `supplementalGroups`](#users-and-groups) |
@@ -401,13 +401,13 @@ namespace. Doing so gives the pod access to the loopback device, services
401401
listening on localhost, and could be used to snoop on network activity of other
402402
pods on the same node.
403403

404-
**HostPorts** - Provides a whitelist of ranges of allowable ports in the host
404+
**HostPorts** - Provides a list of ranges of allowable ports in the host
405405
network namespace. Defined as a list of `HostPortRange`, with `min`(inclusive)
406406
and `max`(inclusive). Defaults to no allowed host ports.
407407

408408
### Volumes and file systems
409409

410-
**Volumes** - Provides a whitelist of allowed volume types. The allowable values
410+
**Volumes** - Provides a list of allowed volume types. The allowable values
411411
correspond to the volume sources that are defined when creating a volume. For
412412
the complete list of volume types, see [Types of
413413
Volumes](/docs/concepts/storage/volumes/#types-of-volumes). Additionally, `*`
@@ -438,7 +438,7 @@ minimum value of the first range as the default. Validates against all ranges.
438438
all ranges if `FSGroups` is set.
439439
- *RunAsAny* - No default provided. Allows any `fsGroup` ID to be specified.
440440

441-
**AllowedHostPaths** - This specifies a whitelist of host paths that are allowed
441+
**AllowedHostPaths** - This specifies a list of host paths that are allowed
442442
to be used by hostPath volumes. An empty list means there is no restriction on
443443
host paths used. This is defined as a list of objects with a single `pathPrefix`
444444
field, which allows hostPath volumes to mount a path that begins with an
@@ -469,7 +469,7 @@ root filesystem (i.e. no writable layer).
469469

470470
### FlexVolume drivers
471471

472-
This specifies a whitelist of FlexVolume drivers that are allowed to be used
472+
This specifies a list of FlexVolume drivers that are allowed to be used
473473
by flexvolume. An empty list or nil means there is no restriction on the drivers.
474474
Please make sure [`volumes`](#volumes-and-file-systems) field contains the
475475
`flexVolume` volume type; no FlexVolume driver is allowed otherwise.
@@ -555,7 +555,7 @@ the PodSecurityPolicy. For more details on Linux capabilities, see
555555
The following fields take a list of capabilities, specified as the capability
556556
name in ALL_CAPS without the `CAP_` prefix.
557557

558-
**AllowedCapabilities** - Provides a whitelist of capabilities that may be added
558+
**AllowedCapabilities** - Provides a list of capabilities that are allowed to be added
559559
to a container. The default set of capabilities are implicitly allowed. The
560560
empty set means that no additional capabilities may be added beyond the default
561561
set. `*` can be used to allow all capabilities.
@@ -579,7 +579,7 @@ specified.
579579

580580
### AllowedProcMountTypes
581581

582-
`allowedProcMountTypes` is a whitelist of allowed ProcMountTypes.
582+
`allowedProcMountTypes` is a list of allowed ProcMountTypes.
583583
Empty or nil indicates that only the `DefaultProcMountType` may be used.
584584

585585
`DefaultProcMount` uses the container runtime defaults for readonly and masked

content/en/docs/concepts/security/pod-security-standards.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ should range from highly restricted to highly flexible:
4343
The Privileged policy is purposely-open, and entirely unrestricted. This type of policy is typically
4444
aimed at system- and infrastructure-level workloads managed by privileged, trusted users.
4545

46-
The privileged policy is defined by an absence of restrictions. For blacklist-oriented enforcement
46+
The privileged policy is defined by an absence of restrictions. For allow-by-default enforcement
4747
mechanisms (such as gatekeeper), the privileged profile may be an absence of applied constraints
48-
rather than an instantiated policy. In contrast, for a whitelist oriented mechanism (such as Pod
48+
rather than an instantiated policy. In contrast, for a deny-by-default mechanism (such as Pod
4949
Security Policy) the privileged policy should enable all controls (disable all restrictions).
5050

5151
### Baseline/Default
@@ -90,7 +90,7 @@ enforced/disallowed:
9090
<br><b>Restricted Fields:</b><br>
9191
spec.containers[*].securityContext.capabilities.add<br>
9292
spec.initContainers[*].securityContext.capabilities.add<br>
93-
<br><b>Allowed Values:</b> empty (optionally whitelisted defaults)<br>
93+
<br><b>Allowed Values:</b> empty (or restricted to a known list)<br>
9494
</td>
9595
</tr>
9696
<tr>
@@ -105,17 +105,17 @@ enforced/disallowed:
105105
<tr>
106106
<td>Host Ports</td>
107107
<td>
108-
HostPorts should be disallowed, or at minimum restricted to a whitelist.<br>
108+
HostPorts should be disallowed, or at minimum restricted to a known list.<br>
109109
<br><b>Restricted Fields:</b><br>
110110
spec.containers[*].ports[*].hostPort<br>
111111
spec.initContainers[*].ports[*].hostPort<br>
112-
<br><b>Allowed Values:</b> 0, undefined, (whitelisted)<br>
112+
<br><b>Allowed Values:</b> 0, undefined (or restricted to a known list)<br>
113113
</td>
114114
</tr>
115115
<tr>
116116
<td>AppArmor <em>(optional)</em></td>
117117
<td>
118-
On supported hosts, the 'runtime/default' AppArmor profile is applied by default. The default policy should prevent overriding or disabling the policy, or restrict overrides to a whitelisted set of profiles.<br>
118+
On supported hosts, the 'runtime/default' AppArmor profile is applied by default. The default policy should prevent overriding or disabling the policy, or restrict overrides to an allowed set of profiles.<br>
119119
<br><b>Restricted Fields:</b><br>
120120
metadata.annotations['container.apparmor.security.beta.kubernetes.io/*']<br>
121121
<br><b>Allowed Values:</b> 'runtime/default', undefined<br>
@@ -145,7 +145,7 @@ enforced/disallowed:
145145
<tr>
146146
<td>Sysctls</td>
147147
<td>
148-
Sysctls can disable security mechanisms or affect all containers on a host, and should be disallowed except for a whitelisted "safe" subset.
148+
Sysctls can disable security mechanisms or affect all containers on a host, and should be disallowed except for an allowed "safe" subset.
149149
A sysctl is considered safe if it is namespaced in the container or the Pod, and it is isolated from other Pods or processes on the same Node.<br>
150150
<br><b>Restricted Fields:</b><br>
151151
spec.securityContext.sysctls<br>
@@ -249,7 +249,7 @@ well as lower-trust users.The following listed controls should be enforced/disal
249249
<tr>
250250
<td>Seccomp</td>
251251
<td>
252-
The 'runtime/default' seccomp profile must be required, or allow additional whitelisted values.<br>
252+
The 'runtime/default' seccomp profile must be required, or allow specific additional profiles.<br>
253253
<br><b>Restricted Fields:</b><br>
254254
metadata.annotations['seccomp.security.alpha.kubernetes.io/pod']<br>
255255
metadata.annotations['container.seccomp.security.alpha.kubernetes.io/*']<br>

content/en/docs/concepts/services-networking/network-policies.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ __podSelector__: Each NetworkPolicy includes a `podSelector` which selects the g
8989

9090
__policyTypes__: Each NetworkPolicy includes a `policyTypes` list which may include either `Ingress`, `Egress`, or both. The `policyTypes` field indicates whether or not the given policy applies to ingress traffic to selected pod, egress traffic from selected pods, or both. If no `policyTypes` are specified on a NetworkPolicy then by default `Ingress` will always be set and `Egress` will be set if the NetworkPolicy has any egress rules.
9191

92-
__ingress__: Each NetworkPolicy may include a list of whitelist `ingress` rules. Each rule allows traffic which matches both the `from` and `ports` sections. The example policy contains a single rule, which matches traffic on a single port, from one of three sources, the first specified via an `ipBlock`, the second via a `namespaceSelector` and the third via a `podSelector`.
92+
__ingress__: Each NetworkPolicy may include a list of allowed `ingress` rules. Each rule allows traffic which matches both the `from` and `ports` sections. The example policy contains a single rule, which matches traffic on a single port, from one of three sources, the first specified via an `ipBlock`, the second via a `namespaceSelector` and the third via a `podSelector`.
9393

94-
__egress__: Each NetworkPolicy may include a list of whitelist `egress` rules. Each rule allows traffic which matches both the `to` and `ports` sections. The example policy contains a single rule, which matches traffic on a single port to any destination in `10.0.0.0/24`.
94+
__egress__: Each NetworkPolicy may include a list of allowed `egress` rules. Each rule allows traffic which matches both the `to` and `ports` sections. The example policy contains a single rule, which matches traffic on a single port to any destination in `10.0.0.0/24`.
9595

9696
So, the example NetworkPolicy:
9797

content/en/docs/reference/access-authn-authz/admission-controllers.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,7 @@ node selector.
610610
2. If the namespace lacks such an annotation, use the `clusterDefaultNodeSelector` defined in the `PodNodeSelector`
611611
plugin configuration file as the node selector.
612612
3. Evaluate the pod's node selector against the namespace node selector for conflicts. Conflicts result in rejection.
613-
4. Evaluate the pod's node selector against the namespace-specific whitelist defined the plugin configuration file.
613+
4. Evaluate the pod's node selector against the namespace-specific allowed selector defined the plugin configuration file.
614614
Conflicts result in rejection.
615615

616616
{{< note >}}
@@ -672,15 +672,15 @@ for more information.
672672
The PodTolerationRestriction admission controller verifies any conflict between tolerations of a pod and the tolerations of its namespace.
673673
It rejects the pod request if there is a conflict.
674674
It then merges the tolerations annotated on the namespace into the tolerations of the pod.
675-
The resulting tolerations are checked against a whitelist of tolerations annotated to the namespace.
675+
The resulting tolerations are checked against a list of allowed tolerations annotated to the namespace.
676676
If the check succeeds, the pod request is admitted otherwise it is rejected.
677677

678-
If the namespace of the pod does not have any associated default tolerations or a whitelist of
679-
tolerations annotated, the cluster-level default tolerations or cluster-level whitelist of tolerations are used
678+
If the namespace of the pod does not have any associated default tolerations or allowed
679+
tolerations annotated, the cluster-level default tolerations or cluster-level list of allowed tolerations are used
680680
instead if they are specified.
681681

682682
Tolerations to a namespace are assigned via the `scheduler.alpha.kubernetes.io/defaultTolerations` annotation key.
683-
The whitelist can be added via the `scheduler.alpha.kubernetes.io/tolerationsWhitelist` annotation key.
683+
The list of allowed tolerations can be added via the `scheduler.alpha.kubernetes.io/tolerationsWhitelist` annotation key.
684684

685685
Example for namespace annotations:
686686

content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -495,10 +495,10 @@ and `scp` using that other user instead.
495495

496496
The `admin.conf` file gives the user _superuser_ privileges over the cluster.
497497
This file should be used sparingly. For normal users, it's recommended to
498-
generate an unique credential to which you whitelist privileges. You can do
498+
generate an unique credential to which you grant privileges. You can do
499499
this with the `kubeadm alpha kubeconfig user --client-name <CN>`
500500
command. That command will print out a KubeConfig file to STDOUT which you
501-
should save to a file and distribute to your user. After that, whitelist
501+
should save to a file and distribute to your user. After that, grant
502502
privileges by using `kubectl create (cluster)rolebinding`.
503503
{{< /note >}}
504504

content/en/docs/tasks/administer-cluster/sysctl-cluster.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,9 @@ Do not configure these two fields such that there is overlap, meaning that a
188188
given sysctl is both allowed and forbidden.
189189

190190
{{< warning >}}
191-
If you whitelist unsafe sysctls via the `allowedUnsafeSysctls` field
191+
If you allow unsafe sysctls via the `allowedUnsafeSysctls` field
192192
in a PodSecurityPolicy, any pod using such a sysctl will fail to start
193-
if the sysctl is not whitelisted via the `--allowed-unsafe-sysctls` kubelet
193+
if the sysctl is not allowed via the `--allowed-unsafe-sysctls` kubelet
194194
flag as well on that node.
195195
{{< /warning >}}
196196

content/en/docs/tasks/debug-application-cluster/audit.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ Existing static backends that you configure with runtime flags are not affected
245245

246246
The AuditSink policy differs from the legacy audit runtime policy. This is because the API object serves different use cases. The policy will continue to evolve to serve more use cases.
247247

248-
The `level` field applies the given audit level to all requests. The `stages` field is now a whitelist of stages to record.
248+
The `level` field applies the given audit level to all requests. The `stages` field is now a list of allowed stages to record.
249249

250250
#### Contacting the webhook
251251

content/en/docs/tutorials/clusters/apparmor.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ content_template: templates/tutorial
1313
AppArmor is a Linux kernel security module that supplements the standard Linux user and group based
1414
permissions to confine programs to a limited set of resources. AppArmor can be configured for any
1515
application to reduce its potential attack surface and provide greater in-depth defense. It is
16-
configured through profiles tuned to whitelist the access needed by a specific program or container,
16+
configured through profiles tuned to allow the access needed by a specific program or container,
1717
such as Linux capabilities, network access, file permissions, etc. Each profile can be run in either
1818
*enforcing* mode, which blocks access to disallowed resources, or *complain* mode, which only reports
1919
violations.

0 commit comments

Comments
 (0)