Snowflake Native App 安全要求和准则¶
本主题概述了开发 Snowflake Native App 时应遵守的安全要求和准则。它还提供了有关向使用者发布应用程序时进行的自动安全扫描和审查流程的一般信息。
小心
您有责任确保没有个人数据、敏感数据、出口管制数据或其他受监管数据输入到您的应用程序包的任何文件中。
Snowflake Native App 安全要求概述¶
Snowflake Native App Framework 提供了提供商在开发 Snowflake Native App 时必须遵循的安全要求和最佳实践。有关应用程序的安全要求和最佳实践,请参阅 Snowflake Native App 的安全要求和最佳实践。有关使用容器的应用程序的安全要求,请参阅 保证 Snowflake Native App with Snowpark Container Services 的安全。
要向使用者发布应用程序,无论是作为专用列表还是在 Snowflake Marketplace 上发布,Snowflake 都会实施安全审查流程,该流程需要对应用程序的组件进行安全扫描。如果应用程序未通过自动安全审查,则需要进行手动审查。
所有发布给使用者的应用程序都必须通过此安全审查。
潜在安全风险¶
以下是运行应用程序时可能出现的一些安全风险:
数据泄露:
恶意应用程序可能会将使用者数据复制到外部函数或日志中。
计算滥用:
应用程序可能会执行未经授权的任务,例如加密货币挖矿,费用由使用者承担。
勒索软件
应用程序可能会加密或损坏使用者数据,并索要恢复费用。
权限升级:
应用程序可能会尝试在使用者账户中获取未授予的权限。
为了减轻这些以及其他可能的安全风险,Snowflake Native App Framework 使用安全审查来评估应用程序的安全风险,并确保采用安全最佳实践。
自动安全审查¶
为了降低潜在的安全风险,Snowflake 采用了 Native App Anti-Abuse Pipeline Service (NAAAPS)。此服务使用各种工具自动扫描所有新的应用程序版本,以确定应用程序是否可以分使用者。
创建应用程序的新版本或补丁时,系统会触发此自动安全审查。该审查会执行以下操作:
将应用程序复制到用于扫描应用程序的专用 Snowflake 账户。
扫描与应用程序关联的文件并更新安全审查状态。
自动批准应用程序或启动应用程序手动审查。
Snowflake 将发送自动拒绝通知,以减少提供商的必要响应等待时间。手动审查过程中,可以批准或拒绝应用程序。
安全审查期间使用的扫描程序和工具¶
自动安全审查使用以下扫描程序和工具执行以下操作,分析应用程序的不同组件:
扫描代码中的错误、反模式和安全漏洞。
扫描恶意软件代码。
识别应用程序依赖项中的漏洞。
这些流程有助于检测各种安全问题,例如数据泄露、勒索软件、计算滥用、权限提升和动态代码执行。
应用程序安全要求和最佳实践¶
所有应用程序都必须符合 Snowflake Native App 的安全要求和最佳实践 中规定的安全要求。
备注
随着 Snowflake 继续监控新的潜在风险,安全要求可能会发生变化。
Snowflake Native App with Snowpark Container Services 安全注意事项¶
有关 Snowflake Native App with Snowpark Container Services 的其他安全要求的信息,请参阅 保证 Snowflake Native App with Snowpark Container Services 的安全。
向 Snowflake Marketplace 发布应用程序的准则¶
在向 Snowflake Marketplace 发布应用程序时,提供商必须考虑其他要求和最佳实践。请参阅 向 Snowflake Marketplace 发布应用程序的准则。
应用程序的 CVE 评估标准¶
Snowflake 解决 Snowflake Native App 中常见漏洞 (CVEs) 的方法基于我们的 CVE 评估标准,该策略为根据风险状况进行评估和 CVEs 优先级排序制定了明确客观的标准。
该策略旨在平衡减轻重大安全风险与解决不太严重的漏洞所需的努力。它适用于所有正在接受安全审查的应用程序,并强制执行,以确保只有符合规定标准的应用程序才能获批在 Snowflake 数据云环境中发布。
有关更多信息,请参阅 通用漏洞披露 (CVE) 注意事项。
扫描区域¶
将 Snowflake Native App 配置为外部共享时,提供商会自动与 Snowflake 共享应用程序中的代码以进行扫描。下表将 NAAAPS 扫描区域映射到相应的提供程序区域:
云提供商 |
提供商区域 |
扫描区域 |
---|---|---|
AWS |
US 西部(俄勒冈州) |
US 西部(俄勒冈州) |
AWS |
US 东部(俄亥俄州) |
US 东部(俄亥俄州) |
AWS |
US 东部(弗吉尼亚北部) |
US 东部(弗吉尼亚北部) |
AWS |
加拿大(中部) |
加拿大(中部) |
AWS |
南美洲(圣保罗) |
南美洲(圣保罗) |
AWS |
EU(爱尔兰) |
EU(爱尔兰) |
AWS |
欧洲(伦敦) |
欧洲(伦敦) |
AWS |
EU(巴黎) |
EU(巴黎) |
AWS |
EU(法兰克福) |
EU(法兰克福) |
AWS |
EU(苏黎世) |
EU(苏黎世) |
AWS |
EU(斯德哥尔摩) |
EU(斯德哥尔摩) |
AWS |
亚太地区(东京) |
亚太地区(东京) |
AWS |
亚太地区(大阪) |
亚太地区(大阪) |
AWS |
亚太地区(首尔) |
亚太地区(首尔) |
AWS |
亚太地区(孟买) |
亚太地区(孟买) |
AWS |
亚太地区(新加坡) |
亚太地区(新加坡) |
AWS |
亚太地区(悉尼) |
亚太地区(悉尼) |
AWS |
亚太地区(雅加达) |
亚太地区(雅加达) |
Azure |
|
Azure 东部 US 2(弗吉尼亚) |
Azure |
|
Azure 欧洲西部(荷兰) |
Azure |
|
Azure 澳大利亚东部(新南威尔士州) |
GCP |
|
AWS US 西部(俄勒冈州) |