Tableau Connector for Snowflake

Build 23.0.8839

接続の設定

コネクタのインストール 後、Snowflake 内のデータのデータソースに接続して作成できます。

データソースの設定

データに接続するには、次の手順を実行してください:

  1. 接続 | To a Server詳細をクリックします。
  2. Snowflake by CData というデータソースを選択します。
  3. 接続に必要な情報を入力します。
  4. サインインをクリックします。
  5. 必要に応じて、データベースおよびスキーマを選択して利用可能なテーブルとビューを確認できます。

Connection Builder の使用

connector は、代表的な接続プロパティをTableau 内で直接利用できるようにします。 しかし、より高度な設定が必要な場合や接続に関するトラブルシューティングが必要な場合には、使いにくいことがあります。 connector には、Tableau の外で接続を作成してテストできる、独立したConnection Builder が付属しています。

Connection Builder にアクセスする方法は2つあります。

  • Windows では、スタートメニューのCData Tableau Connector for Snowflake フォルダの下にあるConnection Builder というショートカットを使用します。
  • また、ドライバーのインストールディレクトリに移動し、lib ディレクトリで.jar ファイルを実行することによってもConnection Builder を開始できます。

Connection Builder では、接続プロパティに値を設定し、接続テストをクリックしてその動作を確認できます。 また、クリップボードにコピーボタンを使用して、接続文字列をコピーすることもできます。 この接続文字列は、Tableau 内のconnector 接続ウィンドウにあるConnection String オプションに指定できます。

Snowflake への接続

Snowflake データベースに接続するには、認証に加えて(下記参照)、次のプロパティを設定します。

  • Url:AWS とAzure の両方のインスタンスがサポートされています。次に例を示します。
    • AWS: https://myaccount.region.snowflakecomputing.com
    • Azure: https://myaccount.region.azure.snowflakecomputing.com

Account が必要となるのは、Url が最初にアカウント名を含む通常の構文に準拠していない場合だけです。この場合に必要なAccount 名は、Snowflake が提供します。

オプションとして、DatabaseSchema を設定して、connector から返されるテーブルとビューを制限できます。

GCP インスタンス

GCP インスタンスへの接続を確立するには、次のURL を指定します。
URL: https://myaccount.gcp.snowflakecomputing.com
次はGCP インスタンスと連携するための接続文字列の例です。
jdbc:snowflake:AuthScheme=Basic;url=https://myaccount.gcp.snowflakecomputing.com;user=Admin;password=test123;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;

Snowflake への認証

connector は、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、UserPassword を設定し、AuthScheme プロパティで認証メソッドを選択します。

パスワード

User およびPassword をSnowflake ユーザーに設定し、AuthSchemePASSWORD に設定します。

キーペア

connector を使用すると、ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成することにより、キーペア認証を使用して認証できます。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、次の値を設定します。

  • User:認証に使用するユーザーアカウント。
  • PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー。
  • PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)。
  • PrivateKeyPassword:指定されたプライベートキーのパスワード。

Okta

AuthSchemeOKTA に設定します。Okta に接続するには、次の接続プロパティを使用します。

  • User:Okta ユーザーに設定。
  • Password:ユーザーのOkta パスワードに設定。
  • MFAPasscode(オプション):デバイスに送信されたOTP コードに設定。このプロパティは、OKTA サインオンにMFA が必要な場合にのみ使用します。
次のSSOProperties がOkta への認証に必要です。

  • Domain:OKTA org ドメイン名に設定。
  • MFAType(オプション):multi-factor タイプに設定。このプロパティは、OKTA サインオンにMFA が必要な場合にのみ使用します。このプロパティには、次のいずれかの値を指定します。
    • OKTAVerify
    • Email
    • SMS
  • APIToken(オプション):顧客がOkta 組織から作成したAPI Token に設定。Okta クライアントリクエストコンテキストをオーバーライドする、信頼されたアプリケーションまたはプロキシ経由でユーザーを認証する場合には、これを指定する必要があります。ほとんどの場合必要ありません。

次は接続文字列の例です。

AuthScheme=OKTA;User=username;Password=password;Url='https://myaccount.region.snowflakecomputing.com';Warehouse=My_warehouse;SSO Properties='Domain=https://cdata-okta.okta.com';

次はOKTA MFA の接続文字列の例です。

AuthScheme=OKTA;User=username;Password=password;MFAPasscode=8111461;Url='https://myaccount.region.snowflakecomputing.com';Warehouse=My_warehouse;SSO Properties='Domain=https://cdata-okta.okta.com;MFAType=OktaVerify;';

AzureAD

AuthSchemeAzureAD に、User をAD ユーザーに設定します。接続すると、ブラウザが開きAzure AD にログインして認証を完了できます。 次はAzureAD の接続文字列の例です。
AuthScheme=AzureAD;Url=https://myaccount.region.snowflakecomputing.com;User=user@domain.onmicrosoft.com;

PingFederate

AuthSchemePingFederate に設定します。PingFederate に接続するには、次の接続プロパティを設定します。

  • User:PingFederate ユーザーに設定。また、PingFederate Data Store にもユーザーを追加する必要があります。接続すると、ブラウザが開きPingFederate にログインして認証を完了できます。
  • Password:ユーザーパスワードに設定。
  • ProofKey(オプション):ブラウザを使用せずに接続する場合は、必ず指定してください。ブラウザの設定では、この値は自動生成されます。
  • ExternalToken(オプション):ブラウザを使用せずに接続する場合に必要です。ブラウザの設定では、この値は自動生成されます。
次はPingFederate(Data Store にActive Directory を使用することを想定した場合)の接続文字列の例です。
AuthScheme=PingFederate;Url=https://myaccount.region.snowflakecomputing.com;User=myuser@mydomain;Account=myaccount;Warehouse=mywarehouse;

Proof Key およびExternal Token の使用

AuthSchemeAzureAD またはPingFederate に設定するには、Proof Key およびExternal Token を使用します。インターネットブラウザで認証を完了する場合、これらの値は自動生成され、Snowflake のログインプロセスで使用される接続文字列に自動的に含まれます。

ブラウザ経由以外の方法で接続する場合は、ProofKey およびExternalToken に値を指定する必要があります。この場合、下記の手順に従って認証します。

  1. 8080 などのポートを指定して、ローカルWeb サーバーを作成します。
  2. 指定したポートを使って、GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。このプロシージャは、ログインSSO URL を返します。
  3. 返されたURL をブラウザにコピーします。
  4. 表示されるページで、ユーザーネームとパスワードを入力します。
  5. ログイン後、コールバックURL が生成され、ローカルのWeb サーバーインスタンスに送信されます。このコールバックURL は特殊な形式になっています。コールバックURL からExternal Token を抽出するためのコードを独自に記述する必要があります。

OAuth

OAuth で認証するには、AuthScheme をOAuth に設定します。カスタムOAuth アプリの作成 で認証して、OAuthClientIdOAuthClientSecret、およびCallbackURL 接続プロパティを取得できます。

NOTE:OAuthAuthenticator と呼ばれる追加の接続プロパティがあります。デフォルト値はAzure ですが、None またはOKTA に設定することもできます。このプロパティは、OAuth アプリケーションがSnowflake に要求するAuthenticator を決定します。

AuthSchemeAzureAD に設定する場合と、AuthScheme をOAuth してOAuthAuthenticatorAzureに設定する場合には違いがあります。

  • AuthScheme=AzureAD:これはブラウザを必要とするSSO 認証形式で、Snowflake 側から見たセキュリティインテグレーションタイプはSAML2 です。
  • AuthScheme=OAuth かつOAuthAuthenticator=Azure:ブラウザを必要としないOAuth 形式です。Snowflake 側から見ると、セキュリティインテグレーションタイプは"external_oauth" です。

デスクトップアプリ

このセクションでは、カスタムOAuth アプリの資格情報を使用したデスクトップ認証について説明します。詳しくは、カスタムOAuth アプリの作成 を参照してください。

OAuth アクセストークンの取得

以下を設定して、接続してください。

  • OAuthClientId:OAuth 統合設定のクライアントID に設定。
  • OAuthClientSecret:OAuth 統合設定のクライアントシークレットに設定。
  • CallbackURL:OAuth 統合設定のリダイレクトURL に設定。
  • InitiateOAuthGETANDREFRESH に設定。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
接続すると、connector はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。connector はこれで次のOAuth プロセスを完了します。
  1. コールバックURL からアクセストークンを取得し、リクエストを認証します。
  2. 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
  3. OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化されるようにします。

手動でのOAuth アクセストークンの取得

次の接続プロパティを設定し、OAuthAccessToken を取得します。

  • InitiateOAuthOFF に設定。
  • OAuthClientId:OAuth 統合設定のクライアントID に設定。
  • OAuthClientSecret:OAuth 統合設定のクライアントシークレットに設定。

続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。

  1. GetOAuthAuthorizationUrl ストアドプロシージャを呼び出します。CallbackURL インプットをアプリ設定で指定したリダイレクトURI に設定します。ストアドプロシージャがOAuth エンドポイントのURL とPKCEVerifier を返します。
  2. URL を開き、ログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。
  3. GetOAuthAccessToken ストアドプロシージャを呼び出します。CallbackURL インプットをアプリ設定で指定したリダイレクトURI に設定します。PKCEVerifier インプットを最初の手順で取得したPKCEVerifier の値に設定します。

ヘッドレスマシン

ヘッドレスマシンのユーザーアカウントでOAuth を使用するようにドライバーを設定するには、インターネットブラウザに対応した別の端末で認証する必要があります。

  1. 以下の2つのオプションから選択します。

    • オプション1:後述の「Verifier code を取得および交換」に従い、OAuthVerifier 値を取得します。
    • オプション2:別のマシンにconnector をインストールし、後述の「OAuth 設定を転送」の説明に従い、通常のブラウザベースのフローで認証後にOAuth 認証値を転送します。

  2. その後、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするようにconnector を設定します。

オプション1:Verifier code を取得および交換

Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。

手順については、カスタムOAuth アプリの作成 を参照してください。このセクションでは、データの認証および接続を行う手順について説明します。

Verifier code を取得するには、ヘッドレスマシンで次のプロパティを設定します。

  • InitiateOAuthOFF に設定。
  • OAuthClientId:OAuth 統合設定のクライアントID に設定。
  • OAuthClientSecret:OAuth 統合設定のクライアントシークレットに設定。

次に、別のマシンから認証してOAuthVerifier 接続プロパティを取得します。

  1. GetOAuthAuthorizationUrl ストアドプロシージャを呼び出します。CallbackURL インプットをアプリ設定で指定したリダイレクトURI に設定します。ストアドプロシージャがOAuth エンドポイントのURL とPKCEVerifier を返します。
  2. 返されたURL をブラウザで開きます。ログインして、connector にアクセス許可を与えます。すると、verifier code を含むコールバックURL にリダイレクトされます。
  3. Verifier の値とPKCEVerifier の値を保存します。OAuthVerifier 接続プロパティにVerifier の値を設定し、PKCEVerifier 接続プロパティにPKCEVerifier の値を設定する必要があります。

最後に、ヘッドレスマシンで、次の接続プロパティを設定してOAuth 認証値を取得します。

  • OAuthClientId:OAuth 統合設定のクライアントID に設定。
  • OAuthClientSecret:OAuth 統合設定のクライアントシークレットに設定。
  • OAuthVerifier:verifier code に設定。
  • PKCEVerifier:PKCE verifier code に設定。
  • OAuthSettingsLocation:暗号化されたOAuth 認証値を指定された場所に永続化。
  • InitiateOAuthREFRESH に設定。

データへの接続

OAuth 設定ファイルが生成されたら、次のプロパティを設定してデータに接続します。

  • OAuthSettingsLocation:暗号化されたOAuth 認証値が保存される場所に設定。アクセストークンの自動リフレッシュを有効にするために、この場所がプロバイダーに読み書きのアクセス許可を与えることを確認してください。
  • InitiateOAuthREFRESH に設定。

オプション2:OAuth 設定を転送

別のマシンにconnector をインストールするには、認証してから、結果のOAuth 値を転送します。

  1. セカンドマシンに、connector をインストールして、次の接続プロパティセットで接続します。
    • OAuthSettingsLocation:書き込み可能な場所に設定。
    • InitiateOAuthGETANDREFRESH に設定。
    • OAuthClientId:アプリケーション設定のクライアントID に設定。
    • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
    • CallbackURL:アプリケーション設定のコールバックURL に設定。
  2. 認証する接続をテストします。生成された認証値は、OAuthSettingsLocation で指定された場所に暗号化されて書き込まれます。接続が正常にテストされたら、OAuth 設定ファイルをヘッドレスマシンにコピーします。ヘッドレスマシンで、次の接続プロパティを設定し、データに接続します。
    • InitiateOAuthREFRESH に設定。
    • OAuthSettingsLocation:OAuth 設定ファイルの場所に設定。アクセストークンの自動リフレッシュを有効にするために、この場所がconnector に読み書きのアクセス許可を与えることを確認してください。

SAML プロバイダー

connector は、OneLogin などのSAML ベースのID プロバイダーを汎用的にサポートしています。

AuthSchemeExternalBrowser に設定します。

OneLogin

User を認証したいSnowflake ユーザーに設定します。

接続を試みると、SAML プロバイダーは、デフォルトのWeb ブラウザでログインプロンプトを起動します。

Snowflake を認証するために、SAML プロバイダーに紐づいた認証情報を提供します。

アクセス制御の設定

認証ユーザーがシステム定義のロールにマップしている場合は、RoleName プロパティで指定します。

次のステップ

データビジュアライゼーションを作成するには、コネクタの使用 を参照してください。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839