Snowflake Data Clean Room のロールの概要

ロールとコンポーネントの概要

Snowflake DCR アプリケーションは、主に2つのコンポーネントで構成されています。

  • 顧客のアカウントで実行され、ウェブアプリケーションからリクエストされたすべてのアクションを実行する ネイティブアプリケーション

  • ノーコードのブラウザベースインターフェイスを提供する ウェブアプリケーション。ウェブアプリケーションは、ネイティブアプリケーションを呼び出してアクションを実行するラッパーです。ウェブアプリケーションは以下の目的で使用されます。

    • Snowflake管理者が、クリーンルーム環境のインストールとSnowflakeアカウントレベルの機能を管理します。

    • ウェブアプリケーション管理者が、自分のアカウント内のウェブアプリケーションへのアクセスを管理します。

    • 非技術系ビジネスユーザーがクリーンルームを作成したり、クリーンルーム内でクエリを実行したりします(プロバイダーやコンシューマーとして機能)。

次の図は、様々なクリーンルームの関数とオブジェクト、およびそれらが必要とするSnowflakeのロールを示しています。

Snowflake管理者、 DCR 管理者、クリーンルーム管理者はすべて、ウェブアプリケーションを通じてネイティブアプリケーションにアクセスします。ウェブアプリケーションは、Snowflake管理者が作成したサービスアカウント(DCR_SERVICE_USER)を使用します。このサービスアカウントは、 SAMOOHA_APP_ROLE を使用してネイティブアプリケーションにアクセスします。開発者は、 SAMOOHA_APP_ROLE を使用して直接ネイティブアプリケーションにアクセスします。

さまざまな関数とSnowflakeのロールを示す図

この図は、クリーンルームでユーザーが持つ4つの基本的な関数ロールを示しています。1人のユーザーが組織内で複数のロールを演じることができます。

  • Snowflake管理者: Snowflake管理者は、Snowflakeアカウントのクリーンルーム環境のインストールと管理を行います。管理はほとんどウェブアプリケーションで行います。このロールは、エグゼクティブアクションを実行するために ACCOUNTADMIN ロールを必要とします。Snowflake管理者は以下のタスクを実行します。

    • クリーンルーム環境をインストールします。

    • クリーンルーム管理者を指定します。

    • ウェブアプリケーションを実行するために必要な DCR_SERVICE_USER サービスアカウントを作成します(詳細は後述します)。

    • クリーンルーム作成者がこのアカウントでクリーンルームにインポートできるSnowflakeデータを指定します。

    • アクティベーションコネクタ(サードパーティにクリーンルームデータをエクスポートするため)、IDプロバイダーコネクタ(エンティティ PID を管理するため)、外部データコネクタ(Snowflake以外のデータをインポートするため)など、さまざまなサードパーティコネクタをインストールして構成します。

  • DCR 管理者: クリーンルーム管理者は、Snowflake管理者によってインストールされた後、Snowflakeアカウントのクリーンルーム環境を管理します。この担当者は管理タスクのためにウェブアプリケーションを使用します。内部的には、後述する DCR_SERVICE_USER サービスアカウントが使用されています。クリーンルーム管理者は以下のタスクを行います。

    • 他のクリーンルーム管理者を追加します。

    • アクティベーションコネクタ(サードパーティにクリーンルームデータをエクスポートするため)、IDプロバイダーコネクタ(エンティティ PID を管理するため)、外部データコネクタ(Snowflake以外のデータをインポートするため)など、さまざまなサードパーティコネクタを有効にして構成します。有効化されたコネクタは、クリーンルーム管理者が使用できます。

    • カスタムクリーンルームテンプレートの潜在的なセキュリティ問題について、セキュリティスキャン結果をレビューします。

    • クリーンルーム管理者やその他の DCR 管理者を追加します。

  • クリーンルーム管理者: ウェブアプリケーションのクリーンルーム管理者ロールは、ユーザーがウェブアプリケーションを使用してクリーンルームのプロバイダーおよびコンシューマーとして行動することを可能にします。クリーンルーム管理者は、 DCR 管理者によって追加または削除されます。内部的には、後述する DCR_SERVICE_USER サービスアカウントが使用されています。クリーンルーム管理者は以下のアクションを実行できます。

    • DCR 管理者によって構成された一般的な設定に従って、クリーンルームを作成、共有、削除します。

    • クリーンルーム用のテンプレートを指定または作成します。

    • クリーンルームの差分プライバシーを構成します。

    • 特定のアカウントとクリーンルームを共有します。

    • クリーンルームへ参加(インストールと実行)します。

    • クリーンルームにデータをインポートします。

    • クリーンルームでサポートされたクエリを実行します。

    • クリーンルームで有効なクエリ結果をエクスポートします。

  • 開発者: 開発者はクリーンルーム管理者と同じ機能を持ちますが、ウェブアプリケーションの代わりに API を使用します。開発者は、 API を呼び出す際に、 SAMOOHA_APP_ROLE を明示的に使用する必要があります。DCR 管理者は、開発者のSnowflakeアカウントに SAMOOHA_APP_ROLE を付与または解除することで、アカウントの開発者を管理します。開発者は、コネクタの選択と構成を除いて、クリーンルーム管理者と同じタスクを実行できます。

  • ACCOUNTADMIN: Snowflake管理者がクリーンルーム環境のインストールと構成に使用するロール。内部的には、このロールは、ユーザーにクリーンルームアカウントへのアクセス権が付与された際に、他のチームメンバーに SAMOOHA_APP_ROLE を割り当てるためにも使用されます。

  • SAMOOHA_APP_ROLE: ウェブアプリケーションを経由する場合でも、 API 開発者が直接呼び出す場合でも、ネイティブアプリに対するすべての非環境レベルの管理呼び出しに使用されるロールです。ユーザーがウェブアプリを使用しているとき、このロールはリクエストに対して透過的に適用されます。

  • DCR_SERVICE_USER: DCR インストール時にSnowflake管理者が作成したサービスアカウント。このアカウントには SAMOOHA_APP_ROLE が付与されます。DCR 管理者とクリーンルーム管理者は、ウェブアプリケーションを使用する際、このオブジェクトを透過的に使用します。

機能の概要

関数

Snowflake管理者

DCR 管理者

クリーンルーム管理者

開発者

環境とウェブアプリのセットアップ

新しいクリーンルームに表示される可能性のあるものを制御

Snowflakeアカウントレベルの機能の管理

ウェブアプリケーションアクセスの管理

コンシューマーアカウントの有効化または無効化

ウェブアプリでの会社プロファイルの管理

サードパーティコネクタの管理

分析テンプレートの承認

クリーンルームの作成とインストール

分析の表示と実行