[zh] Fix some inaccurate or missing translations (#12613)

* Fix some wrong or inaccurate translations

* fix

* fix

Co-authored-by: Michael <haifeng.yao@daocloud.io>

---------

Co-authored-by: Michael <haifeng.yao@daocloud.io>
This commit is contained in:
wulianglongrd 2023-02-09 13:32:07 +08:00 committed by GitHub
parent c03731c31c
commit a81669e137
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 14 deletions

View File

@ -71,9 +71,9 @@ Istio 身份模型使用 `service identity` (服务身份)来确定一个请
- GKE/GCE: GCP service account - GKE/GCE: GCP service account
- 本地(非 Kubernetes用户帐户、自定义服务帐户、服务名称、Istio 服务帐户或 GCP 服务帐户。自定义服务帐户引用现有服务帐户,就像客户的身份目录管理的身份一样。 - 本地(非 Kubernetes用户帐户、自定义服务帐户、服务名称、Istio 服务帐户或 GCP 服务帐户。自定义服务帐户引用现有服务帐户,就像客户的身份目录管理的身份一样。
## 公钥基础设施 (PKI) {#PKI} ## 身份和证书管理 {#PKI}
Istio PKI 使用 X.509 证书为每个工作负载都提供强大的身份标识。伴随着每个 Envoy 代理的 `istio-agent``istiod` 一起协作来大规模进行自动化密钥和证书轮换。下图显示了这个机制的运行流程。 Istio PKI 使用 X.509 证书为每个工作负载都提供强大的身份标识。`istio-agent` 与每个 Envoy 代理一起运行,与 `istiod` 一起协作来自动化的进行大规模密钥和证书轮换。下图显示了这个机制的运行流程。
{{< tip >}} {{< tip >}}
译者注:这里用 `istio-agent` 来表述,是因为下图及对图的相关解读中反复用到了 “Istio agent” 这个术语,这样的描述更容易理解。 译者注:这里用 `istio-agent` 来表述,是因为下图及对图的相关解读中反复用到了 “Istio agent” 这个术语,这样的描述更容易理解。
@ -85,25 +85,25 @@ Istio PKI 使用 X.509 证书为每个工作负载都提供强大的身份标识
caption="身份供应" caption="身份供应"
>}} >}}
Istio 供应身份是通过 secret discovery serviceSDS来实现的具体流程如下 Istio 通过以下流程提供密钥和证书
1. `istiod` 提供 gRPC 服务以接受[证书签名请求](https://en.wikipedia.org/wiki/Certificate_signing_request)CSRs 1. `istiod` 提供 gRPC 服务以接受[证书签名请求](https://en.wikipedia.org/wiki/Certificate_signing_request)CSRs
1. 当工作负载启动时Envoy 通过[秘密发现服务SDS](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds)API 向同容器内的 `istio-agent` 发送证书和密钥请求。 1. `istio-agent` 在启动时创建私钥和 CSR然后将 CSR 及其凭据发送到 `istiod` 进行签名。
1. 在收到 SDS 请求后,`istio-agent` 创建私钥和 CSR然后将 CSR 及其凭据发送到 `istiod` CA 进行签名。
1. `istiod` CA 验证 CSR 中携带的凭据,成功验证后签署 CSR 以生成证书。 1. `istiod` CA 验证 CSR 中携带的凭据,成功验证后签署 CSR 以生成证书。
1. `Istio-agent` 通过 Envoy SDS API 将私钥和从 Istio CA 收到的证书发送给 Envoy。 1. 当工作负载启动时Envoy 通过[秘密发现服务SDS](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds)API 向同容器内的 `istio-agent` 发送证书和密钥请求。
1. `Istio-agent` 会监工作负载证书的有效期。上述 CSR 过程会周期性地重复,以处理证书和密钥轮换。 1. `istio-agent` 通过 Envoy SDS API 将从 `istiod` 收到的证书和密钥发送给 Envoy。
1. `istio-agent` 监控工作负载证书的过期时间。上述过程会定期重复进行证书和密钥轮换。
## 认证{#authentication} ## 认证{#authentication}
Istio 提供两种类型的认证: Istio 提供两种类型的认证:
- Peer authentication用于服务到服务的认证以验证进行连接的客户端。Istio 提供[双向 TLS](https://en.wikipedia.org/wiki/Mutual_authentication) 作为传输认证的全栈解决方案,无需更改服务代码就可以启用它。这个解决方案: - Peer authentication用于服务到服务的认证以验证建立连接的客户端。Istio 提供[双向 TLS](https://en.wikipedia.org/wiki/Mutual_authentication) 作为传输认证的全栈解决方案,无需更改服务代码就可以启用它。这个解决方案:
- 为每个服务提供强大的身份,表示其角色,以实现跨群集和云的互操作性。 - 为每个服务提供强大的身份,表示其角色,以实现跨群集和云的互操作性。
- 保护服务到服务的通信。 - 保护服务到服务的通信。
- 提供密钥管理系统,以自动进行密钥和证书的生成,分发和轮换。 - 提供密钥管理系统,以自动进行密钥和证书的生成,分发和轮换。
- Request authentication用于终用户认证,以验证附加到请求的凭据。 Istio 使用 JSON Web TokenJWT验证启用请求级认证并使用自定义认证实现或任何 OpenID Connect 的认证实现(例如下面列举的)来简化的开发人员体验。 - Request authentication用于终用户认证,以验证附加到请求的凭据。 Istio 使用 JSON Web TokenJWT验证启用请求级认证并使用自定义认证实现或任何 OpenID Connect 的认证实现(例如下面列举的)来简化的开发人员体验。
- [ORY Hydra](https://www.ory.sh/) - [ORY Hydra](https://www.ory.sh/)
- [Keycloak](https://www.keycloak.org/) - [Keycloak](https://www.keycloak.org/)
- [Auth0](https://auth0.com/) - [Auth0](https://auth0.com/)
@ -119,7 +119,7 @@ Istio 通过客户端和服务器端 PEPs 建立服务到服务的通信通道
1. Istio 将出站流量从客户端重新路由到客户端的本地 sidecar Envoy。 1. Istio 将出站流量从客户端重新路由到客户端的本地 sidecar Envoy。
1. 客户端 Envoy 与服务器端 Envoy 开始双向 TLS 握手。在握手期间,客户端 Envoy 还做了[安全命名](/zh/docs/concepts/security/#secure-naming)检查,以验证服务器证书中显示的服务帐户是否被授权运行目标服务。 1. 客户端 Envoy 与服务器端 Envoy 开始双向 TLS 握手。在握手期间,客户端 Envoy 还做了[安全命名](/zh/docs/concepts/security/#secure-naming)检查,以验证服务器证书中显示的服务帐户是否被授权运行目标服务。
1. 客户端 Envoy 和服务器端 Envoy 建立了一个双向的 TLS 连接Istio 将流量从客户端 Envoy 转发到服务器端 Envoy。 1. 客户端 Envoy 和服务器端 Envoy 建立了一个双向的 TLS 连接Istio 将流量从客户端 Envoy 转发到服务器端 Envoy。
1. 授权后,服务器端 Envoy 通过本地 TCP 连接将流量转发到服务器服务。 1. 服务器端 Envoy 授权请求。如果获得授权,它将流量转发到通过本地 TCP 连接的后端服务。
Istio 将 `TLSv1_2` 作为最低 TLS 版本为客户端和服务器配置了如下的加密套件: Istio 将 `TLSv1_2` 作为最低 TLS 版本为客户端和服务器配置了如下的加密套件:
@ -147,17 +147,17 @@ Istio 双向 TLS 具有一个宽容模式permissive mode允许服务同
服务器身份Server identities被编码在证书里但服务名称service names通过服务发现或 DNS 被检索。安全命名信息将服务器身份映射到服务名称。身份 `A` 到服务名称 `B` 的映射表示“授权 `A` 运行服务 `B`"。控制平面监视 `apiserver`,生成安全命名映射,并将其安全地分发到 PEPs。 以下示例说明了为什么安全命名对身份验证至关重要。 服务器身份Server identities被编码在证书里但服务名称service names通过服务发现或 DNS 被检索。安全命名信息将服务器身份映射到服务名称。身份 `A` 到服务名称 `B` 的映射表示“授权 `A` 运行服务 `B`"。控制平面监视 `apiserver`,生成安全命名映射,并将其安全地分发到 PEPs。 以下示例说明了为什么安全命名对身份验证至关重要。
假设运行服务 `datastore` 的合法服务器仅使用 `infra-team` 身份。恶意用户拥有 `test-team` 身份的证书和密钥。恶意用户打算模拟服务以检查从客户端发送的数据。恶意用户使用证书和 `test-team` 身份的密钥部署伪造服务器。假设恶意用户成功攻击了发现服务或 DNS以将 `datastore` 服务名称映射到伪造服务器。 假设运行服务 `datastore` 的合法服务器仅使用 `infra-team` 身份。恶意用户拥有 `test-team` 身份的证书和密钥。恶意用户打算模拟合法服务以检查从客户端发送的数据。恶意用户使用证书和 `test-team` 身份的密钥部署伪造服务器。假设恶意用户成功劫持(通过 DNS 欺骗、BGP/路由劫持、ARP 欺骗等)发送到 `datastore` 的流量并将其重定向到伪造的服务器。
当客户端调用 `datastore` 服务时,它从服务器的证书中提取 `test-team` 身份,并用安全命名信息检查 `test-team` 是否被允许运行 `datastore`。客户端检测到 `test-team` 不允许运行 `datastore` 服务,认证失败。 当客户端调用 `datastore` 服务时,它从服务器的证书中提取 `test-team` 身份,并用安全命名信息检查 `test-team` 是否被允许运行 `datastore`。客户端检测到 `test-team` 不允许运行 `datastore` 服务,认证失败。
对于非 HTTP/HTTPS 流量,安全命名不能保护其免于 DNS 欺骗,如攻击者劫持了 DNS 并修改了目的地的 IP 地址。这是因为 TCP 流量不包含主机名信息Envoy 只能依靠目的地 IP 地址进行路由, 因此 Envoy 有可能将流量路由到劫持 IP 地址所在的服务上。而且甚至在客户端 Envoy 收到流量之前,也可能发生 DNS 劫持 请注意,对于非 HTTP/HTTPS 流量,安全命名不能保护其免于 DNS 欺骗,如攻击者劫持了 DNS 并修改了目的地的 IP 地址。这是因为 TCP 流量不包含主机名信息Envoy 只能依靠目的地 IP 地址进行路由, 因此 Envoy 有可能将流量路由到劫持 IP 地址所在的服务上。这种 DNS 欺骗甚至可以在客户端 Envoy 接收到流量之前发生
### 认证架构{#authentication-architecture} ### 认证架构{#authentication-architecture}
您可以使用 peer 和 request 认证策略为在 Istio 网格中接收请求的工作负载指定认证要求。网格运维人员使用 `.yaml` 文件来指定策略。部署后,策略将保存在 Istio 配置存储中。Istio 控制器监视配置存储。 您可以使用 peer 和 request 认证策略为在 Istio 网格中接收请求的工作负载指定认证要求。网格运维人员使用 `.yaml` 文件来指定策略。部署后,策略将保存在 Istio 配置存储中。Istio 控制器监视配置存储。
一有任何的策略变更,新策略都会转换为适当的配置,告知 PEP 如何执行所需的认证机制。控制平面可以获取公共密并将其附加到配置中以进行 JWT 验证。或者Istiod 提供了 Istio 系统管理的密钥和证书的路径,并将它们安装到应用程序 pod 用于双向 TLS。您可以在 [PKI 部分](/zh/docs/concepts/security/#PKI)中找到更多信息。 在任何的策略变更时,新策略都会转换为适当的配置,告知 PEP 如何执行所需的认证机制。控制平面可以获取公钥并将其附加到 JWT 验证的配置中。或者Istiod 提供了 Istio 系统管理的密钥和证书的路径,并将它们安装到应用程序 pod 用于双向 TLS。您可以在 [PKI 部分](/zh/docs/concepts/security/#PKI)中找到更多信息。
Istio 异步发送配置到目标端点。代理收到配置后,新的认证要求会立即生效。 Istio 异步发送配置到目标端点。代理收到配置后,新的认证要求会立即生效。

View File

@ -24,7 +24,7 @@ WebAssembly 沙盒的目标:
Istio 扩展Proxy-Wasm 插件)有几个组成部分: Istio 扩展Proxy-Wasm 插件)有几个组成部分:
- **过滤器服务提供商接口** 用于为过滤器构建 Proxy-Wasm 插件。 - **过滤器服务提供方接口SPI** 用于为过滤器构建 Proxy-Wasm 插件。
- **沙盒** 在 Envoy 中嵌入 V8 Wasm 运行时。 - **沙盒** 在 Envoy 中嵌入 V8 Wasm 运行时。
- **主机 API** 用于处理请求头,尾和元数据。 - **主机 API** 用于处理请求头,尾和元数据。
- **调出 API** 针对 gRPC 和 HTTP 请求。 - **调出 API** 针对 gRPC 和 HTTP 请求。