Snowflake用Tealium Audience Discoveryのインストール
SnowflakeマーケットプレイスからSnowflake用Tealium Audience Discoveryをインストールし、必要なロールと権限を構成します。
このガイドでは、SnowflakeマーケットプレイスからSnowflake用Tealium Audience Discoveryをインストールし、それを使用するために必要なロールと権限を構成する方法について説明します。
要件
- Snowflakeのアカウント所有者または管理者ロール。
- オーディエンス作成に使用したいSnowflakeのデータベースとスキーマへのアクセス。
アプリのインストール
SnowflakeマーケットプレイスからSnowflake用Tealium Audience Discoveryをインストールします。インストール後、次のセクションのSQLを実行してアプリを構成し、起動します。
サービスの構成
インストール後、以下のSQLを実行してアプリを構成し、開始します。<SOURCE_DATABASE>をデータが含まれているデータベースに置き換えてください。インストール時に異なるアプリケーション名を選択した場合は、TEALIUM_AUDIENCE_DISCOVERY_APPをそれに応じて置き換えてください。
-
アプリ専用のコンピュートプールを作成します。
CPU_X64_XS(2 vCPU、8 GB)はほとんどのワークロードに適しています。大規模なオーディエンスや重い同時使用の場合はCPU_X64_S(4 vCPU、16 GB)を使用してください。CREATE COMPUTE POOL IF NOT EXISTS TEALIUM_AUDIENCE_DISCOVERY_POOL FOR APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP MIN_NODES = 1 MAX_NODES = 1 INSTANCE_FAMILY = CPU_X64_XS; -
倉庫を作成するか、既存のものを使用します。
CREATE WAREHOUSE IF NOT EXISTS TEALIUM_AUDIENCE_DISCOVERY_WH WAREHOUSE_SIZE = 'X-SMALL'; -
アプリにコンピュートプールと倉庫へのアクセスを許可します。
GRANT USAGE ON COMPUTE POOL TEALIUM_AUDIENCE_DISCOVERY_POOL TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP; GRANT USAGE ON WAREHOUSE TEALIUM_AUDIENCE_DISCOVERY_WH TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP; -
アプリにソースデータへの読み取りアクセスを許可します。
GRANT USAGE ON DATABASE <SOURCE_DATABASE> TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP; GRANT USAGE ON ALL SCHEMAS IN DATABASE <SOURCE_DATABASE> TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP; GRANT SELECT ON ALL TABLES IN DATABASE <SOURCE_DATABASE> TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP; GRANT SELECT ON ALL VIEWS IN DATABASE <SOURCE_DATABASE> TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP; -
サービスを開始します。
CALL TEALIUM_AUDIENCE_DISCOVERY_APP.main_schema.create_app_service( 'TEALIUM_AUDIENCE_DISCOVERY_POOL', 'TEALIUM_AUDIENCE_DISCOVERY_WH' ); -
サービスの状態を確認します。状態が
READYになるまで待ってから続行します。CALL TEALIUM_AUDIENCE_DISCOVERY_APP.main_schema.check_service_status(); -
アプリケーションのURLを取得します。
CALL TEALIUM_AUDIENCE_DISCOVERY_APP.main_schema.get_app_url();
アプリを開く
- ステップ7で返されたURLを開くか、Snowsight > Data Products > Apps > TEALIUM_AUDIENCE_DISCOVERY_APP > Endpointsに移動します。
- audience-discovery-endpointをクリックしてウェブインターフェースを開きます。
- Data Explorerを使用して利用可能なテーブルを閲覧します。
追加の構成
追加のデータベースへのアクセスを許可する
アプリは、オーディエンスを構築したいすべてのデータベースからの読み取りアクセスが必要です。以下を各追加データベースに対して繰り返します。
GRANT USAGE ON DATABASE <SOURCE_DATABASE> TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP;
GRANT USAGE ON ALL SCHEMAS IN DATABASE <SOURCE_DATABASE> TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP;
GRANT SELECT ON ALL TABLES IN DATABASE <SOURCE_DATABASE> TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP;
GRANT SELECT ON ALL VIEWS IN DATABASE <SOURCE_DATABASE> TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP;
アプリはソースデータを読み取るだけで、テーブルを変更することはありません。
Cortex AIの有効化(オプション)
アプリには、ユーザーが自然言語でオーディエンスセグメンテーションルールを記述できるCortexモードが含まれています。Cortex Analystは、Snowflakeのセマンティックビューを使用してSQLクエリを自動的に生成します。
この機能には、アプリケーションに割り当てられたセマンティックビューが必要です。
-
Cortex AIデータベースロールを付与します。
GRANT DATABASE ROLE SNOWFLAKE.CORTEX_USER TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP; -
セマンティックビューへのアクセスを許可します。
GRANT USAGE ON DATABASE <SEMANTIC_VIEW_DB> TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP; GRANT USAGE ON SCHEMA <SEMANTIC_VIEW_DB>.<SEMANTIC_VIEW_SCHEMA> TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP; GRANT SELECT ON ALL VIEWS IN SCHEMA <SEMANTIC_VIEW_DB>.<SEMANTIC_VIEW_SCHEMA> TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP; GRANT SELECT ON SEMANTIC VIEW <SEMANTIC_VIEW_NAME> TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP; -
(オプション)利用可能な大規模言語モデル(LLMs)を構成します。モデルリストを管理するために、役割に
app_adminを付与します。GRANT APPLICATION ROLE TEALIUM_AUDIENCE_DISCOVERY_APP.app_admin TO ROLE <ADMIN_ROLE>;インストール中にシードされたデフォルトモデルを表示します。
SELECT * FROM TEALIUM_AUDIENCE_DISCOVERY_APP.AUDIENCE_DISCOVERY_SCHEMA.AVAILABLE_LLMS;リストを自分のモデルに置き換えます。
DELETE FROM TEALIUM_AUDIENCE_DISCOVERY_APP.AUDIENCE_DISCOVERY_SCHEMA.AVAILABLE_LLMS; INSERT INTO TEALIUM_AUDIENCE_DISCOVERY_APP.AUDIENCE_DISCOVERY_SCHEMA.AVAILABLE_LLMS (MODEL_NAME) VALUES ('mistral-large2'), ('llama3.1-70b'), ('llama3.1-405b'), ('snowflake-arctic'), ('claude-3-5-sonnet');Snowflakeリージョンで有効になっているモデルのみをリストに含めてください。モデルをテストするには、
SELECT AI_COMPLETE(model => '<model_name>', prompt => 'Hello');を実行します。
Webhook配信の有効化(オプション)
アプリは、外部HTTPエンドポイントにオーディエンスデータを送信できます。この機能はデフォルトで無効になっており、管理者の構成が必要です。
この機能には、構成されたネットワークルールと外部アクセス統合が必要です。
-
Webhookホスト用のネットワークルールを作成します。
CREATE OR REPLACE NETWORK RULE webhook_egress_rule TYPE = HOST_PORT MODE = EGRESS VALUE_LIST = ('your-webhook-host.example.com:443'); -
外部アクセス統合を作成します。
CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION webhook_external_access ALLOWED_NETWORK_RULES = (webhook_egress_rule) ENABLED = TRUE; -
アプリケーションに統合の使用を許可します。
GRANT USAGE ON INTEGRATION webhook_external_access TO APPLICATION TEALIUM_AUDIENCE_DISCOVERY_APP; -
機能を有効にします。これにより、外部アクセス統合が実行中のサービスに自動的に添付されます。
-- デフォルトの統合名WEBHOOK_EXTERNAL_ACCESSを使用します CALL TEALIUM_AUDIENCE_DISCOVERY_APP.main_schema.set_webhook_enabled(TRUE); -- カスタム統合名を指定します CALL TEALIUM_AUDIENCE_DISCOVERY_APP.main_schema.set_webhook_enabled(TRUE, 'MY_CUSTOM_INTEGRATION');後でWebhook配信を無効にするには:
CALL TEALIUM_AUDIENCE_DISCOVERY_APP.main_schema.set_webhook_enabled(FALSE);
オーディエンスデータを送信するには:
- オーディエンスを開き、三点リーダーメニューをクリックします。
- Send to Webhookを選択します。
- HTTPS webhook URLを入力し、必要に応じて基本認証資格情報を入力します。
- Sendをクリックします。データはデフォルトで1,000行のバッチでJSON形式で配信され、最大1,000,000行までです。
すべての配信はAUDIENCE_DISCOVERY_SCHEMA.WEBHOOK_LOGに記録されます。
SELECT * FROM TEALIUM_AUDIENCE_DISCOVERY_APP.AUDIENCE_DISCOVERY_SCHEMA.WEBHOOK_LOG
ORDER BY STARTED_AT DESC;
Tealiumアプリケーションへのユーザーアクセスの構成
Snowflakeユーザーにアプリへのアクセスを許可するために、専用のロールを作成し、そのロールにアプリケーションロールを割り当てます。
-
アプリケーションユーザー用の専用ロールを作成します。
CREATE ROLE IF NOT EXISTS TEALIUM_APP_USER; -
専用ロールに
app_userアプリケーションロールを付与します。GRANT APPLICATION ROLE TEALIUM_AUDIENCE_DISCOVERY_APP.app_user TO ROLE TEALIUM_APP_USER;ユーザーのニーズに合わせてアプリケーションロールを選択します:
app_user: アプリへのアクセスとオーディエンスの作成が可能app_admin: アプリへのアクセス、オーディエンスの作成、アプリ構成の変更、Snowsightでのアプリオブジェクトへのアクセスが可能app_viewer: オーディエンスの作成機能なしでアプリへのアクセスが可能
-
アプリへのアクセスが必要なユーザーに専用ロールを付与します。
GRANT ROLE TEALIUM_APP_USER TO USER <user>;
Tealiumコネクタの外部アクセスの構成
各オーディエンスには、Tealium Snowflakeコネクタなどの外部消費者用にUSERS_EXTERNALセキュアビューが含まれています。このビューは、オーディエンスが非アクティブ化されたときに自動的にゼロ行を返し、再アクティブ化されたときに再開します。
-
外部サービスアカウント用の専用ロールを作成します。
CREATE ROLE IF NOT EXISTS TEALIUM_AUDIENCE_DISCOVERY_EXTERNAL_ROLE; -
app_externalアプリケーションロールを付与します。このロールはセキュアビューのみへのアクセスを提供し、テーブルへのアクセスは提供しません。GRANT APPLICATION ROLE TEALIUM_AUDIENCE_DISCOVERY_APP.app_external TO ROLE TEALIUM_AUDIENCE_DISCOVERY_EXTERNAL_ROLE; -
クエリ実行のためのウェアハウス使用を許可します。
GRANT USAGE ON WAREHOUSE TEALIUM_AUDIENCE_DISCOVERY_WH TO ROLE TEALIUM_AUDIENCE_DISCOVERY_EXTERNAL_ROLE; -
Tealiumサービスアカウントユーザーにロールを付与します。
GRANT ROLE TEALIUM_AUDIENCE_DISCOVERY_EXTERNAL_ROLE TO USER <TEALIUM_SERVICE_USER>;
Tealiumコネクタは次のようにオーディエンスをクエリします:
SELECT * FROM TEALIUM_AUDIENCE_DISCOVERY_APP.<AUDIENCE_SCHEMA>.USERS_EXTERNAL;
ロール制限を確認するために、テスト前にセカンダリロールを無効にします。
USE SECONDARY ROLES NONE;
USE ROLE TEALIUM_AUDIENCE_DISCOVERY_EXTERNAL_ROLE;
-- アクティブなオーディエンスのデータを返すべきです
SELECT * FROM TEALIUM_AUDIENCE_DISCOVERY_APP.AUD_XXXXXXXXXXXXXXXX.USERS_EXTERNAL;
-- 権限不足で失敗するべきです
SELECT * FROM TEALIUM_AUDIENCE_DISCOVERY_APP.AUD_XXXXXXXXXXXXXXXX.USERS;
-- 完了したらセカンダリロールを再有効化します
USE SECONDARY ROLES ALL;
USE ROLE SYSADMIN;
最終更新日 :: 2026年May月20日