Skip to content

Commit 92ca58e

Browse files
Improve grammar, clarity, and consistency in cloud-native-security.md (#52021 follow-up)
1 parent 473f888 commit 92ca58e

File tree

1 file changed

+40
-40
lines changed

1 file changed

+40
-40
lines changed

content/en/docs/concepts/security/cloud-native-security.md

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -10,39 +10,39 @@ description: >
1010
Concepts for keeping your cloud-native workload secure.
1111
---
1212

13-
Kubernetes is based on a cloud-native architecture, and draws on advice from the
14-
{{< glossary_tooltip text="CNCF" term_id="cncf" >}} about good practice for
15-
cloud native information security.
13+
Kubernetes is based on a cloud-native architecture and draws on advice from the
14+
{{< glossary_tooltip text="CNCF" term_id="cncf" >}} about good practices for
15+
cloud-native information security.
1616

17-
Read on through this page for an overview of how Kubernetes is designed to
18-
help you deploy a secure cloud native platform.
17+
Read on for an overview of how Kubernetes is designed to help you deploy a
18+
secure cloud-native platform.
1919

20-
## Cloud native information security
20+
## Cloud-native information security
2121

2222
{{< comment >}}
2323
There are localized versions available of this whitepaper; if you can link to one of those
2424
when localizing, that's even better.
2525
{{< /comment >}}
2626

2727
The CNCF [white paper](https://github.com/cncf/tag-security/blob/main/community/resources/security-whitepaper/v2/CNCF_cloud-native-security-whitepaper-May2022-v2.pdf)
28-
on cloud native security defines security controls and practices that are
28+
on cloud-native security defines security controls and practices that are
2929
appropriate to different _lifecycle phases_.
3030

3131
## _Develop_ lifecycle phase {#lifecycle-phase-develop}
3232

3333
- Ensure the integrity of development environments.
34-
- Design applications following good practice for information security,
34+
- Design applications following good practices for information security,
3535
appropriate for your context.
36-
- Consider end user security as part of solution design.
36+
- Consider end-user security as part of solution design.
3737

3838
To achieve this, you can:
3939

4040
1. Adopt an architecture, such as [zero trust](https://glossary.cncf.io/zero-trust-architecture/),
4141
that minimizes attack surfaces, even for internal threats.
4242
1. Define a code review process that considers security concerns.
4343
1. Build a _threat model_ of your system or application that identifies
44-
trust boundaries. Use that to model to identify risks and to help find
45-
ways to treat those risks.
44+
trust boundaries. Use that threat model to identify risks and determine
45+
how to treat them.
4646
1. Incorporate advanced security automation, such as _fuzzing_ and
4747
[security chaos engineering](https://glossary.cncf.io/security-chaos-engineering/),
4848
where it's justified.
@@ -51,8 +51,8 @@ To achieve this, you can:
5151

5252
- Ensure the security of the supply chain for container images you execute.
5353
- Ensure the security of the supply chain for the cluster and other components
54-
that execute your application. An example of another component might be an
55-
external database that your cloud-native application uses for persistence.
54+
that execute your application. For example, this might include an external
55+
database that your cloud-native application uses for persistence.
5656

5757
To achieve this, you can:
5858

@@ -72,19 +72,19 @@ To achieve this, you can:
7272
## _Deploy_ lifecycle phase {#lifecycle-phase-deploy}
7373

7474
Ensure appropriate restrictions on what can be deployed, who can deploy it,
75-
and where it can be deployed to.
75+
and where it can be deployed.
7676
You can enforce measures from the _distribute_ phase, such as verifying the
7777
cryptographic identity of container image artifacts.
7878

7979
You can deploy different applications and cluster components into different
8080
{{< glossary_tooltip text="namespaces" term_id="namespace" >}}. Containers
81-
themselves, and namespaces, both provide isolation mechanisms that are
82-
relevant to information security.
81+
and namespaces both provide isolation mechanisms that are relevant to
82+
information security.
8383

8484
When you deploy Kubernetes, you also set the foundation for your
8585
applications' runtime environment: a Kubernetes cluster (or
8686
multiple clusters).
87-
That IT infrastructure must provide the security guarantees that higher
87+
That infrastructure must provide the security guarantees that higher
8888
layers expect.
8989

9090
## _Runtime_ lifecycle phase {#lifecycle-phase-runtime}
@@ -99,7 +99,7 @@ to providing effective cluster security.
9999

100100
Other pages in the Kubernetes documentation have more detail about how to set up
101101
specific aspects of access control. The [security checklist](/docs/concepts/security/security-checklist/)
102-
has a set of suggested basic checks for your cluster.
102+
provides suggested basic checks for your cluster.
103103

104104
Beyond that, securing your cluster means implementing effective
105105
[authentication](/docs/concepts/security/controlling-access/#authentication) and
@@ -108,43 +108,43 @@ provide and manage security identities for workloads and cluster
108108
components.
109109

110110
Kubernetes uses TLS to protect API traffic; make sure to deploy the cluster using
111-
TLS (including for traffic between nodes and the control plane), and protect the
111+
TLS (including for traffic between nodes and the control plane) and protect the
112112
encryption keys. If you use Kubernetes' own API for
113113
[CertificateSigningRequests](/docs/reference/access-authn-authz/certificate-signing-requests/#certificate-signing-requests),
114114
pay special attention to restricting misuse there.
115115

116116
### Runtime protection: compute {#protection-runtime-compute}
117117

118118
{{< glossary_tooltip text="Containers" term_id="container" >}} provide two
119-
things: isolation between different applications, and a mechanism to combine
119+
things: isolation between applications and a mechanism to combine
120120
those isolated applications to run on the same host computer. Those two
121-
aspects, isolation and aggregation, mean that runtime security involves
121+
aspectsisolation and aggregationmean that runtime security involves
122122
identifying trade-offs and finding an appropriate balance.
123123

124124
Kubernetes relies on a {{< glossary_tooltip text="container runtime" term_id="container-runtime" >}}
125-
to actually set up and run containers. The Kubernetes project does
126-
not recommend a specific container runtime and you should make sure that
127-
the runtime(s) that you choose meet your information security needs.
125+
to set up and run containers. The Kubernetes project does
126+
not recommend a specific container runtime, and you should make sure that
127+
the runtime(s) you choose meet your information security needs.
128128

129129
To protect your compute at runtime, you can:
130130

131-
1. Enforce [Pod security standards](/docs/concepts/security/pod-security-standards/)
132-
for applications, to help ensure they run with only the necessary privileges.
131+
1. Enforce [Pod Security Standards](/docs/concepts/security/pod-security-standards/)
132+
for applications to help ensure they run with only the necessary privileges.
133133
1. Run a specialized operating system on your nodes that is designed specifically
134134
for running containerized workloads. This is typically based on a read-only
135135
operating system (_immutable image_) that provides only the services
136136
essential for running containers.
137137

138-
Container-specific operating systems help to isolate system components and
138+
Container-specific operating systems help isolate system components and
139139
present a reduced attack surface in case of a container escape.
140140
1. Define [ResourceQuotas](/docs/concepts/policy/resource-quotas/) to
141141
fairly allocate shared resources, and use
142142
mechanisms such as [LimitRanges](/docs/concepts/policy/limit-range/)
143143
to ensure that Pods specify their resource requirements.
144-
1. Partition workloads across different nodes.
144+
1. Partition workloads across different nodes to improve isolation.
145145
Use [node isolation](/docs/concepts/scheduling-eviction/assign-pod-node/#node-isolation-restriction)
146146
mechanisms, either from Kubernetes itself or from the ecosystem, to ensure that
147-
Pods with different trust contexts are run on separate sets of nodes.
147+
Pods with different trust contexts run on separate sets of nodes.
148148
1. Use a {{< glossary_tooltip text="container runtime" term_id="container-runtime" >}}
149149
that provides security restrictions.
150150
1. On Linux nodes, use a Linux security module such as [AppArmor](/docs/tutorials/security/apparmor/)
@@ -158,7 +158,7 @@ To protect storage for your cluster and the applications that run there, you can
158158
rest for volumes.
159159
1. Enable [encryption at rest](/docs/tasks/administer-cluster/encrypt-data/) for
160160
API objects.
161-
1. Protect data durability using backups. Verify that you can restore these, whenever you need to.
161+
1. Protect data durability using backups, and verify that you can restore them whenever needed.
162162
1. Authenticate connections between cluster nodes and any network storage they rely
163163
upon.
164164
1. Implement data encryption within your own application.
@@ -174,11 +174,11 @@ You should also consider network security measures, such as
174174
[NetworkPolicy](/docs/concepts/services-networking/network-policies/) or a
175175
[service mesh](https://glossary.cncf.io/service-mesh/).
176176
Some network plugins for Kubernetes provide encryption for your
177-
cluster network, using technologies such as a virtual
177+
cluster network using technologies such as a virtual
178178
private network (VPN) overlay.
179179
By design, Kubernetes lets you use your own networking plugin for your
180-
cluster (if you use managed Kubernetes, the person or organization
181-
managing your cluster may have chosen a network plugin for you).
180+
cluster. If you use managed Kubernetes, the provider may have already selected a
181+
network plugin for you.
182182

183183
The network plugin you choose and the way you integrate it can have a
184184
strong impact on the security of information in transit.
@@ -189,27 +189,27 @@ Kubernetes lets you extend your cluster with extra tooling. You can set up third
189189
party solutions to help you monitor or troubleshoot your applications and the
190190
clusters they are running. You also get some basic observability features built
191191
in to Kubernetes itself. Your code running in containers can generate logs,
192-
publish metrics or provide other observability data; at deploy time, you need to
192+
publish metrics, or provide other observability data; at deploy time, you need to
193193
make sure your cluster provides an appropriate level of protection there.
194194

195195
If you set up a metrics dashboard or something similar, review the chain of components
196196
that populate data into that dashboard, as well as the dashboard itself. Make sure
197-
that the whole chain is designed with enough resilience and enough integrity protection
197+
that the whole chain is designed with enough resilience and integrity protection
198198
that you can rely on it even during an incident where your cluster might be degraded.
199199

200-
Where appropriate, deploy security measures below the level of Kubernetes
201-
itself, such as cryptographically measured boot, or authenticated distribution
200+
Where appropriate, deploy security measures below the Kubernetes layer,
201+
such as cryptographically measured boot or authenticated distribution
202202
of time (which helps ensure the fidelity of logs and audit records).
203203

204-
For a high assurance environment, deploy cryptographic protections to ensure that
204+
For a high-assurance environment, deploy cryptographic protections to ensure that
205205
logs are both tamper-proof and confidential.
206206

207207
## {{% heading "whatsnext" %}}
208208

209-
### Cloud native security {#further-reading-cloud-native}
209+
### Cloud-native security {#further-reading-cloud-native}
210210

211211
* CNCF [white paper](https://github.com/cncf/tag-security/blob/main/community/resources/security-whitepaper/v2/CNCF_cloud-native-security-whitepaper-May2022-v2.pdf)
212-
on cloud native security.
212+
on cloud-native security.
213213
* CNCF [white paper](https://github.com/cncf/tag-security/blob/f80844baaea22a358f5b20dca52cd6f72a32b066/supply-chain-security/supply-chain-security-paper/CNCF_SSCP_v1.pdf)
214214
on good practices for securing a software supply chain.
215215
* [Fixing the Kubernetes clusterf\*\*k: Understanding security from the kernel up](https://archive.fosdem.org/2020/schedule/event/kubernetes/) (FOSDEM 2020)

0 commit comments

Comments
 (0)