您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[Snowflake]:2024年雪地公园集装箱服务安全体系结构报告 - 发现报告

2024年雪地公园集装箱服务安全体系结构报告

2024-10-12-Snowflake郭***
AI智能总结
查看更多
2024年雪地公园集装箱服务安全体系结构报告

2024年5月 SPCS 安全白皮书 3 文档目的和免责声明 6 雪花容器服务安全概述一个平台上的8项数据治理和安全措施4 引言 8 雪域容器服务安全架构 9SPCS控制器安全9SPCS 计算池安全10SPCS 服务安全11SPCS 图像库安全13SPCS 审计与监控 14 SPCS 通信安全 151617181920服务到服务通信(SPCS Service to Service Communication)SPCS 雪花服务通信SPCS 服务至 Snowflake 通信SPCS 服务其他 Snowflake 账户SPCS 入侵访问SPCS 出口访问 20 结论 SPCS 安全白皮书 2 2 文档目的与免责声明 (在公共预览中),是一个附加代码执行环境雪域集装箱服务滑雪公园 支持开发人员无障碍部署、管理及扩展容器化工作量(作业、服务、服务函数)——使用配置可选GPU的 雪層管理安全基础架构。这款完全管理的容器化方案旨在简化全栈应用程序、LLM(大型语言模型)及其他复杂数据产品的部署、管理、扩展和安全,使它们能够在Snowflake中安全且高效地运行。在此白皮书中,我们将重点关注雪層如何加强和提高容器部署的安全性,同时简化开发人员的体验,使他们能将重点放在核心商业应用上,而不是基础设施的安全和运营。 本文将讨论计算、存储、通信安全及保护机制及其运作方式。欲了解Snowpark容器服务的全面概述,请访问我们的网站。为了更全面地了解其能力。我们的文档教程 由赛思·尤瑟夫(Seth Youssef) 主要产品经理穆兹·伊玛姆, 德雷克·邓尼·布朗,主要软件开发工程师 3 Snowpark Container Services(SPCS)是一种全面管理的容器服务,旨在简化在云中部署容器的整体流程。无论您是否熟悉Kubernetes或渴望学习,了解Kubernetes和SPCS在术语上的区别和重叠是至关重要的。 •:服务 4 5 雪域集装箱服务安全概览 发展重于管理安全的复杂性。如图2所示,以下层提供了必要的安全控制措施: 这个托管容器服务由两个主要支柱构建: •容器注册:Snowflake透明地提供和维护图像注册基础设施,包括网络、负载均衡、存储操作系统更新和安全补丁。 •安全至关重要:箱式安全模型符合Snowflake的高级安全标准。 •易用性:大多数现代集装箱服务基础设施的建设和维护可能相当复杂;然而,Snowpark集装箱服务旨在通过提供独特的用户体验来隐藏复杂性,让开发者可以专注于构建应用程序并启用其关键业务功能,而无需烦恼于管理基础设施。 •存储:任何相关的存储,如镜像注册存储和容器挂载卷,都由Snowflake提供和保障。此外,存储在Snowflake账户中的任何数据都受到Snowflake数据安全和平台内集成的数据治理能力的保护。了解更多关于我们集成的安全和治理方案。雪花视界. 除了与Snowflake治理和安全功能原生集成外,SPCS还简化了部署带有集成镜像库、弹性计算基础设施、完全管理的基于Kubernetes的集群等容器镜像的复杂性。在图2中,我们概述了所有由Snowflake管理和保障的组件,以便客户可以部署和使用容器镜像,而无需处理底层的操作复杂性。 •计算:Snowflake透明地为宿主操作系统和容器操作系统提供和维持计算基础设施,包括网络、负载均衡、存储、操作系统更新和安全补丁。在应用某些更新时,如果需要强制系统重启,Snowflake会提供带有新加固镜像的额外节点,并透明地将容器重新部署到这些节点上,而不会影响客户业务。此外,Snowflake承担满足服务和安全目标所需的额外节点的资源成本,而不将此负担转嫁给客户。 作为易用性体验的一部分,Snowflake在容器基础设施的每一层都提供和协调关键的安全操作,这有助于客户专注于他们的应用程序。 6 •身份验证:客户可以利用 Snowflake 用户身份来与 Snowpark 容器服务进行交互,这样这些用户可以通过手动方式或通过以下方式进行配置:SCIM. •容器编排服务:Snowflake 透明地维护 Kubernetes 基础设施,包括网络、负载均衡、存储 OS 更新和安全补丁。 身份验证和授权在各种容器之间自动处理,透明无感。当服务或功能需要访问您Snowflake账户中的任何数据时,Snowflake的身份验证和访问控制会自动应用,无需在传统容器平台上为每个数据存储维护单独的访问控制;更多关于此的信息,请参阅数据治理与安全一体化平台章节 •容器GPU运行时间:雪花公司透明地维护和更新Nvidia驱动程序。 •指标/日志:雪花(Snowflake)在所有节点上使用容器自动配置和管理日志收集功能,该功能自动向客户提供开箱即用的审计日志. •控制器:Snowflake提供并维护控制层基础设施,包括网络、负载均衡、存储操作系统更新和安全补丁,这些操作都是透明的。 如您从上述列表中可以看出,借助Snowpark容器服务,团队可以专注于他们的应用程序,而Snowflake则负责提供和维护默认安全的容器基础设施。根据我们的经验,上述每个组件都需要大量的努力来持续维护高标准的安全性和便于开发者使用。 •网络与通信:Snowflake配备和编排所有容器基础设施的网络组件,包括路由、代理、防火墙、DNS,使用相互TLS的安全性通信和证书管理。 •负载均衡/应用网关:雪花云提供并维护所有负载均衡和应用网关基础设施,以实现规模扩展,并在Snowflake账户内提供安全的出入访问通信。 数据治理与安全一体化平台 SPCS-specific安全构建在Snowflake平台的高标准之上安全并且数据治理. 7 •客户数据存储在Snowflake中,利用Snowflake内置的高可用性和保护功能,例如:时间旅行并且安全可靠的除Snowflake提供的跨区域、跨云高可用性之外业务连续性和灾难恢复。 通过部署Snowpark容器,数据保持在Snowflake的安全和治理边界内。任何对数据的访问都必须通过Snowflake的深度防御层: •网络访问控制,例如网络策略、通过TLS在传输过程中的数据加密。 •端到端可观察性:客户可以全面了解他们的数据处理和SPCS日志,例如谱系,访问历史,账户使用并且服务监控与日志 •身份和访问管理:Snowflake支持OAuth,SAML,密钥对,用户名和密码认证方法。 •数据治理:任何基于角色的访问控制、动态数据屏蔽策略和行访问策略将自动应用。因此,当数据在传统容器基础设施中移动时,与传统平台中的基础设施相比,客户不需要维护不同数据副本和不同的访问控制功能。 •最后,雪花视界是上述所有内容的框架,除了不断扩大的Snowflake产品组合之外。安全与合规报告。 SNOWPARK CONTAINER SERVICES 安全架构 组件列表 1 中列出的组件部署在 Snowflake 云基础设施环境中,这些组件之间的所有通信都通过 Snowflake 内部网络基础设施进行私有传输,并且利用TLS 对数据流进行加密。 •雪花服务中的客户数据已加密。默认使用AES 256位加密,传输中使用TLS 1.2, 对于服务间通信,Snowflake提供并维护M-TLS。 8 每个客户都有一个专属的集群,该集群包括控制器和计算池;这些构成了客户的安全边界,并且通过安全组与其他客户隔离。例如,客户A的容器不能直接与客户B的容器进行通信;唯一的通信方式是客户B发布一个公开可访问的端点,而客户A将通过出口代理进入,然后通过入口代理进入客户B的公共端点。同时,客户A可以通过Snowflake内部网络与所有其容器及其相关的Snowflake账户进行内部通信。关于这一点,请参阅...通信安全章节 计算池安全 客户使用SQL等创建计算池。 创建计算池 tutorial_compute_pool,最小节点数为2,最大节点数为3,实例家族为 GPU_NV_M; 客户创建计算池,使用Python例如 new_compute_pool_def= ComputePool(名称=\"MyComputePool\" 实例家族=\"CPU_X64_XS\", 最小节点数=1, 最大节点数=2, ) 控制器安全性 Snowflake自动分配和取消分配控制器。客户无法访问控制器。这有助于开发者专注于他们的应用程序,而不是构建和维护控制器的基础设施。Snowflake工程师维护这些控制器的可用性,在出现任何故障的控制器时,它们将自动重建。 new_compute_pool = api_root.compute_pools.create(new_compute_pool_def) 计算池是服务/作业可以运行的信任边界,也是一组相似的节点。客户可以选择实例系列,Snowflake会自动配置节点。此外,作为维护的一部分,Snowflake负责升级操作系统和驱动程序,并且我们会修补在那些节点上发现的任何安全漏洞。特定的节点可能最多运行一个月,然后SPCS将淘汰它,并用一个新更新的节点替换它。预期的维护窗口为30分钟。有关更多详细信息,请参阅。文档. 控制器节点并非永久。雪花云系统会定期在维护过程中更新操作系统、驱动程序,并对节点上的安全漏洞进行修复。特定的节点可能持续运行最长一个月,然后雪花云会将这些节点淘汰,并用新的更新版本替换它们。对于控制器节点的故障,客户是透明的,因为雪花云会自动重建这些节点。配置存储在雪花云服务层的云服务层中,该层利用了内建的雪花高可用性. 如图3所示,Snowflake根据客户规格控制服务实例可以运行在哪个节点上。这意味着一个节点可以运行一个或多个服务实例/作业。多个服务可以使用同一个计算池,或者客户可以拥有多个计算池,并根据其功能和安全需求为每个服务或作业分配一个计算池。 最后,控制器的节点在其自己的网络安全组中运行,该组控制与计算池的所有通信。 9 服务安全 创建服务echo_service在计算池tutorial_compute_pool中[从@tutorial_stage -> 从哪里加载规格的阶段 SPEC=’echo_spec.yaml’][从规范$$ ... $$ -> Orc可以定义在内联]最小实例数=1 -> 最小实例数最大实例数=1; -> 最大实例数 服务定义是定义在Snowpark容器服务中运行的服务/作业许多方面的主要组件。欲获取服务规范的完整列表,请访问我们的网站。文档. 您通过指定规格、计算池以及此服务的最小/最大实例来定义一项服务,以便Snowflake可以自动在这它们之间进行负载均衡。 10 该服务具有以下属性: 图像注册安全 雪花公司配置和编排了符合OCIv2规范的底层镜像注册库基础设施和安全。镜像注册库可以通过每个客户的完全合格域名进行访问,例如:<orgname>-<acctname>.registry.snowflakecomputing.com. •服务实例在单个节点上运行。Snowflake协调其他可用节点上的额外实例运行。 •一个服务可以有多个容器,同一节点上的容器使用节点localhost进行通信。 图像注册具有以下属性: •容器跨越同一服务的服务和服务实例,通过内部主机名(例如)进行通信。(服务名.模式名.数据库名.snowflakecomputing.internal) •图像注册库可以拥有多个存储库。存储库可以通过“创建存储库”命令创建,角色可以在存储库中读取、写入或拥有所有权权限,具体细节请参阅我们的文档.•图像注册是基于Snowflake账户内部阶段构建的。 •Snowflake管理Kubernetes的所有负载均衡方面,因为客户无法访问底层基础设施。 雪花系统管理所有DNS命名解析。 •客户可以使用Docker CLI进行图像的推送/拉取。 •该