ODBC Driver for Microsoft Exchange

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/ExchangeODBCDriverforUnix.deb 

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

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

ドライバーのライセンス

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

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

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

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

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

DSN の作成

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

Microsoft Exchange への接続

Exchange への接続には2つのスキーマがあります。

  • Exchange Web Services(EWS)は現在更新されていませんが、Exchange OnPremise とExchange Online の両方で利用できます。
    Note:Microsoft は、Exchange Online ユーザーに対してMicrosoft Graph への切り替えを推奨しています。
  • Microsoft Graph

それぞれのスキーマのデータモデルについては、[データモデル]を参照してください。

EWS とMicrosoft Graph を切り替えるには、SchemaEWS またはMSGraph に設定します。

EWS の使用を続けるExchange Online ユーザーは、SchemaEWS に設定し、PlatformExchange_Online に設定します。

Exchange OnPremise

Microsoft Exchange OnPremise のデフォルトでは、UserPassword、およびAuthScheme を設定してBasic 認証をサポートします。しかし、 OnPremise はWindows(NTLM)、Kerberos(後述)による認証もサポートしています。

Exchange Online

Exchange Online は、以下で説明するようにOAuth による認証をサポートしています。(Azure AD およびAzure サービスプリンシパルは、認証にカスタムOAuth アプリケーションも使用します。)

EWS を介してExchange Online プラットフォームに接続する場合は、AuthSchemeAzureADAzureServicePrincipalAzureMSI のいずれかに設定します。

Microsoft Graph を介してExchange Online に接続する場合は、SchemaMSGraph に設定します。 Schema がMSGraph に設定されている場合、Platform は無視されます。

Microsoft Exchange への認証

Microsoft Exchange は、OAuth(Azure AD およびAzure サービスプリンシパル)、Managed Service Identity(MSI)、Kerberos を使用する認証をサポートします。

OAuth

Azure AD およびAzure サービスプリンシパルは、どちらもOAuth ベースの認証を必要とします。

Azure AD

Azure AD は、Microsoft のマルチテナント、クラウドベースのディレクトリおよびID 管理サービスです。これはユーザーベースの認証で、AuthSchemeAzureAD に設定する必要があります。

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

すべての認証フローで、OAuth 経由で接続するにはAuthSchemeOAuth に設定する必要があります。

以下のサブセクションでは、該当するすべての認証フローからのMicrosoft Exchange への認証について詳しく説明します。 カスタムOAuth アプリケーションの作成についての情報と、すでに埋め込みOAuth 認証情報を持つ認証フローでもカスタムOAuth アプリケーションを作成したほうがよい場合の説明については、カスタムOAuth アプリケーションの作成 を参照してください。Microsoft Exchange で利用可能な接続文字列プロパティの全リストは、Connection を参照してください。

デスクトップアプリケーション
CData は、デスクトップでの認証を簡単にする埋め込みOAuth アプリケーションを提供します。例えば、ユーザーがインターネットに接続されていないローカルサーバーを使用しているような場合に利用できます。

また、Microsoft Exchange コンソールで設定および登録するカスタムOAuth アプリケーションを介してデスクトップから認証することもできます。詳しくは、カスタムOAuth アプリケーションの作成 を参照してください。

接続の前に、以下の変数を設定します。

  • InitiateOAuthGETANDREFRESHOAuthAccessToken を自動的に取得およびリフレッシュするために使用します。 CData は、デスクトップでの認証を簡単にする埋め込みOAuth アプリケーションを提供します。例えば、ユーザーがインターネットに接続されていないローカルサーバーを使用しているような場合に利用できます。

    また、Microsoft Exchange コンソールで設定および登録するカスタムOAuth アプリケーションを介してデスクトップから認証することもできます。詳しくは、カスタムOAuth アプリケーションの作成 を参照してください。

  • カスタムAzure AD アプリケーションのみ:
    • OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
    • OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
    • CallbackURL:カスタムOAuth アプリケーションの登録時に定義されたリダイレクトURI。

接続すると、本製品 はデフォルトブラウザでMicrosoft Exchange のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。

アクセストークンの期限が切れたときは、本製品 は自動でアクセストークンをリフレッシュします。

ヘッドレスマシン
ヘッドレスマシンに置かれているリソースにログインする必要がある場合は、インターネットブラウザに対応した別の端末で認証する必要があります。 以下のいずれかの方法で行います。

  • 後述のVerifier code を取得および交換に従い、OAuthVerifier 値を取得します。
  • 別のマシンに本製品 をインストールし、通常のブラウザベースのフローで認証した後でOAuth 認証値を転送します。

いずれかのオプションを実行後、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするようにドライバーを設定します。

Verifier code を取得および交換

Verifier code を取得するには、インターネットブラウザがあるマシンからOAuth 認可URL で認証し、OAuthVerifier 接続プロパティを取得する必要があります。

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

    • 埋め込みOAuth アプリケーションを使用する場合は、Microsoft Exchange OAuth endpoint をクリックし、ブラウザでエンドポイントを開きます。
    • カスタムOAuth アプリケーションを使用する場合は、以下のプロパティを設定して認可URL を作成します。
      • InitiateOAuthOFF
      • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
      • OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。
      認可URL が確立されたら、適切なCallbackURL を指定してGetOAuthAuthorizationURL ストアドプロシージャを呼び出します。ストアドプロシージャによって返されたURL をブラウザで開きます。

  2. ログインして、本製品 にアクセス許可を与えます。verifier code を含むコールバックURL にリダイレクトされます。
  3. verifier code の値を保存します。後ほどこれをOAuthVerifier 接続プロパティに設定します。
次に、OAuth verifier code をOAuth リフレッシュトークンおよびアクセストークンと交換します。

OAuth 認証値を取得するには次のプロパティを設定します。

  • InitiateOAuthREFRESH
  • OAuthVerifier:verifier code。
  • OAuthSettingsLocation:ドライバーがOAuth トークン値を保存するファイルの場所。これは接続間で維持されます。
  • カスタムアプリケーションのみ:
    • OAuthClientId:(カスタムアプリのみ)カスタムOAuth アプリケーション設定のクライアントId に設定。
    • OAuthClientSecret:(カスタムアプリのみ)カスタムOAuth アプリケーション設定のクライアントシークレットに設定。

OAuth 設定ファイルが生成されたら、以下のように接続プロパティをリセットします。

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

OAuth 設定を転送

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

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

接続が正常にテストされたら、OAuth 設定ファイルをヘッドレスマシンにコピーします。

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

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

Azure サービスプリンシパル

Azure サービスプリンシパルは、ロールに基づいたアプリケーションベースの認証です。これは、認証がユーザーごとではなく、アプリケーションごとに行われることを意味します。 アプリケーションで実行されるすべてのタスクは、デフォルトユーザーコンテキストなしで、割り当てられたロールに基づいて実行されます。 リソースへのアプリケーションのアクセスは、割り当てられたロールの権限によって制御されます。

Azure サービスプリンシパル認証の設定方法については、カスタムOAuth アプリケーションの作成 を参照してください。

クライアントシークレットによる認証

OAuth は、認証のためのクライアント資格情報の使用をサポートします。クライアント資格情報のOAuth フローでは、認証するアプリケーション自身の資格情報が作成されます。認証フローは通常の認証フローと同じように動作しますが、関連するユーザーに対して資格情報の提供を求めるプロンプトは表示されません。 アプリケーションで受理されるすべてのタスクは、デフォルトユーザーコンテキストなしで実行されます。

Note: 埋め込まれたOAuth 資格情報はユーザーごとに認証されるため、クライアントOAuth フローで使用することはできません。 クライアント資格情報を使用するには、必ずカスタムOAuth アプリケーションを作成する必要があります。

クライアント資格情報で認証するには、カスタムOAuth アプリケーションを使用する必要があります。詳しくは、カスタムOAuth アプリケーションの作成 を参照してください。

次のパラメータを設定して、接続してください。

  • AuthSchemeAzureServicePrincipal
  • InitiateOAuthGETANDREFRESH。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
  • AzureTenant:接続するテナント。
  • OAuthGrantTypeCLIENT
  • OAuthClientId:アプリケーション設定のクライアントId。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレット。

クライアント資格情報での認証は、他の接続同様に自動的に行われますが、ユーザーにログインを促すウィンドウは表示されません。ユーザーコンテキストがないため、ブラウザのポップアップは必要ないからです。接続は内部で行われ、処理されます。

Managed Service Identity (MSI)

Azure VM 上でMicrosoft Exchange を実行しており、MSI を利用して接続したい場合は、AuthSchemeAzureMSI に設定します。

User-Managed Identities

マネージドID のトークンを取得するには、OAuthClientId プロパティを使用してマネージドID の"client_id" を指定します。

VM に複数のユーザーが割り当てられたマネージドID がある場合は、OAuthClientId も指定する必要があります。

Kerberos

Kerberos 経由でMicrosoft Exchange への認証を行うには、認証プロパティを定義し、Kerberos が認証チケットを取得する方法を選択する必要があります。

Kerberos を使用してMicrosoft Exchange への認証を行うには、次のプロパティを設定します。

  • hive.server2.authentication: Kerberos
  • AuthScheme:NEGOTIATE
  • KerberosKDC:Kerberos KDC マシンのホスト名またはIP アドレス。
  • KerberosRealm:Microsoft Exchange Kerberos プリンシパルのレルム。この値は、主たる値の'@' 記号のすぐ後にあります。
  • KerberosSPN:Microsoft Exchange のKerberos プリンシパルのサービスとホスト。この値は、主たる値の'@' 記号のすぐ前にあります。

Kerberos をMicrosoft Exchange 環境で使用する方法の詳細については、Kerberos の使用 を参照してください。

OAuth 値のリフレッシュ

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

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

    OAuthSettingsLocation=/tmp/oauthsettings.txt
    

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

OAuth 認証標準は、認証するユーザーにWeb ブラウザを使用したMicrosoft Exchange との通信を要求します。最初の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-exchange/lib/cdata.odbc.exchange.ini' でコードページを指定できます。

[Driver]
AnsiCodePage = 932

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