Security requirements and guidelines for a Snowflake Native App¶
This topic provides an overview of the security requirements and guidelines when developing a Snowflake Native App. It also provides general information about automated security scan and review process when publishing an app to consumers.
Caution
您有责任确保没有个人数据、敏感数据、出口管制数据或其他受监管数据输入到您的应用程序包的任何文件中。
Overview of Snowflake Native App security requirements¶
The Snowflake Native App Framework provides security requirements and best practices that providers must follow when developing a Snowflake Native App. For security requirements and best practices for an app, see Security requirements and best practices for a Snowflake Native App. For security requirements for an app with containers, see Secure a Snowflake Native App with Snowpark Container Services.
To publish an app to consumers, either as a private listing or on Snowflake Marketplace, Snowflake implements a security review process that requires a security scan of the components of an app. If an app does not pass the automated security review, a manual review occurs.
所有发布给使用者的应用程序都必须通过此安全审查。
潜在安全风险
以下是运行应用程序时可能出现的一些安全风险:
- 数据泄露:
恶意应用程序可能会将使用者数据复制到外部函数或日志中。
- 计算滥用:
应用程序可能会执行未经授权的任务,例如加密货币挖矿,费用由使用者承担。
- 勒索软件
应用程序可能会加密或损坏使用者数据,并索要恢复费用。
- 权限升级:
应用程序可能会尝试在使用者账户中获取未授予的权限。
To mitigate these and other possible security risks, the Snowflake Native App Framework uses a security review to evaluate an app for security risks and to ensure security best practices.
自动安全审查
为了降低潜在的安全风险,Snowflake 采用了 Native App Anti-Abuse Pipeline Service (NAAAPS)。此服务使用各种工具自动扫描所有新的应用程序版本,以确定应用程序是否可以分使用者。
创建应用程序的新版本或补丁时,系统会触发此自动安全审查。该审查会执行以下操作:
- 将应用程序复制到用于扫描应用程序的专用 Snowflake 账户。
- 扫描与应用程序关联的文件并更新安全审查状态。
- 自动批准应用程序或启动应用程序手动审查。
During the manual review process, an app can be approved or rejected. Snowflake does not send a notification if an app is rejected. Providers can view the status of the review in Snowsight.
安全审查期间使用的扫描程序和工具
自动安全审查使用以下扫描程序和工具执行以下操作,分析应用程序的不同组件:
- 扫描代码中的错误、反模式和安全漏洞。
- 扫描恶意软件代码。
- 识别应用程序依赖项中的漏洞。
这些流程有助于检测各种安全问题,例如数据泄露、勒索软件、计算滥用、权限提升和动态代码执行。
应用程序安全要求和最佳实践
All apps must conform to the security requirements outlined in the Security requirements and best practices for a Snowflake Native App.
Note
随着 Snowflake 继续监控新的潜在风险,安全要求可能会发生变化。
Security considerations for a Snowflake Native App with Snowpark Container Services¶
For information about additional security requirements for a Snowflake Native App with Snowpark Container Services see Secure a Snowflake Native App with Snowpark Container Services.
Guidelines for publishing an app to Snowflake Marketplace¶
When publishing an app to Snowflake Marketplace, providers must consider additional requirements and best practices. See Guidelines and requirements for listing Apps on Snowflake Marketplace.
应用程序的 CVE 评估标准¶
Snowflake’s approach to addressing Common Vulnerabilities and Exposures (CVEs) in a Snowflake Native App is based on our CVE Evaluation Criteria, a policy that establishes clear and objective criteria for evaluating and prioritizing CVEs based on their risk profile.
该策略旨在平衡减轻重大安全风险与解决不太严重的漏洞所需的努力。它适用于所有正在接受安全审查的应用程序,并强制执行,以确保只有符合规定标准的应用程序才能获批在 Snowflake 数据云环境中发布。
See Common Vulnerabilities and Exposures (CVE) considerations for additional information.
扫描区域
When configuring a Snowflake Native App to be shared externally, providers automatically share the code in app with Snowflake for scanning. The following table maps the NAAAPS scanning regions to the corresponding provider regions:
| Cloud provider | Provider region | Scanning region |
|---|---|---|
| AWS | US West (Oregon) | US West (Oregon) |
| AWS | US East (Ohio) | US East (Ohio) |
| AWS | US East (N. Virginia) | US East (N. Virginia) |
| AWS | Canada (Central) | Canada (Central) |
| AWS | South America (São Paulo) | South America (São Paulo) |
| AWS | EU (Ireland) | EU (Ireland) |
| AWS | Europe (London) | Europe (London) |
| AWS | EU (Paris) | EU (Paris) |
| AWS | EU (Frankfurt) | EU (Frankfurt) |
| AWS | EU (Zurich) | EU (Zurich) |
| AWS | EU (Stockholm) | EU (Stockholm) |
| AWS | Asia Pacific (Tokyo) | Asia Pacific (Tokyo) |
| AWS | Asia Pacific (Osaka) | Asia Pacific (Osaka) |
| AWS | Asia Pacific (Seoul) | Asia Pacific (Seoul) |
| AWS | Asia Pacific (Mumbai) | Asia Pacific (Mumbai) |
| AWS | Asia Pacific (Singapore) | Asia Pacific (Singapore) |
| AWS | Asia Pacific (Sydney) | Asia Pacific (Sydney) |
| AWS | Asia Pacific (Jakarta) | Asia Pacific (Jakarta) |
| Azure |
| Azure East US 2 (Virginia) |
| Azure |
| Azure West Europe (Netherlands) |
| Azure |
| Azure Australia East (New South Wales) |
| GCP |
| AWS US West (Oregon) |