Declarative Native App をインストール

Snowflake Declarative Native Apps は、Snowflakeデータプロバイダーが共有するデータや機能にアクセスするために使用できるデータベースです。

Snowsight を使用して Declarative Native Apps をインストールしアクセスするか、または SQL コマンドを使用してデータに直接アクセスできます。

アプリをインストールすると、それを組織の他のメンバーと共有できます。

セキュリティ

Declarative Native Apps は、安全なデータ共有と同様のセキュリティモデルを備えています。

  • アプリは、アプリに含まれるデータにのみアクセスできます。

  • アプリはコンシューマーのプライベートデータにアクセスできません。

  • アプリは、外部呼び出しや、Snowflakeアカウントの外部のデータへのアクセスは許可されていません。

前提条件

Declarative Native App をインストールするには、Snowflakeアカウントと、次のいずれかの権限を持つロールが必要です。

  • ACCOUNTADMIN ロール

  • CREATE APPLICATION および IMPORT LISTING の両方の権限を持つロール

有料リストを購入するには、ロールに PURCHASE DATA EXCHANGE LISTING 権限も必要です。

インストール権限の付与

ACCOUNTADMIN は、GRANT 権限 TO ROLE コマンドを使用してメンバーのロールに権限を付与することで、組織のメンバーに Declarative Native Apps のインストールを許可できます。

GRANT CREATE APPLICATION ON ACCOUNT TO ROLE <role_name>;
GRANT IMPORT LISTING ON ACCOUNT TO ROLE <role_name>;
Copy

アプリをインストールする

インストール権限を持つロールは、Snowflake Marketplace またはプライベート共有リストから Declarative Native App をインストールできます。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Marketplace を選択します。

  3. アクセスしたいリストを検索または閲覧します。

  4. リストを選択して Get または Buy を選択します。

  5. (オプション) Application name の名前を入力します。

  6. Get を選択します。

  7. Open を選択してアプリを表示するか、 Done を選択して終了します。

アプリをインストールしたユーザーがアプリの所有者です。アプリ所有者と ACCOUNTADMIN は、ノートブック、テーブル、ビュー、その他のオブジェクトなど、アプリで共有されているすべてのオブジェクトにアクセスできます。

アプリへの共有アクセス

アプリ所有者(または ACCOUNTADMIN)は組織のロールによって、Snowflake Declarative Native App 内のデータや機能へのアクセスを組織のメンバーと共有できます。

アプリ全体へのアクセスを共有することができます。一部のアプリでは、アプリロールによって定義されたアプリ内のデータや機能のサブセットへのアクセスを共有することができます。

アプリ所有者が、組織内のチームにアプリのロールを割り当てる

アプリ内のすべてのデータと機能への共有アクセス

アプリ所有者は、コマンド: GRANTIMPORTEDPRIVILEGESONAPPLICATION を使用して、アプリ内のすべてのデータと機能へのアクセスを共有できます。

この例では、アプリ所有者がアプリケーション: marketing_data_app の権限を team_admin_role 組織ロールにインポートします。

GRANT IMPORTED PRIVILEGES ON APPLICATION marketing_data_app TO ROLE team_admin_role;
Copy

注釈

アプリへのアクセスの共有によって、アプリの権限を他のユーザーと共有する機能が共有されることはありません。

アプリロール:アプリ内のデータと機能の一部へのアクセスを共有する

一部の Declarative Native Apps はアプリ内のデータと機能のサブセットへのアクセスを提供するアプリロールを含みます。アプリ所有者は、組織のロールにアプリのロールを割り当てることができます。これにより、組織ロールのメンバーは、アプリロールで定義されたデータと機能にアクセスできるようになります。

  1. コマンド: SHOW APPLICATION ROLES で利用可能なロールを一覧表示します。例:

    SHOW APPLICATION ROLES IN APPLICATION marketing_data_app;
    
    Copy

    コマンドは利用可能なアプリロールを一覧表示します。アプリにアプリロールがない場合、コマンドは空の結果セットを返します。

  2. コマンド: GRANTAPPLICATIONROLE...TOROLE コマンドを使用して、組織ロールによってチームにアプリロールを付与します。

    GRANT APPLICATION ROLE marketing_data_app.sales TO ROLE sales_team_west;
    
    Copy

考慮事項:

  • コンシューマーは、アプリのロールによって定義された場合を除き、アプリ内の個々のオブジェクト(個々のテーブル、ビュー、ノートブックなど)へのアクセスを共有することはできません。

  • コンシューマーは、新しいアプリロールの定義や、既存のアプリロールの変更はできません。

  • コンシューマーは、組織外のメンバーとアプリ内のオブジェクトへのアクセスを共有することはできません。

アプリにアクセスする

アプリの使用については、Declarative Native App のコンテンツへのアクセス をご参照ください。