ODBC Driver for Box

Build 23.0.8839

Linux DSN の構成

このセクションでは、以下のいくつかのLinux ディストリビューションでODBC 接続をセットアップしDSN を設定する方法を説明します:Ubuntu のようなDebian ベースのシステム、Red Hat Enterprise Linux (RHEL)、CentOS、およびFedora のようなRed Hat Linux プラットフォーム。

Linux の最小バージョン

Red Hat ベースおよびDebian ベースシステムでサポートされる最小バージョンは以下のとおりです。

OSMin. Version
Ubuntu11.04
Debian7
RHEL6.9
CentOS6.9
Fedora13
SUSE12.1

ドライバー依存関係のインストール

必要な依存関係をインストールするには、次のコマンドをルートとしてまたはsudo で実行します。

  • Debian/Ubuntu:
    apt-get install libc6 libstdc++6 zlib1g libgcc1
  • RHEL/CentOS/Fedora:
    yum install glibc libstdc++ zlib libgcc

本製品 が必要とする対応ライブラリは以下のとおりです。

Debian/Ubuntu PackageRHEL/CentOS/Fedora PackageFile
libc6glibclinux-vdso.1
libc6glibclibm.so.6
libc6glibclibrt.so.1
libc6glibclibdl.so.2
libc6glibclibpthread.so.0
libc6glibclibc.so.6
libc6glibcld-linux-x86-64.so.2
libstdc++6libstdc++libstdc++.so.6
zlib1gzliblibz.so.1
libgcc1libgcclibgcc_s.so.1

ドライバーのインストール

標準のパッケージ管理システムを使用してドライバーをインストールできます。

Ubuntu のようなDebian ベースのシステムでは、次のコマンドをroot またはsudo で実行します。

dpkg -i /path/to/driver/setup/BoxODBCDriverforUnix.deb 

RPM パッケージ形式をサポートするシステムでは、次のコマンドをroot またはsudo で実行します。

rpm -ivh /path/to/driver/BoxODBCDriverforUnix.rpm 

ドライバーのライセンス

次のコマンドを実行して本製品 のライセンスを取得します。評価版をアクティベートするには、<key> の入力を省略してください。

cd /opt/cdata/cdata-odbc-driver-for-box/bin/
sudo ./install-license.sh <key>

ドライバーマネージャー経由の接続

ドライバーマネージャーはドライバーをロードし、アプリケーションからドライバーに関数呼び出しを渡します。本製品 をドライバーマネージャーに登録して、ドライバーマネージャーのコンフィギュレーションファイルにDSN を定義する必要があります。

本製品 のインストールでは、本製品 をunixODBC ドライバーマネージャーに登録し、システムDSN を作成します。UnixODBC ドライバーマネージャーは、Python やその他多くのアプリケーションから使用できます。アプリケーションに別のドライバーマネージャーが組み込まれている可能性があります。

DSN の作成

unixODBC をインストールしてDSN を設定するには、unixODBC の使用 を参照してください。OBIEE、Informatica、およびSAS に接続するDSN を作成するには、DataDirect ドライバーマネージャーの使用 を参照してください。

Box への接続

本製品 は、Box テーブルおよびフォルダへのアクセスを実現します。なお、本製品 はBox に格納されているファイルの内容を更新したり、ファイルの内容をテーブルやカラムとしてモデル化したりはできません。

Box への認証

本製品 は、OAuth 認証標準を使用して、ユーザーアカウントまたはサービスアカウントからBox に接続します。

Box は埋め込みOAuth クレデンシャルを提供しており、デスクトップアプリケーション またはヘッドレスマシンからの接続を簡単にします。Web アプリケーションから接続するには、カスタムOAuth アプリケーションの作成 で説明するようにカスタムOAuth アプリケーションを作成する必要があります。

以下のサブセクションでは、利用可能なOAuth フローでのBox への認証について詳しく説明します。 カスタムOAuth アプリケーションの作成についての情報と、すでに埋め込みOAuth 認証情報を持つ認証フローでもカスタムOAuth アプリケーションを作成したほうがよい場合の説明については、カスタムOAuth アプリケーションの作成 を参照してください。

Box で利用可能な接続文字列プロパティの全リストは、Connection を参照してください。

ユーザーアカウント(OAuth)

AuthScheme は、すべてのユーザーアカウントフローでOAuth に設定する必要があります。

デスクトップアプリケーション

CData は、OAuth デスクトップ認証を簡略化する埋め込みOAuth アプリケーションを提供します。 または、カスタムOAuth アプリケーションを作成して接続することも可能です。カスタムOAuth アプリケーションについて、詳しくはカスタムOAuth アプリケーションの作成 を参照してください。

OAuth アクセストークンの取得およびリフレッシュ

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

  • カスタムアプリケーションのみ:
    • OAuthClientId:アプリの登録時に割り当てられたクライアントId。
    • OAuthClientSecret:アプリの登録時に割り当てられたクライアントシークレット。
    • CallbackURL:アプリの登録時に定義されたリダイレクトURI。次に例を示します。 https://localhost:3333
接続すると、本製品 はデフォルトブラウザでBox のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 本製品 はアクセストークンの期限が切れると自動的にリフレッシュします。

ヘッドレスマシン

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

  1. 以下のオプションから選択します。
    • オプション1:後述の「Verifier code を取得および交換」に従い、OAuthVerifier 値を取得します。
    • オプション2:インターネットブラウザに対応したマシンに本製品 をインストールし、後述の「OAuth 設定を転送」の説明に従い、通常のブラウザベースのフローで認証後にOAuth 認証値を転送します。
  2. 次に、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするように本製品 を設定します。

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

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

インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得する方法は次のとおりです。

  1. 以下のオプションから選択します。
    • 埋め込みOAuth アプリケーションを使用する場合は、GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。ストアドプロシージャによって返されたURL をブラウザで開きます。
    • カスタムOAuth アプリケーションを使用するには、以下のプロパティを設定します。
      • InitiateOAuthOFF
      • OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
      • OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
      次に、適切なCallbackURL を指定してGetOAuthAuthorizationURL ストアドプロシージャを呼び出します。ストアドプロシージャによって返されたURL をブラウザで開きます。
  2. ログインして、本製品 にアクセス許可を与えます。リダイレクトURI にリダイレクトされます。 リダイレクトURI にcode というパラメータが付加されることに注意してください。このパラメータの値を控えておきます。OAuthVerifier 接続プロパティを設定するために使用されます。

次に、OAuth verifier code をOAuth リフレッシュトークンおよびアクセストークンと交換する必要があります。

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

  • InitiateOAuthREFRESH
  • OAuthVerifier:控えておいたverifier code(リダイレクトURI のcode パラメータの値)。
  • OAuthSettingsLocation:暗号化されたOAuth 認証値を指定された場所に永続化。
  • カスタムアプリケーションのみ:
    • OAuthClientId:カスタムOAuth アプリケーション設定のクライアントId。
    • OAuthClientSecret:カスタムOAuth アプリケーション設定のクライアントシークレット。

接続をテストしてOAuth 設定ファイルを生成し、以下のプロパティを再設定して接続します。

  • InitiateOAuthREFRESH
  • OAuthSettingsLocation:暗号化されたOAuth 認証値が保存される場所。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。
  • カスタムアプリケーションのみ:
    • OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
    • OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。

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

ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバーとの接続をインストールし、作成する必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。

「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定された場所に暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。

接続をテストしてOAuth 設定ファイルを生成し、OAuth 設定ファイルをヘッドレスマシンにコピーします。

ヘッドレスマシンで、次の接続プロパティを設定し、データに接続します。

  • InitiateOAuthREFRESH
  • OAuthSettingsLocation:ブラウザでマシンからコピーしたOAuth 設定ファイルの場所。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。
  • カスタムアプリケーションのみ:
    • OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
    • OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。

サービスアカウント(OAuthJWT)

サービスアカウントには、ブラウザによるユーザー認証が不要なサイレント認証があります。また、サービスアカウントを使用して、エンタープライズ全体のアクセススコープを本製品 に委任することもできます。

サービスアカウントを使用するには、カスタムOAuth アプリケーションの作成 で説明するように、カスタムOAuth アプリケーションの作成と認可が必要です。 これでサービスアカウントにアクセス権があるBox データに接続できます。

次の接続プロパティを設定して、接続してください。

  • AuthSchemeOAuthJWT
  • OAuthClientId:カスタムOAuth アプリケーションの設定で指定したクライアントId。
  • OAuthClientSecret:カスタムOAuth アプリケーションの設定で指定したクライアントシークレット。
  • OAuthJWTCertTypePEMKEY_FILE
  • OAuthJWTCert:生成した.pem ファイルのパス。
  • OAuthJWTCertPassword:.pem ファイルのパスワード。
  • OAuthJWTCertSubject:証明書のサブジェクト。証明書ストアの1番目の証明書を選択するには、*(アスタリスク)を設定します。
  • OAuthJWTSubjectType:Application Access Values で指定した値と同じで、"enterprise" または"user" のいずれか。 この接続プロパティのデフォルト値は"enterprise" です。
  • OAuthJWTSubject:サブジェクトタイプがenterprise に設定されている場合は、これをエンタープライズID に設定します。 サブジェクトタイプがuser に設定されている場合は、アプリケーションのユーザーID に設定します。
  • OAuthJWTPublicKeyId:アプリケーション設定の公開キーID。

接続すると、本製品 はサービスアカウントでのOAuth フローを完了します。

BOXJSON OAuthJWTCertType

サービスアカウントおよびBOXJSON OauthJWTCertType を使用して認証するには、以下のプロパティを設定します。

  • AuthSchemeOAuthJWT
  • InitiateOAuthGETANDREFRESH
  • OAuthJWTCertTypeBOXJSON。 OAuthJWTCert:Box が提供するJSON ファイルへのパス。

システム内のファイルを使用するのが難しい場合は、JSON ファイルの内容を接続文字列に直接コピーすることができます。 次のプロパティを設定します。

  • AuthSchemeOAuthJWT
  • InitiateOAuthGETANDREFRESH
  • OAuthJWTCertTypeBOXJSONBLOB
  • OAuthJWTCert:Box が提供するJSON ファイルの内容。

OAuth 値のリフレッシュ

本製品 は、ブラウザベースのOAuth 認証交換中に取得されたテンポラリーOAuth アクセストークンをリフレッシュできます。デフォルトでは、本製品 は暗号化されたトークンを、DSN に対応するodbc.ini ファイルに保存します。System DSN の場合、このodbc.ini ファイルへのアクセスを制限できます。

トークンの自動交換を有効にするには、本製品 にシステムodbc.ini への書き込みアクセス権を与えます。または、OAuthSettingsLocation 接続プロパティを、ドライバーが読み書きアクセス権を持つ別のファイルパスに設定することもできます。

    OAuthSettingsLocation=/tmp/oauthsettings.txt
    

OAuth 認証の依存関係のインストール

OAuth 認証標準は、認証するユーザーにWeb ブラウザを使用したBox との通信を要求します。最初のOAuth インタラクションがドライバーがインストールされている同じマシン上で行われる場合(例えばデスクトップアプリケーションの場合)、本製品 はデフォルトブラウザを立ち上げるxdg-open プログラムにアクセスする必要があります。

この依存関係を満たすには、パッケージマネージャーに対応するパッケージをインストールします。

Debian/Ubuntu PackageRHEL/CentOS/Fedora PackageFile
xdg-utilsxdg-utilsxdg-open

ドライバーエンコーディングの設定

ODBC ドライバーは、ODBC ドライバーマネージャーで使用するエンコーディングを指定する必要があります。デフォルトでは、Unix 用のCData ODBC ドライバーはunixODBC と互換性のあるUTF-16 を使用するように設定されていますが、他のドライバーマネージャーでは代替エンコーディングが必要な場合があります。

また、ANSI ODBC API を使用するアプリケーションからODBC ドライバーを使用している場合は、ANSI コードページを設定する必要があります。例えば、ANSI アプリケーションに日本語の文字をインポートするには、設定ファイル'/opt/cdata/cdata-odbc-driver-for-box/lib/cdata.odbc.box.ini' でコードページを指定できます。

[Driver]
AnsiCodePage = 932

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