ODBC Driver for Azure Cosmos DB

Build 23.0.8839

macOS DSN の構成

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

macOS の最小バージョン

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

ドライバーのライセンス

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

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

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

接続の前に

Role Assignment

Ensure that the Azure identity has the correct role assignment. The identity is the account that you log in to the browser during AzureAD authentication or the Application itself for AzureServicePrincipal authentication. Please visit the link below for more details:

Configure role-based access control for your Azure Cosmos DB account with Azure AD

You can either assign one of the built-in role definitions:

  • CosmosDB Built-in Data Reader
  • CosmosDB Built-in Data Contributor

or create your own custom role definitions. You must also set the scope of the role assignment, where "/" means that the identity has access to all the databases.

Azure Cosmos DB への接続

アカウントキー

Azure Portal にログインしてAzure Cosmos DB を選択し、 自分のアカウントを選択します。

認証するには以下のように設定します。

  • AccountEndpoint:Cosmos DB アカウントURL。Set this to the URI value found in the Settings > Keys blade of the Cosmos DB account.
  • AccountKey:Azure Cosmos DB に接続するためのマスターキートークンまたはリソーストークン。Set this to the PRIMARY KEY value found in the Settings > Keys blade of the Cosmos DB account.
  • TokenType:(オプション)Set this to "master" (the default value) if you are using a Master Token, which is a full permissions token generated during account creation. Otherwise, set this property to "resource" if you are using a Resource Token, which is a custom permissions token generated when a database user is set up.

Azure AD

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

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

CData は、デスクトップでの認証を簡単にする埋め込みOAuth アプリケーションを提供します。

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

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

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

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

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

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

ヘッドレスマシン

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

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

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

Verifier code を取得および交換

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

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

    • 埋め込みOAuth アプリケーションを使用する場合は、Azure Cosmos DB 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 アプリケーションの作成 を参照してください。

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

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

cd "/Applications/CData ODBC Driver for Azure Cosmos DB"
sudo ./uninstall.sh

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

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