Skip to content

Commit a2ed1db

Browse files
authored
Merge pull request #53376 from my-git9/npe-2327
[zh-cn]sync cloud-native-security
2 parents 08e11f6 + b8cc890 commit a2ed1db

File tree

1 file changed

+50
-51
lines changed

1 file changed

+50
-51
lines changed

content/zh-cn/docs/concepts/security/cloud-native-security.md

Lines changed: 50 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,21 @@ weight: 10
1919
hide_summary: true
2020
2121
description: >
22-
Concepts for keeping your cloud-native workload secure.
22+
Concepts for keeping your cloud native workload secure.
2323
---
2424
-->
2525
<!--
26-
Kubernetes is based on a cloud-native architecture, and draws on advice from the
27-
{{< glossary_tooltip text="CNCF" term_id="cncf" >}} about good practice for
26+
Kubernetes is based on a cloud native architecture and draws on advice from the
27+
{{< glossary_tooltip text="CNCF" term_id="cncf" >}} about good practices for
2828
cloud native information security.
2929
-->
3030
Kubernetes 基于云原生架构,并借鉴了
3131
{{< glossary_tooltip text="CNCF" term_id="cncf" >}}
3232
有关云原生信息安全良好实践的建议。
3333

3434
<!--
35-
Read on through this page for an overview of how Kubernetes is designed to
36-
help you deploy a secure cloud native platform.
35+
Read on for an overview of how Kubernetes is designed to help you deploy a
36+
secure cloud native platform.
3737
-->
3838
继续阅读本页,了解 Kubernetes 如何设计以帮助你部署安全的云原生平台。
3939

@@ -66,7 +66,7 @@ CNCF 关于云原生安全的[白皮书](https://github.com/cncf/tag-security/bl
6666

6767
<!--
6868
- Ensure the integrity of development environments.
69-
- Design applications following good practice for information security,
69+
- Design applications following good practices for information security,
7070
appropriate for your context.
7171
- Consider end user security as part of solution design.
7272
-->
@@ -85,8 +85,8 @@ To achieve this, you can:
8585
that minimizes attack surfaces, even for internal threats.
8686
1. Define a code review process that considers security concerns.
8787
1. Build a _threat model_ of your system or application that identifies
88-
trust boundaries. Use that to model to identify risks and to help find
89-
ways to treat those risks.
88+
trust boundaries. Use that threat model to identify risks and determine
89+
how to treat them.
9090
1. Incorporate advanced security automation, such as _fuzzing_ and
9191
[security chaos engineering](https://glossary.cncf.io/security-chaos-engineering/),
9292
where it's justified.
@@ -95,7 +95,7 @@ To achieve this, you can:
9595
尽可能缩小攻击面,对内部威胁也有效。
9696
2. 建立考虑安全问题的代码审查流程。
9797
3. 构建系统或应用程序的**威胁模型**,确定信任边界。
98-
利用该模型识别风险,并帮助找到处理这些风险的方法。
98+
利用该威胁模型识别风险,并帮助找到处理这些风险的方法。
9999
4. 合理的采用高级的安全自动化机制,例如**模糊测试**[**安全混沌工程**](https://glossary.cncf.io/zh-cn/security-chaos-engineering/)
100100

101101
<!--
@@ -106,8 +106,8 @@ To achieve this, you can:
106106
<!--
107107
- Ensure the security of the supply chain for container images you execute.
108108
- Ensure the security of the supply chain for the cluster and other components
109-
that execute your application. An example of another component might be an
110-
external database that your cloud-native application uses for persistence.
109+
that execute your application. For example, this might include an external
110+
database that your cloud native application uses for persistence.
111111
-->
112112
- 针对你所运行的容器镜像,确保供应链安全。
113113
- 针对运行应用程序的集群或其他组件,保证其供应链安全。
@@ -147,7 +147,7 @@ To achieve this, you can:
147147

148148
<!--
149149
Ensure appropriate restrictions on what can be deployed, who can deploy it,
150-
and where it can be deployed to.
150+
and where it can be deployed.
151151
You can enforce measures from the _distribute_ phase, such as verifying the
152152
cryptographic identity of container image artifacts.
153153
-->
@@ -157,21 +157,21 @@ cryptographic identity of container image artifacts.
157157
<!--
158158
You can deploy different applications and cluster components into different
159159
{{< glossary_tooltip text="namespaces" term_id="namespace" >}}. Containers
160-
themselves, and namespaces, both provide isolation mechanisms that are
161-
relevant to information security.
160+
and namespaces both provide isolation mechanisms that are relevant to
161+
information security.
162162
-->
163163
你可以部署不同的应用程序和集群组件到不同的{{< glossary_tooltip text="命名空间" term_id="namespace" >}}中。
164-
容器本身和命名空间都提供了信息安全相关的隔离机制
164+
容器和命名空间都提供了与信息安全相关的隔离机制
165165

166166
<!--
167167
When you deploy Kubernetes, you also set the foundation for your
168168
applications' runtime environment: a Kubernetes cluster (or
169169
multiple clusters).
170-
That IT infrastructure must provide the security guarantees that higher
170+
That infrastructure must provide the security guarantees that higher
171171
layers expect.
172172
-->
173173
当你部署 Kubernetes 时,也是在为应用程序的运行环境奠定基础:一个或多个 Kubernetes 集群。
174-
该 IT 基础设施必须提供上层所期望的安全保障
174+
该基础设施必须提供上层所期望的安全保障
175175

176176
<!--
177177
## _Runtime_ lifecycle phase {#lifecycle-phase-runtime}
@@ -199,7 +199,7 @@ Kubernetes API 是集群运行的基础。保护 API 是提供可靠的集群安
199199
<!--
200200
Other pages in the Kubernetes documentation have more detail about how to set up
201201
specific aspects of access control. The [security checklist](/docs/concepts/security/security-checklist/)
202-
has a set of suggested basic checks for your cluster.
202+
provides suggested basic checks for your cluster.
203203
-->
204204
Kubernetes 文档中的其他页面更详细地介绍了如何设置访问控制的具体细节。
205205
[安全检查清单](/zh-cn/docs/concepts/security/security-checklist/)为你的集群提供了一套建议的基本检查。
@@ -218,12 +218,12 @@ components.
218218

219219
<!--
220220
Kubernetes uses TLS to protect API traffic; make sure to deploy the cluster using
221-
TLS (including for traffic between nodes and the control plane), and protect the
221+
TLS (including for traffic between nodes and the control plane) and protect the
222222
encryption keys. If you use Kubernetes' own API for
223223
[CertificateSigningRequests](/docs/reference/access-authn-authz/certificate-signing-requests/#certificate-signing-requests),
224224
pay special attention to restricting misuse there.
225225
-->
226-
Kubernetes 使用 TLS 保护 API 流量;确保在部署集群时采用了 TLS(包含工作节点和控制平面间的流量) 加密方式,
226+
Kubernetes 使用 TLS 保护 API 流量;确保在部署集群时采用了 TLS(包含工作节点和控制平面间的流量)加密方式,
227227
并保护好加密密钥。如果使用 Kubernetes 自带的
228228
[证书签名请求](/zh-cn/docs/reference/access-authn-authz/certificate-signing-requests/#certificate-signing-requests) API,
229229
特别注意不要滥用它们。
@@ -235,38 +235,38 @@ Kubernetes 使用 TLS 保护 API 流量;确保在部署集群时采用了 TLS
235235

236236
<!--
237237
{{< glossary_tooltip text="Containers" term_id="container" >}} provide two
238-
things: isolation between different applications, and a mechanism to combine
238+
things: isolation between applications and a mechanism to combine
239239
those isolated applications to run on the same host computer. Those two
240-
aspects, isolation and aggregation, mean that runtime security involves
240+
aspects-isolation and aggregation-mean that runtime security involves
241241
identifying trade-offs and finding an appropriate balance.
242242
-->
243-
{{< glossary_tooltip text="容器" term_id="container" >}} 提供了两种功能:
243+
{{< glossary_tooltip text="容器" term_id="container" >}}提供了两种功能:
244244
不同应用程序间的隔离,以及将这些隔离的应用程序合并运行到同一台主机的机制。
245245
隔离和聚合这两个方面意味着运行时安全需要权衡利弊,并找到合适的平衡点。
246246

247247
<!--
248248
Kubernetes relies on a {{< glossary_tooltip text="container runtime" term_id="container-runtime" >}}
249-
to actually set up and run containers. The Kubernetes project does
250-
not recommend a specific container runtime and you should make sure that
251-
the runtime(s) that you choose meet your information security needs.
249+
to set up and run containers. The Kubernetes project does
250+
not recommend a specific container runtime, and you should make sure that
251+
the runtime(s) you choose meet your information security needs.
252252
-->
253253
Kubernetes 依赖{{< glossary_tooltip text="容器运行时" term_id="container-runtime" >}}
254-
来设置和运行容器。 Kubernetes 项目不会推荐特定的容器运行时,你应当确保
255-
你选用的运行时符合你的信息安全需要
254+
来设置和运行容器。Kubernetes 项目不会推荐特定的容器运行时,
255+
你应当确保选用的运行时符合你的信息安全需要
256256
<!--
257257
To protect your compute at runtime, you can:
258258
-->
259259
要在运行时保护计算资源,你可以:
260260

261261
<!--
262-
1. Enforce [Pod security standards](/docs/concepts/security/pod-security-standards/)
263-
for applications, to help ensure they run with only the necessary privileges.
262+
1. Enforce [Pod Security Standards](/docs/concepts/security/pod-security-standards/)
263+
for applications to help ensure they run with only the necessary privileges.
264264
1. Run a specialized operating system on your nodes that is designed specifically
265265
for running containerized workloads. This is typically based on a read-only
266266
operating system (_immutable image_) that provides only the services
267267
essential for running containers.
268268
269-
Container-specific operating systems help to isolate system components and
269+
Container-specific operating systems help isolate system components and
270270
present a reduced attack surface in case of a container escape.
271271
-->
272272
1. 为应用程序强制采用 [Pod 安全性标准](/zh-cn/docs/concepts/security/pod-security-standards/)
@@ -280,20 +280,20 @@ To protect your compute at runtime, you can:
280280
fairly allocate shared resources, and use
281281
mechanisms such as [LimitRanges](/docs/concepts/policy/limit-range/)
282282
to ensure that Pods specify their resource requirements.
283-
1. Partition workloads across different nodes.
283+
1. Partition workloads across different nodes to improve isolation.
284284
Use [node isolation](/docs/concepts/scheduling-eviction/assign-pod-node/#node-isolation-restriction)
285285
mechanisms, either from Kubernetes itself or from the ecosystem, to ensure that
286-
Pods with different trust contexts are run on separate sets of nodes.
286+
Pods with different trust contexts run on separate sets of nodes.
287287
1. Use a {{< glossary_tooltip text="container runtime" term_id="container-runtime" >}}
288288
that provides security restrictions.
289289
1. On Linux nodes, use a Linux security module such as [AppArmor](/docs/tutorials/security/apparmor/)
290290
or [seccomp](/docs/tutorials/security/seccomp/).
291291
-->
292292
3. 定义 [ResourceQuota](/zh-cn/docs/concepts/policy/resource-quotas/)
293293
以公平分配共享资源,并使用
294-
[LimitRange](/zh-cn/docs/concepts/policy/limit-range/) 等机制
295-
确保 Pod 定义了资源需求。
296-
4. 划分工作负载到不同节点上
294+
[LimitRange](/zh-cn/docs/concepts/policy/limit-range/)
295+
等机制确保 Pod 定义了资源需求。
296+
4. 划分工作负载到不同节点上来提高隔离性
297297
使用来自 Kubernetes 本身或生态系统的
298298
[节点隔离](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#node-isolation-restriction)机制,
299299
以确保具有不同信任上下文的 Pod 在不同的节点上运行。
@@ -317,7 +317,7 @@ To protect storage for your cluster and the applications that run there, you can
317317
rest for volumes.
318318
1. Enable [encryption at rest](/docs/tasks/administer-cluster/encrypt-data/) for
319319
API objects.
320-
1. Protect data durability using backups. Verify that you can restore these, whenever you need to.
320+
1. Protect data durability using backups, and verify that you can restore them whenever needed.
321321
1. Authenticate connections between cluster nodes and any network storage they rely
322322
upon.
323323
1. Implement data encryption within your own application.
@@ -347,19 +347,19 @@ You should also consider network security measures, such as
347347
[NetworkPolicy](/docs/concepts/services-networking/network-policies/) or a
348348
[service mesh](https://glossary.cncf.io/service-mesh/).
349349
Some network plugins for Kubernetes provide encryption for your
350-
cluster network, using technologies such as a virtual
350+
cluster network using technologies such as a virtual
351351
private network (VPN) overlay.
352352
By design, Kubernetes lets you use your own networking plugin for your
353-
cluster (if you use managed Kubernetes, the person or organization
354-
managing your cluster may have chosen a network plugin for you).
353+
cluster. If you use managed Kubernetes, the provider may have already selected a
354+
network plugin for you.
355355
-->
356356
你也应当考虑网络安全措施,
357357
例如 [NetworkPolicy](/zh-cn/docs/concepts/services-networking/network-policies/)
358358
或者[服务网格](https://glossary.cncf.io/zh-cn/service-mesh/)
359359
一些 Kubernetes 的网络插件使用虚拟专用网络(VPN)叠加等技术,
360360
可以为集群网络提供加密功能。
361-
从设计上,Kubernetes 允许你在你的集群中使用自有网络插件(如果你使用托管 Kubernetes,
362-
集群管理员或组织可能会为你选择一个网络插件)
361+
从设计上,Kubernetes 允许你在你的集群中使用自有网络插件
362+
如果你使用托管 Kubernetes,提供商可能会为你选择一个网络插件
363363

364364
<!--
365365
The network plugin you choose and the way you integrate it can have a
@@ -377,7 +377,7 @@ Kubernetes lets you extend your cluster with extra tooling. You can set up third
377377
party solutions to help you monitor or troubleshoot your applications and the
378378
clusters they are running. You also get some basic observability features built
379379
in to Kubernetes itself. Your code running in containers can generate logs,
380-
publish metrics or provide other observability data; at deploy time, you need to
380+
publish metrics, or provide other observability data; at deploy time, you need to
381381
make sure your cluster provides an appropriate level of protection there.
382382
-->
383383
Kubernetes 允许你使用外部工具扩展集群。
@@ -389,23 +389,23 @@ Kubernetes 自身还内置了一些基本的可观测性功能。
389389
<!--
390390
If you set up a metrics dashboard or something similar, review the chain of components
391391
that populate data into that dashboard, as well as the dashboard itself. Make sure
392-
that the whole chain is designed with enough resilience and enough integrity protection
392+
that the whole chain is designed with enough resilience and integrity protection
393393
that you can rely on it even during an incident where your cluster might be degraded.
394394
-->
395395
如果你配置了指标看板或其他类似的组件,审查暴露指标数据到看板的组件链路和看板本身。
396396
确保整个链路设计具有足够的弹性和足够的完整性保护,
397397
只有这样,即便是在集群降级导致的事件发生时,你也可以依赖它。
398398

399399
<!--
400-
Where appropriate, deploy security measures below the level of Kubernetes
401-
itself, such as cryptographically measured boot, or authenticated distribution
400+
Where appropriate, deploy security measures below the Kubernetes layer,
401+
such as cryptographically measured boot or authenticated distribution
402402
of time (which helps ensure the fidelity of logs and audit records).
403403
-->
404404
在适当的情况下,在 Kubernetes 层之下部署一些安全举措,
405405
例如加密后启动或验证分发时间(有助于确保日志和审计记录的真实性)。
406406

407407
<!--
408-
For a high assurance environment, deploy cryptographic protections to ensure that
408+
For a high-assurance environment, deploy cryptographic protections to ensure that
409409
logs are both tamper-proof and confidential.
410410
-->
411411
对于高安全级别需求环境,部署加密保护措施,以确保日志防篡改和保密。
@@ -426,11 +426,10 @@ logs are both tamper-proof and confidential.
426426
* [Towards Measured Boot Out of the Box](https://www.youtube.com/watch?v=EzSkU3Oecuw) (Linux Security Summit 2016)
427427
-->
428428
* CNCF 有关云原生安全的[白皮书](https://github.com/cncf/tag-security/blob/main/community/resources/security-whitepaper/v2/CNCF_cloud-native-security-whitepaper-May2022-v2.pdf)
429-
430429
* CNCF 有关加固软件供应链的最佳实践[白皮书](https://github.com/cncf/tag-security/blob/f80844baaea22a358f5b20dca52cd6f72a32b066/supply-chain-security/supply-chain-security-paper/CNCF_SSCP_v1.pdf)
431-
* [Fixing the Kubernetes clusterf\*\*k: Understanding security from the kernel up](https://archive.fosdem.org/2020/schedule/event/kubernetes/) (FOSDEM 2020)
432-
* [Kubernetes 安全最佳实践](https://www.youtube.com/watch?v=wqsUfvRyYpw) (Kubernetes Forum Seoul 2019)
433-
* [朝着开箱即用的测量启动前进](https://www.youtube.com/watch?v=EzSkU3Oecuw) (Linux Security Summit 2016)
430+
* [Fixing the Kubernetes clusterf\*\*k: Understanding security from the kernel up](https://archive.fosdem.org/2020/schedule/event/kubernetes/)FOSDEM 2020
431+
* [Kubernetes 安全最佳实践](https://www.youtube.com/watch?v=wqsUfvRyYpw)Kubernetes Forum Seoul 2019
432+
* [朝着开箱即用的测量启动前进](https://www.youtube.com/watch?v=EzSkU3Oecuw)Linux Security Summit 2016
434433

435434
<!--
436435
### Kubernetes and information security {#further-reading-k8s}

0 commit comments

Comments
 (0)