ODBC Driver for OData

Build 23.0.8839

macOS DSN の構成

このセクションでは、macOS でODBC 接続をセットアップしDSN を設定する方法を示します:

macOS の最小バージョン

CData ODBC Driver for OData 本製品 にはmacOS Sierra (10.12) 以上が必要です。

ドライバーのライセンス

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

cd "/Applications/CData ODBC Driver for OData/bin"
sudo ./install-license.sh <key>

名前とパスワードを入力するよう求められます。これらは、あなたの名前とマシンのパスワードを指します。

OData への接続

OData に接続するには、Url を有効なOData サービスルートURI に設定する必要があります。 OData サービスにルートドキュメントがない場合、テーブルとして公開したい特定のエンティティをFeedURL に指定してください。

また、CacheLocation を指定してOData 組織のメタデータを格納することもできます。これにより、CData ODBC Driver for OData は各接続でメタデータの要求を送信する必要がなくなります。

OData への認証

OData は、以下を経由する認証をサポートします。
  • HTTP
  • Kerberos
  • SharePoint Online
  • OAuth(Azure AD)

HTTP 認証スキーム

HTTP で認証する場合は、次の表に従ってAuthScheme を設定します。

Scheme AuthScheme その他の設定
None None 認証を必要としない場合に使用。
Basic Basic UserPassword
NTLM(1) NTLM UserPassword
Digest(サポートされている場合) Digest UserPassword

(1) NTLM は、Windows ユーザー資格情報を使用して、LAN でよく使用されるWindows 認証の一種です。Windows マシンから接続していない場合や、現在ログインしているユーザーアカウントを接続に使用しない場合は、User およびPassword を設定します。

Kerberos

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

  • hive.server2.authentication:Kerberos
  • AuthSchemeNEGOTIATE
  • KerberosKDC:Kerberos KDC マシンのホスト名またはIP アドレス。
  • KerberosSPN:OData のKerberos プリンシパルのサービスとホスト。この値は、principal value の'@' 記号のすぐ前にあります。

SharePoint Online

SharePoint Online 接続は、SharePoint Online cookie を取得することで確立できます。認証するには、次のプロパティを設定します。

  • AuthScheme SharePointOnline
  • User SharePoint Online ユーザーアカウント。
  • Password SharePoint Online パスワード。

OAuth

OData のすべてのOAuth フローでこの認証を有効にするには、カスタムOAuth アプリケーションを作成し、AuthSchemeOAuth に設定する必要があります。

以下のサブセクションでは、3つの一般的な認証フローでのOData への認証について詳しく説明します。カスタムOAuth アプリケーションの作成については、カスタムOAuth アプリケーションの作成 を参照してください。 OData で利用可能な接続文字列プロパティの全リストは、Connection を参照してください。

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

カスタムOAuth アプリケーションの資格情報を使用して認証するには、OAuth アクセストークンを取得し、更新する必要があります。これらを設定すると、接続の準備が整います。

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

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

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

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

OAuth アクセストークンの自動リフレッシュ:

本製品 がOAuth アクセストークンを自動的にリフレッシュするようにするには:

  1. はじめてデータに接続する前に、次の接続パラメータを設定します。
    • InitiateOAuthREFRESH
    • OAuthClientId:カスタムOAuth アプリケーション設定のクライアントId。
    • OAuthClientSecret:カスタムOAuth アプリケーション設定のクライアントシークレット。
    • OAuthAccessTokenGetOAuthAccessToken によって返されたアクセストークン。
    • OAuthSettingsLocation:本製品 がOAuth 値を保存する場所のパス。これは接続間で維持されます。
  2. その後のデータ接続では、以下を設定します。
    • InitiateOAuth
    • OAuthSettingsLocation

OAuth アクセストークンの手動リフレッシュ:

OAuth アクセストークンを手動でリフレッシュするために必要な唯一の値は、OAuth リフレッシュトークンです。

  1. ExpiresIn 期間(GetOAuthAccessToken が返す)が経過した後にOAuthAccessToken を手動でリフレッシュするには、RefreshOAuthAccessToken ストアドプロシージャを呼び出します。
  2. 次の接続プロパティを設定します。

    • OAuthClientId:カスタムOAuth アプリケーション設定のクライアントId。
    • OAuthClientSecret:カスタムOAuth アプリケーション設定のクライアントシークレット。

  3. RefreshOAuthAccessToken を呼び出し、OAuthRefreshToken にGetOAuthAccessToken によって返されたOAuth リフレッシュトークンを設定します。
  4. 新しいトークンが取得できたら、OAuthAccessToken プロパティにRefreshOAuthAccessToken によって返された値を設定します。これで新規接続が開かれます。

OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。

ヘッドレスマシン

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

  • オプション1:OAuthVerifier 値を取得します。
  • オプション2:インターネットブラウザに対応したマシンに本製品 をインストールし、通常のブラウザベースのフローで認証した後でOAuth 認証値を転送します。

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

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

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

  1. インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得します。

    次のプロパティを設定します。

    • InitiateOAuthOFF
    • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
    • OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。

  2. GetOAuthAuthorizationUrl ストアドプロシージャを呼び出します。ストアドプロシージャは、カスタムOAuth アプリケーションが登録されたときに構築されたCallbackURL を返します。 (カスタムOAuth アプリケーションの作成 を参照してください。)

    このURL をコピーして、新しいブラウザのタブに貼り付けます。

  3. ログインして、本製品 にアクセス許可を与えます。OAuth アプリケーションは、code というパラメータを付加したリダイレクトURI にリダイレクトします。このパラメータの値を控えておきます。OAuthVerifier 接続プロパティを設定するために、後で必要になります。

  4. OAuth verifier code をOAuth リフレッシュトークンおよびアクセストークンと交換します。ヘッドレスマシンでは、OAuth 認証値を取得するには次のプロパティを設定します。

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

  5. 接続をテストしてOAuth 設定ファイルを生成します。

  6. これらのプロパティを再設定すると、接続の準備が整います。

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

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

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

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

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

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

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

Azure AD

AzureAD は、Azure を経由するOAuth の形式をサポートします。AuthSchemeAzureAD に設定します。

CData ODBC Driver for OData は、自動的に内部で既知のAzure URL を処理するので、OAuthAccessTokenURLOAuthAuthorizationURLOAuthRefreshTokenURLOAuthRequestTokenURL のような通常のOAuth 接続プロパティを指定する必要は ありません

この接続メソッドには、以下のような他の接続プロパティが必要な場合があります。

  • ScopeInitiateOAuthGETANDREFRESH に設定されている場合は、資格情報の取得中にScope がMicrosoft に送信されるため、これを指定する必要があります。これはサービスによって異なりますが、一般的には、リソース(URL のhostname)とパーミッション名の組み合わせになります。例:https://host/user_impersonation
  • AzureADResource:Microsoft ログイン時に認証する特定のAzure リソース。 何も指定されていない場合は、ユーザーアカウントのデフォルトリソースが使用されます。
  • AzureADTenant:Microsoft ログイン中に認証する特定のAzure テナント。何も指定されていない場合は、common ログインエンドポイントを介したユーザーアカウントのデフォルトテナントが使用されます。これは、接続する特定のリソースや、リソースが別のテナントに保存されている場合などによっては、正しくないことがあります。

それ以外の認証手順は、前述のデスクトップ認証、Web 認証、ヘッドレスマシン認証の説明と同じです。

Azure AD で使用するカスタムOAuth アプリケーションの作成については、カスタムOAuth アプリケーションの作成 を参照してください。

セキュアなOData への接続

デフォルトでは、本製品 はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL/TLS のネゴシエーションを試みます。別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。

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

ドライバーをアンインストールする最も簡単な方法は、ターミナルを開いて、インストールディレクトリにあるuninstall.sh スクリプトを実行します。次に例を示します。

cd "/Applications/CData ODBC Driver for OData"
sudo ./uninstall.sh

Note:このスクリプトはインストールディレクトリから実行される必要があります。

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