运行自动安全扫描

本主题介绍如何启动自动安全扫描并查看当前状态。

安全扫描工作流程

下图显示了安全扫描如何适应开发和发布 Snowflake Native App 的工作流程。

../../_images/security-scan-overview.png

此工作流程包括以下步骤:

  1. 创建应用程序包。

  2. 更新应用程序代码和相关文件。

    在运行自动安全扫描之前,请确保应用程序符合 Snowflake Native App 的安全要求和最佳实践 中概述的安全要求和最佳实践。如果应用程序是 Snowflake Native App with Snowpark Container Services,请查看 保证 Snowflake Native App with Snowpark Container Services 的安全 中概述的额外安全要求。

  3. 将版本或补丁添加到应用程序包。

  4. 运行自动安全扫描。自动安全扫描会在提供商执行以下操作之一时启动:

    • 当 DISTRIBUTION 属性设置为 EXTERNAL 时向应用程序包添加新版本或补丁。新版本会进行自动扫描。

    • 在已定义版本的应用程序包上将 DISTRIBUTION 属性设置为“EXTERNAL”。应用程序包的十个最新版本会进行自动扫描。这些版本的所有补丁也会进行扫描。

  5. 等待扫描结果。

    如果扫描获得批准,提供商可以继续发布应用程序的过程。

    如果扫描被拒绝,提供商必须根据扫描结果更新应用程序代码。或者,提供商可以对拒绝提出申诉。

  6. 创建或修改应用程序的发布指令。

  7. 为应用程序创建列表。

  8. 将列表提交给 Snowflake 以供审批。

    如果列表获得批准,提供商可以在 Snowflake Marketplace 上发布该列表。

    如果列表被拒绝,提供商必须更新列表并重新提交以供审批。

  9. 发布列表。

为应用程序包设置 DISTRIBUTION 属性

应用程序包的 DISTRIBUTION 属性指示提供商在使用应用程序包作为列表的数据产品时,可以创建的列表类型。此属性具有以下值:

  • INTERNAL 指示提供商只能在创建应用程序包的同一组织之内创建专用列表。当 DISTRIBUTION 属性设置为 INTERNAL 时,不会执行自动安全扫描。

  • EXTERNAL 指示提供商可以在创建应用程序包的同一组织之外创建列表。这包括以下内容:

    • 提供商组织之外的专用列表。

    • 公开列表

    • Marketplace 列表。

提供商可以在创建应用程序包时或之后设置 DISTRIBUTION 属性。

要在创建应用程序包时设置 DISTRIBUTION 属性,请运行 CREATE APPLICATION PACKAGE,如以下示例所示:

CREATE APPLICATION PACKAGE hello_snowflake_package
  DISTRIBUTION = EXTERNAL;
Copy

如果提供商在创建应用程序包时设置 DISTRIBUTION 属性,那么稍后添加到应用程序包的任何版本或补丁都会立即进行扫描。

要为现有应用程序包设置 DISTRIBUTION 属性,请运行 ALTER APPLICATION PACKAGE,如以下示例所示:

ALTER APPLICATION PACKAGE hello_snowflake_package
  SET DISTRIBUTION = EXTERNAL;
Copy

当提供商为现有应用程序包设置 DISTRIBUTION 属性时,自动安全扫描会自动在该应用程序的十个最新版本上运行。这些版本的所有补丁也会进行扫描。

查看自动安全扫描的状态

要查看自动安全扫描的状态,请运行 SHOW VERSIONS 命令,如以下示例所示:

SHOW VERSIONS IN APPLICATION PACKAGE hello_snowflake_package;
Copy

review_status 列显示自动审查扫描的状态。可能的值:

  • NOT_REVIEWED 表示尚未对该应用程序包执行自动安全扫描。

  • IN_PROGRESS 表示自动安全扫描当前正在进行中。

  • APPROVED 表示自动安全扫描已完成,应用程序包已获得批准。提供商可以为应用程序包设置发布指令。

  • REJECTED 表示自动安全扫描已完成,但应用程序包未获得批准。

备注

当自动安全扫描失败时,Snowflake 会手动审查应用程序包。手动审查完成后,状态更新为 APPROVEDREJECTED

对拒绝提出申诉

如果在 Snowflake 进行手动审核后发现重大漏洞或策略违规,应用程序包将被拒绝,提供商将通过电子邮件收到通知。

提供商可以通过打开一个严重性为 4 的支持票证来对拒绝提出申诉。在对基于 CVE 的拒绝提出申诉时,提供商必须提交详细文档,解释以下内容:

  • 为什么 CVE 在应用程序中不可利用

  • 可达性分析报告(如有)

  • 更新到固定版本的计划

  • 如果没有更新计划,应详细说明为什么无法更新易受攻击的版本

Snowflake 安全团队会审查所有申诉并做出决定。

有关申诉程序的更多信息,请参阅 对未通过的安全审查提出申诉

持续安全监控和修复

在应用程序获得批准并在 Snowflake Marketplace 中发布后,它会进行持续安全监控,以确保持续安全性和合规性。其中包括:

  • 定期进行镜像安全分析,以检测新的漏洞或策略违规。

  • 如果发现问题,提供商会收到通知,并在 30 个工作日内对应用程序进行修补,或在 15 天内申请例外处理。

如果 30 天后仍未采取任何行动,应用程序可能会从市场下架。

语言: 中文