[Ultimate]{class="badge positive"}

Snowflake ソース

IMPORTANT
  • Snowflake ソースは、Real-Time Customer Data Platform Ultimateを購入したユーザーがソースカタログで利用できます。
  • デフォルトでは、Snowflake ソースはnullを空の文字列として解釈します。 Adobe担当者に連絡して、null値がnullとしてAdobe Experience Platformに正しく書き込まれていることを確認してください。
  • Experience Platformでデータを取り込むには、すべてのテーブルベースのバッチソースのタイムゾーンをUTCに設定する必要があります。 Snowflake ソースでサポートされているタイムスタンプは、TIMESTAMP_NTZとUTC時間だけです。

Snowflakeは、組織が大量のデータを効率的に保存、処理、分析できるように設計された、クラウドベースのデータ ウェアハウス プラットフォームです。 クラウドの拡張性と柔軟性を活用するために構築されたSnowflakeは、データ統合、高度な分析、チーム間でのシームレスな共有をサポートしています。 フルマネージドサービスとして、Snowflakeは、従来のデータベースに共通するメンテナンスの複雑さを排除し、データからインサイトと価値を引き出すことに集中できるようになります。

Snowflake ソースを使用して、SnowflakeからAdobe Experience Platformにデータを接続して取り込むことができます。 Snowflake ソースを設定してExperience Platformに接続する方法については、以下のドキュメントを参照してください。

前提条件 prerequisites

このセクションでは、Snowflake ソースをExperience Platformに接続する前に実行する必要がある設定タスクの概要を説明します。

IP アドレスの許可リスト

ソースをExperience Platformに接続する前に、リージョン固有のIP アドレスをードに追加する必要があります。 詳しくは、Experience PlatformへのIP アドレスの許可リストに加えるに関するガイドを参照してください。

必要な資格情報の収集

Snowflake ソースを認証するには、次の資格情報プロパティの値を指定する必要があります。

アカウントキー認証(Azure)

アカウント キー認証を使用してAzure上のSnowflakeをExperience Platformに接続するために、次の資格情報の値を指定します。

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
資格情報 説明
account アカウント名は、組織内のアカウントを一意に識別します。 この場合、異なるSnowflake組織のアカウントを一意に識別する必要があります。 これを行うには、アカウント名の前に組織名を付ける必要があります。 例えば、myorg-myaccount.snowflakecomputing.com のようになります。追加のガイダンスについては、​ アカウント IDの取得 Snowflake に関する節を参照してください。 詳しくは、Snowflake ドキュメントを参照してください。
warehouse Snowflake ウェアハウスは、アプリケーションのクエリ実行プロセスを管理します。 各Snowflake ウェアハウスは互いに独立しており、Experience Platformにデータを取り込む際に個別にアクセスする必要があります。
database Snowflake データベースには、Experience Platformに取り込むデータが含まれています。
username Snowflake アカウントのユーザー名。
password Snowflake ユーザーアカウントのパスワード。
role Snowflake セッションで使用する既定のアクセス制御の役割。 役割は、指定されたユーザーに既に割り当てられている既存の役割である必要があります。 既定の役割はPUBLICです。
connectionString Snowflake インスタンスへの接続に使用される接続文字列。 Snowflakeの接続文字列パターンはjdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}です。
キーペア認証(Azure)

キーペア認証を使用するには、まず2048 ビット RSA キーペアを生成します。 次に、キーペア認証を使用してAzure上のExperience Platformに接続する次の資格情報の値を指定します。

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
資格情報 説明
account アカウント名は、組織内のアカウントを一意に識別します。 この場合、異なるSnowflake組織のアカウントを一意に識別する必要があります。 これを行うには、アカウント名の前に組織名を付ける必要があります。 例えば、myorg-myaccount.snowflakecomputing.com のようになります。追加のガイダンスについては、​ アカウント IDの取得 Snowflake に関する節を参照してください。 詳しくは、Snowflake ドキュメントを参照してください。
username Snowflake アカウントのユーザー名。
privateKey Base64- アカウントのSnowflake エンコードされた秘密鍵。 暗号化された秘密鍵または暗号化されていない秘密鍵を生成できます。 暗号化された秘密鍵を使用している場合は、Experience Platformに対する認証時に秘密鍵パスフレーズも指定する必要があります。 詳しくは、秘密鍵の取得に関する節を参照してください。
privateKeyPassphrase 秘密鍵パスフレーズは、暗号化された秘密鍵で認証する際に使用する必要がある追加のセキュリティレイヤーです。 暗号化されていない秘密鍵を使用している場合は、パスフレーズを指定する必要はありません。
port インターネット経由でサーバーに接続する際にSnowflakeが使用するポート番号。
database Experience Platformに取り込むデータを含むSnowflake データベース。
warehouse Snowflake ウェアハウスは、アプリケーションのクエリ実行プロセスを管理します。 各Snowflake ウェアハウスは互いに独立しており、Experience Platformにデータを取り込む際に個別にアクセスする必要があります。

これらの値について詳しくは、Snowflake キーペア認証ガイド ​を参照してください。

基本認証(AWS)

基本認証を使用してAWS上のExperience PlatformにSnowflakeを接続するには、次の資格情報の値を指定します。

note warning
WARNING
Snowflake ソースの基本認証(またはアカウントキー認証)は、2025年11月に廃止されます。 ソースを引き続き使用し、データベースからExperience Platformにデータを取り込むには、キーペアベースの認証に移行する必要があります。 非推奨(廃止予定)について詳しくは、資格情報の侵害リスクの軽減に関するSnowflake ベストプラクティスガイド ​を参照してください。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
資格情報 説明
host Snowflake アカウントが接続するホスト URL。
port インターネット経由でサーバーに接続する際にSnowflakeが使用するポート番号。
username Snowflake アカウントに関連付けられているユーザー名。
password Snowflake アカウントに関連付けられているパスワード。
database データの取得元となるSnowflake データベース。
schema Snowflake データベースに関連付けられているスキーマの名前。 データベースにアクセス権を付与するユーザーがこのスキーマにもアクセス権を持っていることを確認する必要があります。
warehouse 使用しているSnowflake ウェアハウス。
キーペア認証(AWS)

キーペア認証を使用するには、まず2048 ビット RSA キーペアを生成します。 次に、キーペア認証を使用してAWS上のExperience Platformに接続する次の資格情報の値を指定します。

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
資格情報 説明
account アカウント名は、組織内のアカウントを一意に識別します。 この場合、異なるSnowflake組織のアカウントを一意に識別する必要があります。 これを行うには、アカウント名の前に組織名を付ける必要があります。 例えば、http://myorg-myaccount.snowflakecomputing.com/ のようになります。追加のガイダンスについては、​ アカウント IDの取得 Snowflake に関するガイドを参照してください。 詳しくは、Snowflake ドキュメントを参照してください。
username Snowflake アカウントのユーザー名。
privateKey Snowflake ユーザーの秘密鍵です。base64はヘッダーや改行のない1行としてエンコードされています。 準備するには、PEM ファイルの内容をコピーし、BEGIN/END行とすべての改行を削除してから、結果をbase64 エンコードします。 詳しくは、秘密鍵の取得に関する節を参照してください。 メモ:​暗号化された秘密鍵は、現在、AWS接続ではサポートされていません。
port インターネット経由でサーバーに接続する際にSnowflakeが使用するポート番号。
database Experience Platformに取り込むデータを含むSnowflake データベース。
warehouse Snowflake ウェアハウスは、アプリケーションのクエリ実行プロセスを管理します。 各Snowflake ウェアハウスは互いに独立しており、Experience Platformにデータを取り込む際に個別にアクセスする必要があります。

これらの値について詳しくは、Snowflake キーペア認証ガイド ​を参照してください。

アカウント IDの取得 retrieve-your-account-identifier

Experience PlatformでSnowflake インスタンスを認証するためにこれを使用するので、Snowflake UI ダッシュボードからアカウント IDを取得する必要があります。

アカウント IDを取得するには:

  • Snowflake アプリケーション UI ダッシュボード ​を使用して、アカウントにアクセスします。
  • 左側のナビゲーションで「Accounts」を選択し、ヘッダーから「Active Accounts」を選択します。
  • 次に、情報アイコンを選択し、現在のURLのドメイン名を選択してコピーします。

ドメイン名が選択されたSnowflake UI ダッシュボード。

RSA キーペアの生成

コマンドラインインターフェイスでOpenSSLを使用して、2048 ビットのRSA キーペアをPKCS#8形式で生成します。 セキュリティ用に暗号化された秘密鍵を作成することをお勧めします。これにはパスフレーズが必要です。

暗号化された秘密鍵を生成

暗号化されたSnowflake秘密鍵を生成するには、ターミナルで次のコマンドを実行します。

code language-bash
openssl genrsa 2048 | openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8# You will be prompted to enter a passphrase. Store this securely!
暗号化されていない秘密鍵を生成

暗号化されていないSnowflake秘密鍵を生成するには、ターミナルで次のコマンドを実行します。

code language-bash
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt

秘密鍵から公開鍵を生成

次に、コマンドラインインターフェイスで次のコマンドを実行して、秘密鍵に基づく公開鍵を作成します。

openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub# You will be prompted to enter the passphrase if the private key is encrypted.

公開鍵をSnowflake ユーザーに割り当てます

生成された公開鍵をExperience Platformが使用するSnowflake サービスユーザーに関連付けるには、管理者ロール( SECURITYADMINSnowflakeなど)を使用する必要があります。 公開鍵コンテンツを取得するには、rsa_key.pub ファイルを開き、-----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY-----行を除くコンテンツ全体をコピーします。 次に、Snowflakeで次のSQLを実行します。

ALTER USER {YOUR_SNOWFLAKE_USERNAME}>SET RSA_PUBLIC_KEY='{PUBLIC_KEY_CONTENT}';

Base64で秘密鍵をエンコードします

Experience Platformでは、接続設定時に秘密鍵をBase64でエンコードし、文字列として提供する必要があります。 適切なツールまたはスクリプトを使用して、rsa_key.p8 ファイルの内容を1つのBase64文字列にエンコードします。

TIP
エンコーディングプロセスの前または後に、ヘッダー/フッター行(-----BEGIN ENCRYPTED PRIVATE KEY----- and -----END ENCRYPTED PRIVATE KEY-----)を含む余分なスペースや改行がないことを確認してください。これにより、認証エラーが発生する可能性があります。

設定の確認

Experience PlatformでSnowflake ソース接続を作成する前に、ユーザーの​ Default Role ​と​ Default Warehouse ​がExperience Platformで提供する値と一致していることを確認する必要があります。 これらの設定は、Snowflake SQL コマンドを使用してDESCRIBE USER {USERNAME} UIで確認できます。

または、次の手順に従って設定を確認することもできます。

  • 左側のナビゲーションで「Admin」を選択し、「Users & Roles」を選択します。
  • 適切なユーザーを選択し、右上隅の省略記号(...)を選択します。
  • 表示されるEdit user ウィンドウで、Default Roleに移動して、特定のユーザーに関連付けられている役割を表示します。
  • 同じウィンドウで、Default Warehouseに移動して、特定のユーザーに関連付けられているウェアハウスを表示します。

ロールとウェアハウスを確認できるSnowflake UI。

次の手順

設定が完了したら、次にSnowflake アカウントをExperience Platformに接続します。 詳しくは、次のドキュメントを参照してください。

APIを使用してSnowflakeをExperience Platformに接続する

UIを使用してSnowflakeをExperience Platformに接続する

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089