チュートリアル: Snowflake Data Clean Roomのウェブアプリをはじめる

概要

Snowflakeデータクリーンルーム は、機密データのコラボレーションを可能にする暗号化されたセキュアな環境です。データのプライバシーを維持しながら、そのデータを使って何ができるかを厳密に管理することで、データをコラボレーターと共有できるようにします。

このチュートリアルでは、ウェブアプリを使って Snowflake Data Clean Room を操作する基本的な流れを説明します。

学習内容

このチュートリアルでは、ウェブアプリで以下の作業を行う方法を学びます。

  • クリーンルーム環境にコラボレーターを追加する

  • クリーンルームの作成(データの追加方法、結合ポリシーの指定、コラボレーターがデータに対して実行できる分析タイプの定義、コラボレーターとのクリーンルーム共有など)。

  • クリーンルームを設置し、データを追加し、このデータをコラボレーターのデータとどのように結合するかを定義する。

  • クリーンルームで許可されている内容に基づいて新しい分析を作成し、分析に関連するパラメータを指定する方法など、分析を実行する。

  • 分析結果をアクティブ化する。

クリーンルームのコラボレーターについて

クリーンルームのコラボレーターはプロバイダーかコンシューマーです。

プロバイダー とは、他のクリーンルームコラボレーションとデータを共有するエンティティのことです。共有するデータのプライバシーを維持するために、クリーンルームを作り、設定します。

コンシューマー とは、クリーンルームを使用して共有データと対話するエンティティのことです。コンシューマーはクリーンルーム内でデータを分析したりクエリしたりすることができます。

このチュートリアルでは、クリーンルームのプロバイダーとコンシューマーの両方の役割を見ていきます。

前提条件

このチュートリアルを完了する前に、管理者はクリーンルーム環境を設定し、それに関連するSnowflakeアカウントを設定する必要があります。これはプロバイダーアカウントとコンシューマーアカウントの両方で行う必要があります。これらのアクションの実行方法の詳細については、 Snowflake Data Clean Rooms 入門 をご参照ください。

このチュートリアルの目的のためにコンシューマーとして振る舞うには、2つ目のクリーンルームに関連付けられた2つ目のSnowflakeアカウントにアクセスする必要があります。これにより、コンシューマーがどのようにクリーンルームを設置し、使用するかを模倣することができます。セカンドアカウントをお持ちでない場合でも、このチュートリアルでクリーンルームの作成、設定、共有方法を学ぶことができます。

あなたがクリーンルームをセットアップした管理者でない場合、クリーンルームの管理者もウェブアプリの ユーザーとして自身を追加 する必要があります。クリーンルーム環境の管理者ユーザーである必要があります。

プロバイダーとしてウェブアプリにサインインします。

このセクションでは、プロバイダーとしてクリーンルームを作成、設定、共有するクリーンルームにサインインします。

プロバイダーとしてウェブアプリにサインインするには:

  1. Snowflake Data Clean Roomsのログインページ に移動します。

    このチュートリアルでは、管理者ロールを持つユーザーである必要があります。

  2. メールアドレスを入力し、 Continue を選択します。

  3. パスワードを入力してください。

  4. 複数のクリーンルーム環境に関連している場合は、プロバイダーアカウントとして使用するSnowflakeアカウントを選択します。

コラボレーターとしてコンシューマーを追加する

このセクションでは、このチュートリアルで使用するコンシューマアカウントをコラボレーターとして追加します。管理者は、他のユーザーがそのコラボレーターとクリーンルームを共有する に、1人の人物をコラボレーターとして定義する必要があります。

コンシューマーをコラボレーターとして追加するには

  1. 左側のナビゲーションで Collaborators を選択します。

  2. Snowflake Partners タブを選択します。

  3. + Snowflake Partner を選択します。

  4. Company Name フィールドに、 Tutorial Consumer を入力します。

  5. Email Address フィールドに、クリーンルームユーザーに関連するメールを入力してください。

  6. Account Locator フィールドに、コンシューマー体験をシミュレートするために使用するSnowflakeアカウントの アカウントロケーター を入力します。

  7. コンシューマー体験をシミュレートするために使用するアカウントのクラウドとリージョンを選択します。

  8. Add を選択します。

クリーンルームの作成と共有

このセクションでは、以下のことを行います。

  • クリーンルームを作成します。

  • コラボレーションで共有されるデータをクリーンルームに追加します。

  • 結合ポリシーを定義し、コラボレーション相手が自身のデータを結合できる列を制御します。

  • コラボレーターがクリーンルームで実行できる分析タイプを定義します。

  • クリーンルームをコンシューマーと共有します。

作成プロセスの開始

クリーンルームを作るプロセスを始めるには:

  1. 左側のナビゲーションで Clean Rooms を選択します。

  2. Clean Rooms ページで、 + Clean Room を選択します。

  3. クリーンルームに Tutorial という名前を付けます。クリーンルーム内でコラボレーターがオーディエンスオーバーラップ解析を実施できるようにします。

クリーンルームにデータを追加する

クリーンルームにデータを追加するには:

  1. Datasource セクションで、 Snowflake を選択します。

  2. Tables ドロップダウンリストから、 DEMO.CUSTOMERS テーブルを選択します。このテーブルは SAMOOHA_SAMPLE_DATABASE データベースの下にあります。

  3. Next を選択します。

結合ポリシーの指定

結合ポリシーは、コラボレーターが結合できる共有テーブルの列を制御します。

参加ポリシーを指定するには:

  1. Join Columns ドロップダウンリストから、以下の列を選択します。

    • HASHED_EMAIL

    • HASHED_FIRST_NAME

    • HASHED_LAST_NAME

    • HASHED_PHONE

    コラボレーターはこれらの列のみでデータを結合することができます。

  2. Next を選択します。

分析テンプレートの構成

分析テンプレートは、クリーンルームで共有されたデータにコラボレーターがどのようにアクセスできるかを制御します。コラボレーターは、テンプレートに準拠した分析やクエリのみを実行できます。

クリーンルーム内のコラボレーターが利用できる分析テンプレートを選択し、テンプレートを設定します。

  1. Audience Overlap & Segmentation テンプレートを選択します。コラボレーターは、オーディエンスの重複およびセグメンテーション分析の実行に限定されます。

  2. Tables ドロップダウンリストから、 DEMO.CUSTOMERS を選択します。コラボレーターンが分析できるのは、 DEMO.CUSTOMERS テーブルのデータのみです。

  3. Segmentation & Activation Columns ドロップダウンリストから、以下の列を選択します。

    • AGE_BAND

    • DEVICE_TYPE

    • EDUCATION_LEVEL

    • STATUS

    コンシューマーの場合、これらの列を使用してセグメントをフィルタリングし、作成することができます。

  4. Allow categorical value previews during filtering を切り替えます。

  5. Next を選択します。

クリーンルームをコンシューマーと共有する

クリーンルームの作成と構成が完了したら、クリーンルームをコラボレーターと共有し、コラボレーターがクリーンルームを使用して分析を実行できるようにすることができます。

クリーンルームを共有するには:

  1. Select Collaborator ドロップダウンリストを使用して、 Tutorial Consumer を選択します。

  2. Finish を選択します。

  3. クリーンルームが作成されるまで待ってからこのチュートリアルを続行してください。 Tutorial のタイルが Processing から Edit に変わるまで、定期的に Refresh を選択します。

おめでとうございます。これで、 Snowflake Data Clean Room を作成し、共有しました。

学習した内容

このセクションでは、プロバイダーとしてクリーンルームをインストール、構成、共有する方法を学びました。

このチュートリアルの次のパートでは、クリーンルームに入り、データを分析するためにそれを使用するコンシューマーに切り替えます。

コンシューマーとしてウェブアプリにサインインする

このセクションでは、クリーンルームを作成し共有するプロバイダーから、クリーンルームを設置するコンシューマーに切り替えます。コンシューマーが自分のアカウントにクリーンルームをインストールして使用する方法を模倣するために、別のアカウントにクリーンルームをインストールします。

コンシューマーとしてウェブアプリにサインインするには:

  1. Snowflake Data Clean Roomsのログインページ に移動します。

  2. メールアドレスを入力し、 Continue を選択します。

  3. パスワードを入力してください。

  4. 複数のクリーンルーム環境に関連している場合は、コンシューマアカウントとして使用するSnowflakeアカウントを選択します。

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

このセクションでは、以下を実行します。

  • プロバイダーアカウントから共有されたクリーンルームをインストールします。

  • クリーンルームにデータを追加し、プロバイダーのデータと結合できるようにします。

  • コンシューマデータとプロバイダーデータの関連性を定義する結合ポリシーを追加します。

  • アナリストがセグメントを作成し、結果をフィルタリングし、アクティブ化データを強化させるために使用できる列を定義します。

インストール プロセスを開始する

プロバイダーアカウントで共有されているクリーンルームのインストールを開始します。

  1. 左側のナビゲーションで Clean Rooms を選択します。

  2. Invited タブを選択します。

  3. Tutorial タイルを見つけ、 Join を選択します。

クリーンルームにコンシューマーデータを追加する

クリーンルームにデータを追加するには:

  1. Datasource セクションで、 Snowflake を選択します。

  2. Tables ドロップダウンリストから、 DEMO.CUSTOMERS テーブルを選択します。このテーブルは SAMOOHA_SAMPLE_DATABASE データベースの下にあります。

  3. Next を選択します。

結合ポリシーの定義

コンシューマーは結合ポリシーを使用して、分析またはクエリで結合する列を指定し、プロバイダーテーブルとコンシューマーテーブルの関係を定義します。

結合ポリシーを定義するには:

  1. コンシューマーのテーブル (My Columns) の列とプロバイダーのテーブル (Collaborator Columns) の列が一致していることを確認します。例えば、コンシューマーの HASHED_EMAIL 列はプロバイダーの HASHED_EMAIL 列と結合する必要があります。クリーンルームを作成する際、コラボレーターがこれらの列にのみ結合できるように指定されました。

  2. Next を選択します。

セグメンテーションとアクティブ化列の定義

クリーンルームのインストールプロセスでセグメンテーション列とアクティブ化列を選択すると、クリーンルームで分析を実行するユーザーが利用できる列が定義されます。アナリストはこれらの列に基づいてのみセグメントを作成できます。活性化データをプロバイダーに送り返す際、アナリストはこれらの列のいずれかに由来するデータでない限り、分析結果の強化に使用できません。

セグメンテーションとアクティブ化列を定義するには:

  1. Tables ドロップダウンリストから、 DEMO.CUSTOMERS テーブルを選択します。

  2. Segmentation & Activation Columns ドロップダウンリストから、以下の列を選択します。

    • INCOME_BRACKET

    • REGION_CODE

    • STATUS

  3. Finish を選択します。

  4. クリーンルームがインストールされるまで待ってからこのチュートリアルを続行してください。 Tutorial のタイルが Processing から Run に変わるまで、定期的に Refresh を選択します。

分析の実行

このセクションでは、クリーンルームにおけるオーディエンスのオーバーラップとセグメンテーション分析を行います。

分析を実行するには:

  1. 左側のナビゲーションで Clean Rooms を選択します。

  2. Joined タブを選択します。

  3. Tutorial タイルを見つけ、 Run を選択します。

  4. Audience Overlap & Segmentation タイルを選択してから、 Proceed を選択します。

  5. My Tables で、 Customers を選択します。

  6. Collaborator Table で、 Customers を選択します。

  7. My Join Columns で、以下の結合を定義します。

    1. ドロップダウンリストから、 HASHED_EMAIL を選択します。

    2. + Join Column を選択してから、 HASHED_FIRST_NAME および HASHED_LAST_NAME を選択します。

    3. + Join Column を選択してから、 HASHED_PHONE を選択します。

    クリーンルームで分析を実行すると、以下のi いずれか に当てはまる記録が結果に含まれます。

    • コンシューマーのテーブルの HASHED_EMAIL は、プロバイダーのテーブルの HASHED_EMAIL と一致します。

    • コンシューマーの HASHED_FIRST_NAME はプロバイダーの HASHED_FIRST_NAME と一致し、 そして コンシューマーの HASHED_LAST_NAME はプロバイダーの HASHED_LAST_NAME と一致します。

    • コンシューマーの HASHED_PHONE はプロバイダーの HASHED_PHONE と一致します。

  8. User Segmentation セクションで、次の操作を実行します。

    1. My Columns ドロップダウンリストから、 INCOME_BRACKET を選択します。

    2. Collaborator Columns ドロップダウンリストから、 AGE_BAND を選択します。

    分析結果はこれらのセグメントにグループ化されます。

  9. Filters セクションでは、ドロップダウンリストを使って DEMO.CUSTOMERS.STATUS = GOLD を定義します。必ず色分けをして、コンシューマーアカウントで列を選択してください (My Columns)。

    分析結果に含めるには、コンシューマーテーブルの記録の STATUSGOLD である必要があります。

  10. Run を選択します。

  11. Results セクションを使用して、結果を表示します。結果メトリクスは、一致率と重複回数の間で切り替えることができます。

  12. 分析のセグメンテーショングループを見るには、 Download を選択し、カンマ区切りファイルを開きます。

  13. チュートリアルの次のステップに進み、アクティブ化のために強化された結果をプロバイダーに返します。

結果の有効化

このセクションでは、分析結果をプロバイダーのSnowflakeアカウントにプッシュバックすることで有効化します。これらの結果は、コンシューマーテーブルとプロバイダーテーブルからのデータで強化されます。

分析結果を有効にするには:

  1. Results セクションで、 Activate を選択します。

  2. クリーンルームの共有に使用したプロバイダーアカウント名を選択します。

  3. Segment Name フィールドには Provider Snowflake Account を指定します。

  4. ID Columns ドロップダウンリストから、 HASHED_EMAIL を選択します。

  5. Attribute Columns ドロップダウンリストから、 Select All を選択します。プロバイダーが分析結果を見るとき、一致した記録はこれらの列で見つかった追加データで強化されます。

    利用可能な列は、クリーンルームを設定する際にプロバイダーとして選択したセグメンテーションとアクティブ化の列と、クリーンルームをインストールする際にコンシューマーとして選択したセグメンテーションとアクティブ化の列と同じであることがわかります。

  6. Push Data を選択します。

おめでとうございます。これで、コンシューマーアカウントにクリーンルームをインストールして設定し、分析を実行し、プロバイダーアカウントに結果をプッシュバックしてアクティブ化が行われました。

プロバイダーとしてアクティブ化データを表示する

このセクションでは、プロバイダーのロールに戻り、コンシューマーのアクティブ化結果を表示します。コンシューマーのアクティブ化データは、プロバイダーのSnowflakeアカウントの SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.PROVIDER_ACTIVATION_SUMMARY テーブルに保存されます。

Snowsight を使用してこのテーブルをクエリする前に、クリーンルーム環境にサインインして、コンシューマーアカウントとプロバイダーアカウント間のパイプラインを作成する必要があります。

プロバイダーとしてクリーンルーム環境にサインインするには:

  1. Snowflake Data Clean Roomsのログインページ に移動します。

  2. メールアドレスを入力し、 Continue を選択します。

  3. パスワードを入力してください。

  4. 複数のクリーンルーム環境に関連している場合は、このチュートリアルでプロバイダーアカウントとして使用したSnowflakeアカウントを選択します。

パイプラインが正常に構築されると、 SQL クエリを使用するか、 Snowsight のデータベースオブジェクトエクスプローラを使用して、アクティブ化データを表示できます。

  1. プロバイダーアカウントの Snowsight にサインインします。クリーンルーム環境ではなく、Snowflakeアカウントにサインインしています。

  2. 左側のナビゲーションで Data » Database を選択します。

  3. SAMOOHA_BY_SNOWFLAKE_LOCAL_DB » PUBLIC » Tables » PROVIDER_ACTIVATION_SUMMARY に移動します。

  4. アクティブ化データを表示するには、 Data Preview を選択します。

クリーンアップする

このチュートリアルのために作成したクリーンルームとアクティブ化データを削除して、本番環境をクリーンアップすることができます。

アクティブ化データの削除

プロバイダーのSnowflakeアカウントからアクティブ化データを削除するには:

  1. プロバイダーアカウントの Snowsight にサインインします。クリーンルーム環境ではなく、Snowflakeアカウントにサインインしています。

  2. Projects » Worksheets を開きます。

  3. + » SQL Worksheet を選択します。

  4. 新しいワークシートに以下のステートメントを貼り付けて実行し、このチュートリアル用に作成したアクティブ化データを削除します。

    DELETE FROM samooha_by_snowflake_local_db.public.provider_activation_summary
       WHERE segment = 'Provider Snowflake Account';
    
    Copy

クリーンルームの削除

プロバイダーアカウントでクリーンルームを削除すると、プロバイダーアカウントとコンシューマーアカウントの両方から削除されます。

クリーンルームを削除するには:

  1. Snowflake Data Clean Roomsのログインページ に移動します。

  2. メールアドレスを入力し、 Continue を選択します。

  3. パスワードを入力してください。

  4. プロバイダーアカウントとして使用したSnowflakeアカウントを選択します。

  5. 左側のナビゲーションで Clean Rooms を選択します。

  6. Created タブで Tutorial タイルを見つけ、その他アイコン(他のオプションを示す3つの垂直の点)を選択します。

  7. Delete を選択します。

  8. Proceed を選択します。

詳細

おめでとうございます。これで、これでプロバイダーとしてクリーンルームを作成し、共有するためのウェブアプリケーションを使用することができました。あなたはまた、プライバシーが守られた環境でデータを分析するためにクリーンルームを利用するコンシューマーでもあります。

詳しくは以下のリソースを使用できます。