SSIS Components for Microsoft Dataverse

Build 24.0.9062

接続の確立

Visual Studio 2022 でSSIS を有効化

Visual Studio 2022 を使用している場合、SSIS を使用するにはSQL Server Integration Services プロジェクト拡張機能をインストールする必要があります。

  1. 拡張機能 -> 拡張機能の管理に移動します。
  2. 拡張機能の管理ウィンドウの検索ボックスで"SQL Server Integration Services Projects 2022" を検索し、リストから拡張機能を選択します。
  3. ダウンロードをクリックします。
  4. Visual Studio を終了し、ダウンロードしたMicrosoft.DataTools.IntegrationServices.exe インストーラーを実行します。デフォルト設定でインストーラーを進めてください。
  5. Visual Studio を開きます。これで、"Integration Services Project" プロジェクトテンプレートが利用可能になるはずです。

Microsoft Dataverse 接続マネージャーの追加

新しい接続マネージャーを以下のように作成します。

  1. "Integration Services Project" テンプレートを使用してVisual Studio プロジェクトを作成します。
  2. 接続マネージャーウィンドウ内で右クリックし、メニューから新しい接続を選択します。
  3. 説明カラムでCData Microsoft Dataverse Connection Manager を選択し、追加...をクリックします。
  4. 次のセクションで説明するように、本製品 を設定します。

または、既存のプロジェクトがあり、CData Microsoft Dataverse Source またはCData Microsoft Dataverse Destination がある場合:

  1. データフローでCData Microsoft Dataverse Source またはDestination コンポーネントを右クリックします。
  2. 編集...を選択し、編集ウィンドウを開きます。
  3. 接続マネージャー:の横にある新規作成...ボタンをクリックします。ドロップダウンのセレクターを使用して接続マネージャーを作成します。
  4. 次のセクションで説明するように、本製品 を設定します。

スキーマ

Microsoft Dataverse はスキーマ値として'System' および'Entities' をサポートしており、Schema プロパティを使用して設定することができます。

Schema プロパティに'System' を使用すると、Web API を使用してエンティティ / テーブルをクエリします。

Schema プロパティに'Entities' を使用すると、EntityDefinitions エンティティセットパスを使用して、EntityMetadata EntityType エンティティ / テーブルに関する情報を取得します。これによって、よりユーザーフレンドリーな名前になることが多いですが、追加のメタデータリクエストが必要になります。

Microsoft Dataverse への接続

Microsoft Dataverse データソースを認証するには、まずOrganizationUrl をhttps://[organization].crm.dynamics.com のような接続先の組織のURL に設定する必要があります。

Azure AD

Azure AD は、OAuth を使用して認証する接続タイプです。OAuth では認証するユーザーにインターネットブラウザでMicrosoft Dataverse との通信を要求します。下記で説明するとおり、本製品 はさまざまな方法でこれをサポートします。 AuthSchemeAzureAD に設定します。以下のAzure AD フローは、すでに設定済みであることを前提として書かれています。

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

CData は、OAuth デスクトップ認証を簡略化する埋め込みOAuth アプリケーションを提供します。代わりに、カスタムOAuth アプリケーションを作成することも可能です。カスタムアプリケーションの作成およびその理由については、Azure AD アプリケーションの作成 を参照してください。

認証に関する2つの方法の違いは、カスタムOAuth アプリケーションを使用する場合に、2つの接続プロパティを追加で設定する必要があることだけです。

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

  • InitiateOAuthGETANDREFRESH に設定。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
  • OAuthClientId:(カスタムアプリケーションのみ)アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:(カスタムアプリケーションのみ)アプリケーション設定のクライアントシークレットに設定。
  • CallbackURL:アプリケーション設定のリダイレクトURL に設定。

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

  1. コールバックURL からアクセストークンを取得し、リクエストを認証します。
  2. 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
  3. OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化します。

ヘッドレスマシン

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

クライアントクレデンシャル

クライアント資格情報は、直接ユーザー認証が行われないOAuth のフローを指します。代わりに、資格情報はアプリ自体のためだけに作成されます。 アプリで実行されるすべてのタスクは、デフォルトユーザーコンテキストなしで実行されます。そのため、認証フローが標準とは少し違ったものになります。

クライアントOAuth フロー

クライアントOAuth フローに関連するすべての権限には、管理者の同意が必要です。これは、CData SSIS Components for Microsoft Dataverse が埋め込まれたアプリをクライアントOAuth フローでは使用できないことを意味します。クライアント資格情報を使用するには、独自のOAuth アプリの作成が必要になります。 詳しくは、Azure AD アプリケーションの作成 を参照してください。

portal.azure.com の[アプリの登録]で[API のアクセス許可]に移動し、Microsoft Graph アクセス許可を選択します。アクセス許可には、委任されたアクセス許可とアプリケーションの許可の2つの異なるアクセス許可セットがあります。 クライアントの資格情報認証時に使用されるアクセス許可は、[アプリケーションの許可]の下にあります。インテグレーションに必要なアクセス許可を選択します。

認証タイプに応じて、以下のいずれかの接続プロパティグループを設定すると、接続できるようになります。

  1. クライアントシークレット
    • InitiateOAuth:GETANDREFRESH に設定。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
    • AzureTenant:接続するテナントに設定。
    • OAuthGrantType:CLIENT に設定。
    • OAuthClientId:アプリ設定のクライアントId に設定。
    • OAuthClientSecret:アプリ設定のクライアントシークレットに設定。
  2. 証明書
    • InitiateOAuth:GETANDREFRESH に設定。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
    • AzureTenant:接続するテナントに設定。
    • OAuthGrantType:CLIENT に設定。
    • OAuthClientId:アプリ設定のクライアントId に設定。
    • OAuthJWTCert:JWT 証明書ストアに設定。
    • OAuthJWTCertTypeOAuthJWTCert で指定された証明書ストアの種類に設定。

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

Azure サービスプリンシパル

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

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

Managed Service Identity (MSI)

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

User-Managed Identities

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

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

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