Snowpark Container Services (SPCS) 安全白皮书总结
文档目的与免责声明
本文档旨在阐述 Snowpark Container Services (SPCS) 的安全架构和措施,强调其在 Snowflake 平台上的数据治理和安全集成,以及如何简化容器化工作负载的部署、管理、扩展和安全。
SPCS 安全概述
SPCS 通过两个主要支柱构建:容器注册和计算,均由 Snowflake 提供和维护,确保安全性和易用性。Snowflake 负责管理容器注册基础设施、计算基础设施(网络、负载均衡、存储、操作系统更新和安全补丁)、Kubernetes 基础设施、容器 GPU 运行时、指标/日志、控制器、网络与通信、负载均衡/应用网关等,客户无需处理底层操作复杂性。
数据治理与安全一体化平台
SPCS 构建在 Snowflake 平台的高标准之上,客户数据存储在 Snowflake 中,利用其高可用性和保护功能(如时间旅行、跨区域、跨云高可用性)。Snowflake 的深度防御层包括网络访问控制、端到端可观察性、身份和访问管理、数据治理等,确保数据安全。
SPCS 安全架构
SPCS 组件部署在 Snowflake 云基础设施中,通信通过 Snowflake 内部网络进行私有传输,并利用 TLS 加密。每个客户拥有专属的集群(控制器和计算池),通过安全组隔离,确保安全边界。
计算池安全
计算池由客户创建,Snowflake 自动分配和取消分配控制器,并定期更新操作系统和驱动程序。节点最长运行一个月,随后被新节点替换,维护窗口为 30 分钟。
控制器安全性
控制器由 Snowflake 自动管理,客户无法访问。控制器节点定期更新,故障时自动重建,配置存储在云服务层,利用 Snowflake 高可用性。
服务安全
服务通过指定规格、计算池以及最小/最大实例定义,Snowflake 自动进行负载均衡。服务实例在单个节点上运行,可通过内部主机名通信。
图像注册安全
Snowflake 配置和编排符合 OCIv2 规范的底层镜像注册库基础设施和安全。镜像注册库通过每个客户的完全合格域名访问,支持 Docker CLI 推送/拉取,并利用内部阶段加密。
SPCS 审计与监控
Snowflake 提供并维护日志容器,客户可监控和访问容器日志。此外,客户可安装专业安全扫描容器,并与现有外部容器安全工具集成。
通信安全
服务间通信通过 Snowflake 内部网络进行,利用负载均衡、DNS 命名和解析功能。服务间通信有两种模式:同一服务实例内使用 localhost 和定义的端口号,跨服务和服务实例使用自动配置的完全限定域名。
雪花到服务通信
Snowflake 通过用户定义函数(UDF)类型提供服务功能,使用 M-TLS 调用内部服务,并自动使用服务所有者角色进行身份验证。
服务至雪花通信
服务自动使用服务所有者角色,通过 Snowflake OAuth 提供的临时凭据连接到底层 Snowflake 账户,创建临时用户和访问令牌。
服务至其他 Snowflake 账户
客户可启用出口通道,允许服务连接到其他 Snowflake 账户,通过 TLS 1.2 通过 Snowflake 管理的出口代理集群建立连接。
入口访问
Snowflake 自动提供和保护公共端点,默认自动应用访问控制,客户可使用网络策略限制访问。入网代理移除被禁止/有害的 HTTPS 方法,并应用于响应。
结论
Snowpark Container Services 对传统的容器服务进行了前所未有的简化和强化,客户可专注于应用程序,无需承担基础设施负担。Snowflake 将安全性作为核心,以更高效、更安全地部署、管理和扩展全栈应用程序、大型语言模型(LLMs)和其他容器化工作负载。