Cloud Service Mesh 安全概览

Cloud Service Mesh 与 Istio API 安全防护可帮助您缓解内部威胁 同时确保所有通信内容都能降低数据泄露的风险 必须进行加密、相互身份验证和授权。

传统上,使用基于 IP 的规则的微细分用于缓解内部风险。但是,如果将采用的容器、共享服务和分布式生产环境分布在多个云中,则这种方法的配置和维护起来会更加困难。

借助 Cloud Service Mesh,您可以配置一个服务层, 情境感知请求情境感知网络威胁防护, 底层网络的安全性因此 借助 Cloud Service Mesh,您可以采用 与零信任安全原则保持一致。它可以帮助您实现 并且无需修改任何应用代码。

双向 TLS

Cloud Service Mesh 使用双向 TLS (mTLS) 进行对等身份验证。 身份验证指的是身份信息:谁是此服务?这位最终用户是谁? 我是否可以相信真实情况?

mTLS 能够帮助工作负载彼此进行身份验证。您可能熟悉如何在 HTTPS 中使用简单 TLS,以允许浏览器信任 Web 服务器以及加密交换的数据。使用简单 TLS 时,客户端会验证服务器证书,从而信任该服务器。mTLS 是 TLS 的一种实现,在这种协议中,客户端和服务器互相提供证书并验证彼此的身份。

mTLS 是 Cloud Service Mesh 实现 身份验证加密

在 Cloud Service Mesh 中,自动 mTLS 默认处于启用状态。对于自动 mTLS, 客户端边车代理会自动检测服务器是否有 Sidecar。通过 客户端 Sidecar 向具有 Sidecar 的工作负载发送 mTLS,并将纯文本 没有 Sidecar 的工作负载。但请注意,服务会接受纯文本和 mTLS 流量。为了保护您的服务网格,我们建议您迁移服务,使其仅接受 mTLS 流量。

如需详细了解如何仅强制执行 mTLS,请参阅 Cloud Service Mesh 示例:mTLS

安全优势

Cloud Service Mesh 具有以下安全优势:

  • 降低使用被盗凭据重放或冒充别人攻击的风险。Cloud Service Mesh 依赖 mTLS 证书来实现 对对等体进行身份验证, JSON 网络令牌 (JWT)。 由于 mTLS 证书与 TLS 通道绑定, 通过创建或允许外部实体来模拟其他实体, 重放身份验证令牌,而不访问私钥。

  • 确保传输加密。使用 mTLS 进行身份验证还可确保所有 TCP 通信在传输过程中都经过加密。

  • 确保只有获得授权的客户端才能访问包含敏感数据的服务。只有经过授权的客户端才能访问包含敏感数据的服务,而不考虑客户端的网络位置和应用级层凭据。您可以指定只有具有授权服务身份或授权 Kubernetes 命名空间中的客户端才能访问服务。您 还可以使用基于 IP 的访问政策向已部署的客户端授予访问权限, 位于网格外的客户端

  • 降低您的生产网络中发生用户数据泄露的风险。您可以确保内部人员只能通过获授权的客户端访问敏感数据。此外,您可以确保某些客户只能 如果客户端可以提供有效的短期用户令牌,则向用户数据发送权限。 这样可以降低单个客户端凭据被盗的风险 授予攻击者访问所有用户数据的权限。

  • 识别哪些客户端访问了包含敏感数据的服务。Cloud Service Mesh 访问 mTLS 记录功能会捕获 以及 IP 地址之外因此,您可以了解 即使工作负载是临时的、动态的 另一个集群或 Virtual Private Cloud (VPC) 网络中。

特性

本部分介绍 Cloud Service Mesh 提供的功能, 实现其安全优势。

自动证书和密钥轮替

使用基于服务身份的 mTLS 可以加密所有 TCP 通信,并为访问权限控制提供更安全的不可重放凭据。大规模使用 mTLS 的一项关键挑战在于管理所有目标工作负载的密钥和证书。Cloud Service Mesh 负责处理 针对网格工作负载轮替 mTLS 密钥和证书,而不会中断 通信。配置较小的证书刷新间隔可以降低风险。

Cloud Service Mesh 证书授权机构

Cloud Service Mesh 包含托管式多区域专用通道, 证书授权机构 Cloud Service Mesh 证书授权机构,用于为 mTLS。Cloud Service Mesh 证书授权机构是一项高度可靠且可伸缩的服务, 针对云平台上动态扩缩的工作负载进行了优化。包含 Cloud Service Mesh 证书授权机构,Google 负责管理 CA 后端。Cloud Service Mesh 证书授权机构允许您依赖于单个信任根 运行多个集群使用 Cloud Service Mesh 证书授权机构时,您可以依赖 身份池提供粗粒度隔离。默认情况下,身份验证 如果客户端和服务器不在同一个工作负载身份池中,则会失败。

Cloud Service Mesh 证书授权机构提供的证书包含以下数据: 应用的服务:

  • Google Cloud 项目 ID
  • GKE 命名空间
  • GKE 服务账号名称

Certificate Authority Service

作为 Cloud Service Mesh 证书授权机构的替代方案,您可以 Cloud Service Mesh,以使用适用于 以下用例:

  • 您需要不同的证书授权机构对不同集群上的工作负载证书签名。
  • 您需要将签名密钥备份到代管式 HSM 中。
  • 您从事的要是严格监管的行业,且需要遵守法规。
  • 如果您想要将 Cloud Service Mesh CA 链接到自定义 企业根证书,用于对工作负载证书进行签名。

Cloud Service Mesh 证书授权机构的费用包含在 Cloud Service Mesh 价格。CA Service 的费用不是 包含在 Cloud Service Mesh 基本价格中,相应费用 。此外,CA Service 具有明确的 SLA 但 Cloud Service Mesh 证书授权机构不执行此操作。

对于此集成,Cloud Service Mesh 中的所有工作负载都会获得两个 IAM 角色:

身份感知访问权限控制(防火墙)政策

借助 Cloud Service Mesh,您可以配置网络安全政策 而非对等 IP 地址的 mTLS 身份。这样, 可创建与工作负载的网络位置无关的政策。 仅支持在同一 Google Cloud 项目中的集群之间进行通信。

请求声明感知访问权限控制(防火墙)政策

除了 mTLS 身份外,您还可以根据 HTTP 或 gRPC 请求的 JWT 标头中的请求声明授予访问权限。借助 Cloud Service Mesh 断言 JWT 由可信实体签名。这意味着您可以 配置政策,仅允许某些客户端访问 声明存在或与指定值匹配。

使用 Identity-Aware Proxy 进行用户身份验证

对访问网站上公开的任何服务的用户进行身份验证 Cloud Service Mesh 入站流量网关 Identity-Aware Proxy (IAP)。IAP 可以对用户进行身份验证 集成了自定义身份提供方 并颁发短期有效的 JWT 令牌或 RCToken, 在 Ingress 网关或下游服务(通过使用 Sidecar)进行访问。 如需了解详情,请参阅 将 IAP 与 Cloud Service Mesh 集成

使用您现有的身份提供商进行用户身份验证

您可以将现有身份提供方与 Cloud Service Mesh 集成, 提供基于浏览器的最终用户身份验证和访问权限控制机制, 部署的工作负载如需了解详情,请参阅 配置 Cloud Service Mesh 用户身份验证

访问日志记录和监控

Cloud Service Mesh 可确保 Google Cloud 可观测性,并提供集成式信息中心 了解基于这些数据的服务或工作负载的访问模式。

符合 FIPS 要求

数据平面组件使用 已通过 FIPS 140-2 验证的加密方式 模块。

限制

Cloud Service Mesh 安全具有以下限制:

  • 使用 IAP 的用户身份验证要求将服务发布到互联网。IAP 和云服务网格 您可以配置政策,仅允许已获授权的用户进行访问, 允许其位于允许的 IP 范围内。如果您选择仅向 同一网络中的客户端,则需要配置一个自定义政策引擎 进行用户身份验证和令牌颁发。

后续步骤