自動セキュリティスキャンを実行する

このトピックでは、自動セキュリティスキャンを開始し、現在のステータスを表示する方法について説明します。

セキュリティ・スキャン ワークフロー

次の図は、 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 プロパティを設定すると、アプリの最新 10 バージョンに対して自動セキュリティスキャンが自動的に実行されます。これらのバージョンのすべてのパッチもスキャンされます。

自動セキュリティ・スキャンのステータスを表示する

自動セキュリティ・スキャンのステータスを表示するには、次の例に示すように SHOW VERSIONS コマンドを実行します。

SHOW VERSIONS IN APPLICATION PACKAGE hello_snowflake_package;
Copy

review_status 列には、自動レビュースキャンのステータスが表示されます。可能な値は次のとおりです。

  • NOT_REVIEWED は、このアプリケーションパッケージに対して自動セキュリティスキャンが実行されていないことを示します。

  • IN_PROGRESS は、自動セキュリティ・スキャンが現在進行中であることを示します。

  • APPROVED は、自動セキュリティ・スキャンが完了し、アプリケーションパッケージが承認されたことを示します。プロバイダーは、アプリケーション・パッケージのリリース指令を設定することができます。

  • REJECTED は、自動セキュリティ・スキャンは完了したが、アプリケーションパッケージが承認されなかったことを示します。

注釈

自動セキュリティ・スキャンが失敗した場合、Snowflake は手動でアプリケーション・パッケージを審査します。手動審査が完了すると、ステータスは APPROVED または REJECTED に更新されます。

却下に異議申し立てをする

Snowflake が手動審査を行った後、重大な脆弱性やポリシー違反が見つかった場合、アプリケーションパッケージは却下され、プロバイダーに電子メールで通知されます。

プロバイダーは、深刻度4のサポートチケットを開くことで、却下に異議申し立てをすることができます。CVE に基づく却下に異議申し立てをする場合、プロバイダーは以下を説明する詳細なドキュメントを提出する必要があります。

  • CVE がアプリケーションで悪用できない理由

  • ある場合、到達可能性分析レポート

  • 修正バージョンへのアップデート計画

  • アップデートの予定がない場合、脆弱なバージョンをアップデートできない理由の詳細な説明

Snowflake Security・チームは、すべての異議申し立てについて審査し、決定を下します。

異議申し立て所いrに関する追加情報については、 不合格となったセキュリティ審査に異議を申し立てる をご参照ください。

継続的なセキュリティ監視と修復

アプリが承認され、Snowflake Marketplaceで公開された後も、継続的なセキュリティ監視が行われ、継続的な安全性とコンプライアンスが確保されます。これには次が含まれます。

  • 定期的なイメージセキュリティ分析により、新たな脆弱性やポリシー違反を検出します。

  • 問題が発見された場合、プロバイダーに通知され、30営業日以内にアプリにパッチを当てるか、15日以内に例外を要求することができます。

30日以上経っても何もアクションがない場合、アプリはマーケットプレイスから削除される可能性があります。