メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://domoinc-arun-raj-connectors-domo-479695-remove-crime-report.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

はじめに

Cloud Amplifierを使用すると、Snowflake内のエンタープライズデータアセットを使用するためのアクセス権をDomoに付与できます。SnowflakeとCloud Amplifierの統合により、データは組織のガバナンス構造とデータ構造内でSnowflakeに残り、Snowflakeはデータアクセスとクエリ処理を制御します。Cloud Amplifierでは、Domoのデータエクスペリエンス機能の包括的なポートフォリオにアクセスして、データからより多くの価値を引き出すことができます。 このガイドでは、Snowflakeに精通しているユーザー向けに、読み取り/書き込み機能の設定やOAuthの設定方法など、SnowflakeをCloud Amplifierに登録する方法を説明します。
**注記:**Magic ETLはSnowflakeとCloud Amplifierの統合を活用するため、ユーザーはSnowflake内のデータを簡単に変換することができます。Snowflake上のMagic ETLについては、こちらを参照してください。

構造的な概要

この画像は、Cloud Amplifier-Snowflakeの統合を表しています。
Snowflake architecture diagram.png

必要条件

Cloud Amplifierの設定は、読み取り専用または読み取り/書き込みの2つの部分で構成されています。 読み取り専用設定が完了したら、Snowflakeから読み込まれた仮想テーブルの使用を開始できます。この仮想テーブルは、カードの作成、アラートの設定、Magic ETLフローでの入力に使用できます。読み取り専用設定を行い、その後、書き込み設定に戻ることができます。

推奨されるアカウントの作成 - すべて

Snowflake接続を設定する前に、以下の手順を完了することを強く推奨します。
  • (推奨)Snowflakeサービスアカウントを作成する — この統合専用の新しいSnowflakeアカウントを作成することを推奨します。Snowflakeで読み取りアクセス権を持つ任意のアカウントを使用できますが、サービスアカウントがベストプラクティスです。DomoでSnowflakeの仮想テーブルを作成するには、このアカウントにデフォルトのSnowflake環境への読み取りアクセス権が必要です。
  • (推奨)Domoサービスアカウントを作成する — この統合専用の新しいDomoアカウントを作成することを推奨します。アカウント権限では、「クラウドアカウントを管理」および「DataSetを管理」の許可が有効になっている必要があります。
権限と許可の詳細については、「カスタマイズされた権限を管理する」を参照してください。

アカウントの作成 - 書き込み

書き込み設定のためにCloud Amplifierに登録する前に、以下の手順を完了する必要があります。
  • (必須)デフォルトのSnowflakeデータベースを作成する — Domoで管理されるテーブルに書き込むには、Domo専用のSnowflakeデータベースが必要です。設定時は、このデータベースがデフォルトになります。
**注記:**このデータベース内のDomoが管理していないテーブルは、Cloud Amplifierには表示されません。
  • (条件付き)IPアドレスを許可リストに追加する — Snowflake環境でIPアドレスにもとづいてアクセスが制限されている場合は、DomoのIPを許可リストに追加する必要がある場合があります。
ネットワーク接続のDomo IPアドレスの許可の詳細については、こちらを参照してください。
**重要:**書き込み設定プロセス中に、統合を作成するためのSQLステートメントが提供されます。これらのステートメントをSnowflake環境に対して実行するには、ACCOUNTADMIN権限を持つSnowflake管理者である必要があります。
これはSnowflakeの要件であり、これによってDomo内でSnowflake管理者の認証情報を管理する必要がなくなります。これは、Snowflake管理者がDomoにアクセスできない可能性のある大規模な組織では特に重要です。統合が確立された後、Snowflake管理者アカウントは不要になります。

読み取り専用設定

以下の手順に従って、読み取り専用アクセス権を設定し、Cloud Amplifierを使用してDomo内からSnowflakeテーブルの参照を開始します。
  1. **[Data Warehouse]**に移動します。
  2. キャンバス上のadd.jpg **[新しいクラウド統合を追加]**を選択します。
    Screenshot
  3. モーダルで**[Snowflake]**を選択します。
    クラウドの統合モーダルが表示されます。
    native integration.png
  4. **[+新しい統合を追加]**を選択します。
    Screenshot
  5. Snowflakeの設定情報を入力します。
    • [統合名] — Domoの統合を識別するのに役立つ固有の名前です。OAuthを設定する場合、この名前はDomoユーザーにSnowflakeネイティブ接続への参照を示す名前として表示されます。これは統合名とは異なり、Snowflakeには影響しません。
    • (オプション)****[統合の説明] — 統合の説明です。
    • [Snowflake接続URL] — SnowflakeのURLです。これはSnowflakeログインページに表示されています。URLのフォーマットは次の通りです。<組織名>-<アカウント名>.snowflakecomputing.com
      SnowflakeのURLを確認する方法については、Snowflakeのドキュメントexternal link.png
      を参照してください。
    • [Snowflakeユーザー名]/[Snowflakeパスワード] 作成したSnowflakeサービスアカウントの認証情報です。
      Screenshot 2024-11-06 at 12.01.26 PM.png
  6. **[Snowflakeの権限設定]**までスクロールして、権限オプションを選択します。
    • [デフォルトの権限を使用] — デフォルトでは、ユーザーがSnowflakeに接続すると、初期の権限が割り当てられます。デフォルトの権限が指定されていない場合、システムはデフォルトでパブリック権限になり、何にもアクセスできません。
    • [権限を指定] — 新規ユーザーに、パブリック権限ではなくデフォルトの権限を選択できます。
    • [二次的な権限を使用] — これはSnowflakeがサポートする機能です。設定すると、Snowflakeは、自身に付与されている権限でテーブルにアクセスできるユーザーがいるかどうかを自動的に判断します。SnowflakeユーザーがSnowflakeで複数の権限を持ち、各権限が複数のテーブルにアクセスできる場合、そのユーザーは頻繁に権限を切り替える必要があります。二次的な権限機能は、複数の権限を切り替えることなくテーブルにアクセスできるようにすることでこれを防止します。このオプションでは、クエリ時にユーザーがSnowflakeの権限を選択することはできません。DomoがSnowflakeにクエリを実行する必要がある場合は、代わりにすべてのユーザーに特定の権限を定義できます。
  7. **[OAuthを設定]**で、OAuthでユーザーを個別に認証できるようにスイッチを切り替えます。後述の「DomoのOAuthを設定する」を参照してください。
  8. データの読み込みとクエリに使用するSnowflakeウェアハウスを選択します。
    load and query.png
  9. これで、読み取り専用設定が完了しました。以下のステップに進み、DomoにSnowflakeデータを追加します。
    read complete.png
  10. (オプション)**[データ表を選択]を選択して、DomoでDataSetを作成します。
    モーダルに、Domoに追加するSnowflakeのデータベース、スキーマ、テーブルのナビゲーションが表示されます。追加するデータを見つけて選択し、
    [DataSetを作成]**を選択します。
    database and schema.png

書き込み設定

このセクションの手順を完了する前に、上記の必要条件を満たしてください。 書き込み機能のためのCloud Amplifierへの登録は、Snowflake管理者に必要な複数のステップからなるプロセスです。 以下の図は、SnowflakeインスタンスをCloud Amplifierに登録するプロセスを示しています。
registering graphic.png
書き込み機能を設定するには、以下のステップに従います。
  1. Snowflakeサービスアカウントに割り当てられている**[デフォルトの権限]の名前と[Snowflakeの書き込みデータベース名]**を入力します。 **[Snowflakeの書き込みデータベース名]**は、Domoからの新しいデータがすべて追加されるデフォルトのSnowflakeデータベースです。名前では 大文字と小文字が区別され、各文字は大文字にする必要があります。
  2. **[SQLを生成]**を選択し、この統合に固有のSQLを生成します。
    generate sql.png
**重要:**このSQLはほかの統合やアカウントには使用できません。認証情報を変更した場合は、再生成する必要があります。 3. ダイアログからSQLをコピーし、Snowflakeウェアハウスに対してSQLを実行します。このSQLは、ACCOUNTADMIN権限を持つSnowflakeアカウント管理者のみが実行できます。
このSQLの出力は統合のCSVファイル記述で、Domoで設定を続けるために必要なIDが含まれています。
execute SQL.png
4. SQLの出力から以下の値をコピーします。
  • ユーザーARN:STORAGE_AWS_IAM_USER_ARN
  • 外部ID:STORAGE_AWS_EXTERNAL_ID
    external id.png
    DomoにARNと外部IDを登録するための追加のSQLが生成されます。ACCOUNTADMIN権限を持つSnowflake管理者は、このプロセスの前のステップでデータを保存するために選択したウェアハウスに対してこのSQLを実行する必要があります。
    run sql.png
    execute 2.png
  1. Domoで、スクリプトが正常に実行されたことを確認します。
    DomoはSnowflakeの統合を初期化し、Snowflakeで必要なアセット(テーブルやスキーマなど)を作成して、このアカウントでCloud Amplifierを有効にします。
  2. DomoがSnowflake環境に変更を加えることができることを理解していることを確認するボックスにチェックを入れて、書き込み統合を確定します。
    finalize write integration.jpeg
  3. **[適用]**を選択します。
    Snowflakeのテーブルを選択する画面が表示された場合は、接続が確立しています。
  4. (オプション)モーダルに、Domoに追加するSnowflakeのデータベース、スキーマ、テーブルのナビゲーションが表示されます。追加するデータを見つけて選択し、[DataSetを作成]を選択します。
    Screenshot 2024-06-21 at 1.34.38 PM.png
これでSnowflakeの書き込み設定が完了しました。

Snowflakeから供給されたDataSetを使用する

Snowflakeから供給されたDataSetをDataFlowで使用すると、フローの実行時にSnowflakeがそのデータをライブでクエリします。また、Snowflakeから供給されたDataSetは、テーブルのLAST_ALTEREDの日時にもとづいて15分ごとに更新がチェックされます。最後にチェックした後にテーブルが更新された場合、このテーブルをトリガーとして使用するDataFlowが実行されます。

Snowflake接続のセキュリティ

Snowflake接続を保護するには、キーペア認証とユーザー名とパスワードによる基本認証の2つのオプションがあります。OAuthの設定を選択することもできます。
**重要:**セキュリティ強化のため、キーペア認証を強く推奨します。
基本認証を使用して、Snowflake接続のURL、ユーザー名、パスワードを入力します。 キーペアの実装については、以下で説明します。

Snowflakeキーペア認証

Snowflakeは、セキュリティ強化のためにキーペア認証をサポートしています。 以下の手順に従って設定します。
  1. Snowflakeの前提条件についてのこちらの記事external link.png のすべての手順を完了して、ここに戻ります。
  2. **[Data Warehouse]**に移動します。
  3. 左側のパネルで**[クラウド接続を管理]**を選択します。
    Screenshot
  4. モーダルで**[Snowflake]**を選択します。
    select snowflake.jpg
  5. 既存の統合にマウスポインターを合わせ、 [オプション]>**[アカウントを編集]**を選択するか、新しい統合を作成します。
  6. 統合モーダルの**[Snowflakeアカウントを編集][キーペア]**のラジオボタンを選択します。モーダルには、キーペア認証に関するSnowflakeのドキュメントを確認するオプションが用意されています。
    key pair.jpg
  7. **[ファイルを選択]**を選択して、秘密鍵ファイルをアップロードします。
    choose a file.jpg
  8. Snowflakeの秘密鍵パスフレーズを入力します。
  9. モーダルの残りの部分を移動し、その他の変更を行ってから、統合を保存します。
**注記:**接続に問題がある場合は、後述の「よくある質問」および「トラブルシューティング」セクションを参照してください。

OAuthの設定

SnowflakeのOAuthを有効にすることができます。これには、SnowflakeとCloud Amplifierの統合のすべてのユーザーがSnowflakeで認証を受け、許可されたSnowflakeデータのみにアクセスできるようにする必要があります。 SnowflakeのOAuthを設定するには、まずSnowflakeで設定を完了し、次にDomoで設定を完了する必要があります。その後、Okta SSOと統合することを選択できます。

SnowflakeのOAuthを設定する

Snowflake OAuthセキュリティ統合の設定から始めます。
  1. ACCOUNTADMINのSnowflakeコンソール内で、以下のクエリを実行します。
    • 統合名[Domo_platform]は、任意の値に置き換えることができます。
    • Domoのインスタンスにもとづいて、リダイレクトURI(oauth_redirect_uri)が正しいことを確認します。 create or replace security integration [domo_platform] type = oauth enabled = true oauth_client = custom oauth_client_type = 'CONFIDENTIAL' oauth_redirect_uri = 'https://oauth.domo.com/api/data/v1/oauth/providers/snowflake-oauth/exchange' oauth_issue_refresh_tokens = true oauth_refresh_token_validity = 86400; -- Update as appropriate, currently 1 day
  2. 以下のように、統合名を使用して新しいセキュリティ統合の詳細が正しいことを確認します。
    desc security integration [domo_platform]
    
  3. 以下のコマンドを実行して、新しいクライアントIDとシークレットを取得します。
    select system$show_oauth_client_secrets('domo_platform') -- for obtaining the client id and secret for use inside of Domo
    
  4. Domo設定プロセスで使用するためにクライアントIDとシークレットをコピーします。

DomoのOAuthを設定する

  1. 上記の読み取り専用設定の手順1~8を実行してから、ここに戻ります。
  2. スイッチを切り替えてOAuthを有効にすると、以下のフィールドが表示されます。
    • [Snowflakeのアカウント識別子] — このフィールドが既に入力されている場合は、変更しないでください。
    • [SnowflakeクライアントID] — Snowflakeから取得したクライアントIDを貼り付けます。
    • [Snowflakeクライアントシークレット] — Snowflakeから取得したクライアントシークレットを貼り付けます。
      Screenshot
  3. 使用するSnowflakeの権限を選択し、**[認証]**を選択します。
    Screenshot
    Snowflakeのモーダルが表示されます。
**重要:括弧内に入力された[Domo_platform]名がすべて大文字であることを確認してください。そうでないと、SnowflakeはクライアントIDをシークレットで取得するときにエラーを返します。 4. Snowflakeの認証情報を入力し、[サインイン]**を選択します。
snowflake popup.jpg
5. アプリケーションの権限を確認し、**[許可]**を選択します。
app permissions.jpg
6. 行の追加や削除など、テーブルに対する変更がデータベースのメタデータで確認される頻度と、更新が必要になるまでのDomoのキャッシュの有効期間を選択します。Domoでキャッシュを無効にし、Snowflakeに対して各クエリをライブで実行する場合は、**[キャッシュTTL]**フィールドの値を0に設定します。Snowflakeインスタンスを監視して、キャッシュTTLを無効にした場合の影響を理解することを推奨します。
ttl settings.jpg
7. **[次へ]を選択し、モーダルの[ウェアハウスを選択]画面に移動します。 8. 接続するウェアハウスを選択し、[次へ]**を選択して接続を終了します。 SnowflakeとCloud Amplifierの接続がData Warehouse内に表示されるようになります。 接続をOkta SSOと統合する場合は、以下の手順に従います。

Oktaを設定してSSOでアクセスする

以下のOkta SSOの手順に従う前に、OAuthの設定を完了する必要があります。
  1. Oktaの管理者ダッシュボードに移動します。
    okta admin dashboard.jpg
  2. 左側のナビゲーションで**[Applications]>[Applications]に移動します。**
    applications.jpg
  3. **[Browse App Catalog]**を選択します。
    browse app catalog.jpg
  4. 検索バーを使用し、新しいSnowflakeの統合を検索して選択します。
    new snowflake integration.jpg
  5. **[Application label]**フィールドで、新しい統合にラベルを付けます。*例:*Snowflake <アカウント>
  6. **[Subdomain]**フィールドでは、以下の手順に従います。
    • SnowflakeアカウントのURLが新しいURLフォーマット(https://<組織名>-<アカウント名>.snowflakecomputing.com)である場合、サブドメインの値は<組織名>-<アカウント名>です。
    • SnowflakeアカウントのURLが、組織名を含まず、クラウドリージョンを含む古いフォーマット(https://<アカウントロケーター>.<リージョン>.snowflakecomputing.com)になっている場合、サブドメインはそのリージョンを含むSnowflakeアカウント名です。*例:<アカウントロケーター>.<リージョン>
      snowflake example subdomain.jpg
      *
  7. ユーザーにアプリケーションアイコンを表示するかどうかを選択します。デフォルトでは表示されます。
  8. **[Automatically log in when user lands on login page]ボックスにチェックを入れて、[Next]**を選択します。
  9. **[Sign-On Options]セクションで、[SAML 2.0]**のラジオボタンを選択します。
    saml 2.0.jpg
  10. 下にスクロールして**[View Setup Instructions]**を選択し、指示の別のページを開きます。
    view setup instructions callout.jpg
  11. 新しいページに移動する前に、**[Done]**を選択して設定を完了します。
    select done.jpg
  12. 設定手順の新しいページに移動し、手順を完了します。

よくある質問

Domoの統合のために、Snowflake内に専用のデータベースを作成してください。既存のSnowflakeデータベースに接続した場合、Domoにはそのデータベースにあるテーブルは表示されません。
Domoは、CDWアカウント内でデータの読み込み、クエリ、データ変換などの様々なアクティビティを実行します。多くの使用事例で、小規模なマルチクラスターウェアハウス(読み込み、クエリ、変換用の多目的ウェアハウス)を自動的にスケールアップするように設定することを推奨します。最大クラスターサイズを選択してスケールの上限を設定し、コストエンベロープを制限できます。実稼働ワークロードの準備が整い、既存の機能的なウェアハウスを使用することと、Domo統合用の新しいウェアハウスを設定することのどちらがよいかを検討している場合は、Cloud Amplifierによる最適化についての Domoブログの投稿 を参照してください。
Snowflakeのデータについて、Domoはデータを変換するための2つの異なるメカニズムをサポートしています。
  1. DataSetビュー — DataSetビューは、 Views Explorerツールを使用して、Snowflake DataSetにデータ変換を作成します。グラフィックユーザーインターフェースから、フィルター、グループ化/集計、JOIN、UNION、計算列の作成などの操作を実行できます。DataSetビューは仮想DataSetとして作成され、クエリは親DataSetに返送されます。
    注記: DomoでDataSetビューを作成しても、Snowflakeにビュー(通常のビューまたはマテリアライズドビュー)は作成されません。ビューの定義はDomoに保存され、必要に応じて結果のクエリがSnowflakeのテーブルに送信されます。
  2. Magic ETL DataFlow — Magic ETLは、SnowflakeのCDW上で実行するDomoでサポートされています。SnowflakeデータでMagic ETLを使用すると、データはSnowflakeからMagic ETLに一時的な状態でエクスポートされて処理された後、Snowflakeに書き戻されます。Domoはこのデータのみを一時的に処理し、DataFlowの出力はDomoに保存しません(Snowflakeウェアハウスに送信されます)。
    注記: データは、Magic ETL実行環境で7日間キャッシュされるか、そのMagic ETL実行から最新の2つのデータバージョンにキャッシュされます。
DomoをSnowflakeアカウントに接続すると、Domoは2つのクラスのデータベースと基盤となるテーブルを操作します。独立したパイプラインまたは取り込みメカニズムを使用して直接作成して更新したテーブルは、Domoで探索して登録し、読み取り専用アクセスを行えます。Domoは、これらのお客様が管理するデータベースを読み取り、直接クエリできます。また、読み取り/書き込みアクセス用にDomoで新しいデータベースを作成することを推奨します。Domoは、このDomoで管理されるデータベースを使用して、Domoインジェストパイプライン(Snowflakeにデータを取り込むのに利用できる数千ものコネクターなど)から取得したデータを書き込みます。Domoは、このDomoで管理されるデータベースを使用してデータ変換の出力(DataFlow出力)を作成します。
Snowflakeからの権限は、プログラムによってDomoに渡されるわけではありません。ただし、Domoのネイティブの権限モデルと、データセキュリティのためのPersonalized Data Permission(PDP)を使用して、Snowflakeの基盤となるアセットへのデータアクセスを管理することはできます。
  • Snowflakeにデータを残す — 最大の違いは、すべてのSnowflakeコネクターがSnowflakeからDomoにデータをインポート/複製しているのに対し、Cloud AmplifierはSnowflakeにデータを残していることです。
  • 一括作成 — Cloud Amplifierでは、最大50個のSnowflakeのテーブルを検索して一括選択し、50個の異なるDataSetを即座に作成できます。コネクターを使用してこれを行うには、各DataSetをコネクターで個別に設定する必要があります。
これは、Snowflakeビューの標準動作です。Snowflakeエンドポイントは、データが明示的にクエリされない限り、行数を提供しません。
Snowflakeで、ユーザーに対する所有者権限またはセキュリティ/管理者権限を持っていることを確認します。
こちらの Snowflakeのドキュメント のすべての指示に従います。パスフレーズが、キーペアの作成に使用したパスフレーズと一致し、ALTER USERステートメントが正常に実行されたことを確認します。

このページのトップへ

トラブルシューティング

Cloud AmplifierとSnowflakeの統合で問題が発生した場合、以下の情報が役立つ可能性があります。 Domoサポート にリクエストを送信することもできます。
アカウントにアクセス権のあるテーブルが見つからない場合は、そのテーブルがマテリアライズされているかどうかを確認してください。Snowflake側の一時的なテーブルや仮のテーブルは、Cloud AmplifierでDataSetを作成する際には使用できません。
Cloud AmplifierとSnowflakeの統合に問題がある場合は、以下の手順に従います。
  1. サービスアカウントの認証情報を使用してSnowflakeにログインします。
  2. インポートするデフォルトのSnowflakeデータベースとクエリテーブルが表示されることを確認します。
ACCOUNTADMIN権限を持つSnowflake管理者が、Domoにより提供されるSQLをSnowflakeで実行していることを確認します。
DomoのSnowflake接続URLがSnowflakeログインURLと一致していることを確認します。URLはSnowflakeログインページにあります。URLのフォーマットは次のようになります。 <インスタンス名>.<リージョン>. snowflakecomputing.com
次のステップ: 統合が完了したら、 Snowflake上のMagic ETL の使い方や「 Magic ETL DataFlowを作成する 」をご覧ください。