保护数据对于在 Kubernetes 环境中保持机密性、完整性和可用性至关重要。 本文概述了保护机密、加密静态数据和传输中的数据以及规划群集恢复的策略。 遵循这些做法有助于保护敏感信息并支持业务连续性。
将机密值(密码、密钥等)保存在保管库中,例如 Azure Key Vault。 将这样的机密永久保存在保管库内,确保它们仅用于保管库内的签名或加密操作,是一种良好的做法。 但是,对于本地群集,您可能无法可靠地维护与此保管库的云连接,因此无法确保在需要时始终可以使用机密。
如果是,请考虑 使用适用于 Kubernetes 的 Azure Key Vault 机密存储扩展(预览版) (“SSE”)。 此扩展可帮助自动同步 Azure Key Vault 中的所选机密,并将其存储在已启用 Azure Arc 的 Kubernetes 群集的 Kubernetes 机密存储中供脱机使用。
如果您在本地运行由 Azure Arc 启用的 AKS,那么将限制对存储 Kubernetes 机密的配置存储等组件(如 etcd)的直接访问。 此外,它还有一个内置的 KMS 插件,可帮助自动加密这些机密。 此插件生成 密钥加密密钥 (KEK),将其与基础 Windows 主机中的群集隔离开来,并每隔 30 天自动轮换一次。
如果通过已启用 Arc 的 Kubernetes 连接自己的群集,请遵循供应商的指导,帮助确保 etcd 受到保护,并加密机密。
规划如何从群集丢失中恢复。 如果您在 Azure 本地或其他高可用性选项上使用由 Azure Arc 启用的 AKS,它可以帮助防范常规的硬件故障。 但是,群集仍可能由于影响整个网站的事故或网络攻击而丢失。
目标是将所有配置和数据从云中获取并同步回云端。 此同步意味着恢复群集就像初始激活一样。 请考虑使用 GitOps 和 Flux 配置群集,使用机密存储扩展同步 Azure Key Vault 机密(预览版)。
或者,可能仍需要考虑使用专用群集备份解决方案,例如 Velero。 例如,如果某些数据的唯一副本存储在群集中,或者需要额外的保护,则可能需要解决方案。