宣言型アプリのコンシューマー側実行モデル

コンシューマーとして Declarative Native App をインストールする場合、Native App Frameworkでは制御された環境でアプリのデータアクセスとコード実行を分離することにより、アプリがデータにアクセスしたり、コンシューマーアカウントのリソースに影響を与えたりすることを防ぎます。

Native App Frameworkは、Declarative Native Apps にサンドボックススタイルのセキュリティ境界を強制することで、アプリがアプリパッケージに含まれるデータにのみアクセスできるようにします。これにより確実に、アプリはコンシューマーアカウントの他のデータ、コードリソース、またはシステムリソースにアクセスできなくなるので、アプリを実行するためのセキュアな環境が提供され、コンシューマーの資産が保護されることになります。

Declarative Native Apps のセキュリティ境界は、適切な権限が与えられるとコンシューマーアカウントの他のリソースにアクセスできるNative App Frameworkアプリのセキュリティ境界よりも制限が強化されています。

Declarative Native Apps の埋め込みコードオブジェクト

Declarative Native Apps に対して現在唯一サポートされているコードオブジェクトが、Snowflake Notebooksです。現在、Declarative Native Apps はロジックに、Streamlit、ストアドプロシージャ、または UDFs などの他のタイプのコードリソースを使用することはできません。Declarative Native App に埋め込まれたコードオブジェクトは、以下のみを実行できます。

  • アプリパッケージ内からデータまたはコードオブジェクトにアクセスする。

  • アプリパッケージによって公開されたテーブルとビューに対してクエリ、可視化、関数を実行する。アプリには、これらのテーブル、ビュー、関数への SELECT アクセス権があります。

埋め込みロジックは、以下を実行できません。

  • コンシューマーアカウントのその他のデータ製品にアクセスする。

  • コンシューマーアカウントの他のロジックにアクセスする。

  • コンシューマーアカウントにインストールされた他のデータ製品に関するメタデータにアクセスする。

  • システムテーブルやビューなど、コンシューマーアカウントのシステムリソースにアクセスする。たとえば、SHOW DATABASES または SHOW TABLES を実行すると、アプリパッケージの一部であるデータベースとテーブルのみを返します。コンシューマーアカウントの他のデータベースとテーブルは、アプリに表示されません。

  • コンシューマーアカウントのシステムパラメーターまたは設定を変更する。たとえば、ウェアハウスのサイズの変更や、ユーザーロールの変更など。

  • アプリパッケージの一部ではない新しいウェアハウス、データベース、テーブル、ビューを作成するなど、コンシューマーアカウントでリソースまたは外部統合を作成する。

注釈

アプリは現在のユーザーアカウントのデフォルトウェアハウスを使用します。ウェアハウスの作成の詳細については、CREATE WAREHOUSE をご参照ください。ユーザーアカウントのデフォルトウェアハウスの設定については、ALTER USER をご参照ください。