本页面介绍了如何为 Google Distributed Cloud 制定良好的安全做法。本页面上的指导并非旨在全面列出最佳做法。
在 Google Distributed Cloud 上使用良好的安全做法涉及应用 Kubernetes 和 Google Kubernetes Engine (GKE) 中的概念以及 Google Distributed Cloud 独有的概念。
Kubernetes 安全
我们建议您在使用 Google Distributed Cloud 时遵循常规的 Kubernetes 安全准则。
如需了解 Kubernetes 安全准则,请参阅 Kubernetes 文档中的安全核对清单和云原生安全概览。
GKE 安全
Google Distributed Cloud 扩展了 GKE,允许您在自己的本地 Linux 服务器上创建 GKE 集群。如需详细了解 GKE 安全,请参阅 GKE 安全概览。在阅读本文时,请注意,由于您的控制层面和节点在本地运行,因此针对控制层面安全和节点安全不适用。
Google Distributed Cloud 安全性
以下部分提供了有关为 Google Distributed Cloud 制定良好安全做法的指南。
硬件安全
借助业界标准的物理安全和安全功能,保护本地数据中心的安全。
确保对管理员工作站的访问受到严格限制。管理员工作站存储敏感数据,例如
kubeconfig
文件、SSH 密钥和服务账号密钥。
节点安全
- 通过更新软件包和安装安全补丁,使您的操作系统保持最新。
集群安全
使用管理员和用户集群部署来隔离流量和数据。此部署类型可帮助您实现以下类型的隔离:
- 工作负载流量与管理平面流量隔离。
- 集群访问权限按群组或角色隔离。
- 生产工作负载与开发工作负载隔离。
将集群升级到受支持的版本。使用受支持的版本可为您提供以下安全优势:
- 修复安全漏洞。
- 利用最新安全状况和技术的新功能。
- 更新捆绑软件和组件。
工作负载安全
使用 Binary Authorization 保护工作负载。Binary Authorization 是 Google Cloud 中的一项服务,为在云端运行的应用提供软件供应链安全性。通过 Binary Authorization,您可以确保在将应用部署到生产环境之前,已成功完成保护软件质量和完整性的内部过程。
请使用 Workload Identity 向 Pod 授予访问 Google Cloud 资源的权限。Workload Identity 允许 Kubernetes 服务账号作为 IAM 服务账号运行。以 Kubernetes 服务账号运行的 Pod 拥有 IAM 服务账号的权限。
网络安全
在 Google Distributed Cloud 和 Google Cloud 之间选择安全连接。完成基础连接后,添加可增强连接安全性的功能。
通过将集群安装在代理后面并创建防火墙规则,限制集群对公共互联网的公开程度。此外,在网络环境中使用适当的控制措施来限制对集群的公开访问。
身份验证安全
使用 GKE Identity Service 管理身份。GKE Identity Service 是一项身份验证服务,可让您将用于身份验证的现有身份解决方案引入多个 Google Kubernetes Engine (GKE) Enterprise 版本的环境。您可以通过命令行(所有提供方)或 Google Cloud 控制台(仅限 OIDC)登录并使用 Google Distributed Cloud 集群,所有这些都使用现有的身份提供方。
使用 Connect 网关连接到已注册的集群。Connect 网关以舰队的强大功能为基础,使 GKE Enterprise 用户能够以简单、一致且安全的方式连接到已注册的集群并对其运行命令。
凭据安全
轮替证书授权机构。 Google Distributed Cloud 使用证书和私钥对集群中系统组件之间的连接进行身份验证和加密。为了维护安全的集群通信,请定期轮替用户集群证书授权机构,并在可能出现安全漏洞时轮替。
轮替服务账号密钥。为降低泄露的密钥造成的安全风险,我们建议您定期轮替服务密钥。
监控您的安全状况
- 使用 Kubernetes 审核日志记录。 通过审核日志记录,管理员可以对 Google Distributed Cloud 环境中发生的事件进行保留、查询、处理和提醒。
如需详细了解如何监控集群安全性,请参阅监控舰队安全状况。