Snowflake CoCo跨区域推理配置与合规指南
译文 AI 逐段翻译
你的团队想要CoCo。你的账户在eu-central-1。安全团队有人在文档中读到了“跨区域”一词,并暂停了上线以等待审查,当这样的短语出现在数据驻留上下文中时,这样做是合理的。通常但不正确的假设是,跨区域意味着数据离开欧盟。
这个假设值得认真对待,而且是可以回答的。你可以将跨区域推理(CRI)的范围限定为仅欧盟区域,流量运行在你云提供商的私有骨干网上,在大多数审查中,这两个事实足以获得批准。这两点背后的机制在跨区域推理:它是什么,启用它实际上涉及什么中有详细说明。
首先检查当前设置
在写任何内容之前,了解账户实际设置是很有帮助的:
SHOW PARAMETERS LIKE ‘CORTEX_ENABLED_CROSS_REGION’ IN ACCOUNT;这里的默认值是有条件的,取决于账户创建时间、区域和账户类型,并且已经多次更改。有一个陷阱容易让人困惑:默认值仅在没有人设置显式值时适用。将DISABLED设置为显式值。因此,如果同事通过禁用参数解决了早期安全问题,账户将保持在他们离开时的状态,你将自行设置范围。
为什么你完全需要它
CoCo运行在大语言模型上,并非每个模型都部署在每个Snowflake区域。这意味着CoCo需要跨区域推理才能运行。你控制的部分是请求被允许去哪里,而这正是你的审查人员关心的部分。
仅限欧盟的配置
这是一个单一语句,应用于账户级别,只有
ACCOUNTADMIN可以运行它。ORGADMIN不能。
-- AWS-based accounts:
ALTER ACCOUNT SET CORTEX_ENABLED_CROSS_REGION = 'AWS_EU';
-- Azure-based accounts:
ALTER ACCOUNT SET CORTEX_ENABLED_CROSS_REGION = 'AZURE_EU';这些值仅路由到你提供商上的欧盟成员国区域,不会静默回退到美国区域。确切的目的地列表位于CORTEX_ENABLED_CROSS_REGION参数参考中,仔细阅读会有所收获。Azure爱尔兰(northeurope)值得注意,因为它让人惊讶:它不在AZURE_EU目的地列表中。
如果你在伦敦(eu-west-2 / uksouth)或苏黎世(eu-central-2 / switzerlandnorth),则有一个范围说明:这些账户在英国的GDPR或瑞士的FADP下运行,这两个区域本身都不是欧盟目的地,因此你的足迹分析将不同于欧盟成员国的情况。
如果你在GCP欧盟
没有GCP_EU值。Snowflake在欧洲运行GCP区域,但它们没有欧盟范围的跨区域选项。你的选择是GCP_GLOBAL(包括美国区域)、ANY_REGION或没有CoCo。如果你在欧洲的GCP上并且需要仅限欧盟的推理,正确的做法是向你的账户团队提出。
你的安全团队想要记录的内容
当CRI将请求从你的法兰克福账户路由到托管在都柏林或斯德哥尔摩的模型时,该流量保持在你云提供商的私有骨干网上。因为路由保持在同一CSP内,它永远不会触及公共互联网。这个属性是AWS_EU和AZURE_EU保证的。
在审查文档中,四个事实往往起到作用:
- 没有公共互联网暴露。欧盟数据中心之间的CSP内部基础设施,传输中加密。
- 处理区域中不持久化任何内容。推理负载是瞬时的,你存储的客户数据永远不会离开你的主区域。
- 数据留在欧盟/欧洲经济区边界内。每个记录的目的地都是欧盟成员国区域,文档还增加了一项前瞻性承诺:这些区域是“位于(并将位于)欧盟内部”的区域。
- 计费保持本地。积分在你的请求区域消耗,跨区域推理不产生出口费用。
如果你的审查人员想要独立验证骨干网的说法,提供商文档是他们应该去的地方:AWS全球网络、Microsoft全球网络。
在法律方面,欧盟范围限制消除了“我们的数据去了美国”的反对意见,这通常是阻止审查的具体关切。你的DPO仍将希望审查Snowflake的DPA和子处理者列表,就像他们会对任何其他云服务所做的那样,该审查与你刚刚回答的路由问题分开。
Azure管理员:首先检查模型表
在将Azure账户的范围限定为AZURE_EU之前,确认受支持的模型在那里可达。Azure欧盟(跨区域)列没有Anthropic模型,因此检查区域可用性表对于该范围,并在告诉开发人员安装之前对照CoCo的模型选择器进行确认。
在AWS上这不是问题。AWS_EU为你提供了大部分Claude系列以及开放权重模型,这对CoCo来说足够了。
三个步骤
- 运行上面的SHOW PARAMETERS检查。你可能已经限定了范围。
- 作为ACCOUNTADMIN,设置AWS_EU或AZURE_EU。
- 在Azure上,在上线前根据该范围验证模型可用性。
你还可以设置账户范围的默认编排模型,如果你的范围很窄,这值得做:
USE ROLE ACCOUNTADMIN;
CREATE OR REPLACE AGENT CORTEX_CODE.CONFIG.DEFAULT
FROM SPECIFICATION
$$
models:
orchestration: [insert default model here]
$$;
GRANT USAGE ON DATABASE CORTEX_CODE TO ROLE PUBLIC;
GRANT USAGE ON SCHEMA CORTEX_CODE.CONFIG TO ROLE PUBLIC;
GRANT USAGE ON AGENT CORTEX_CODE.CONFIG.DEFAULT TO ROLE PUBLIC;使用限定的范围值,设置默认值提供了更多的可预测性:检查你的范围的可用性表,如果受支持的模型在那里可达,则按上述方式命名。
走进审查
大部分工作是澄清引发对话的短语。在此配置中,“跨区域”意味着欧盟内部的跨区域,在私有提供商光纤上,主区域之外不持久化任何内容。
三个工件通常给审查人员做出决定所需的内容:显示边界已设置的SHOW PARAMETERS输出、确认目的地列表仅限欧盟的参数参考,以及上述四个技术事实。这是一个你的安全团队可以批准的一揽子方案,它让你能够回答后续问题,而不是让他们凭信仰接受。
如何在EMEA为CoCo设置跨区域推理最初发表在Snowflake Builders Blog: Data Engineers, App Developers, AI, & Data Science的Medium上,人们在那里通过高亮和回应这个故事来继续对话。