接続の確立
接続プロファイルの設定
[CData]リボンから[データの取得]をクリックし、[取得元:Microsoft Dynamics 365 Business Central]> 設定済みの接続 を選択してCData クエリウィンドウを起動します。新しい接続を設定するには、[新しいMicrosoft Dynamics 365 Business Central 接続]をクリックします。ここでは、接続の設定、接続のテスト、および接続プロファイルの保存を行うことができます。
クラウドエンドポイント
データに接続するには、OrganizationUrl を指定します。OrganizationUrl は、次のいずれかに設定する必要があります。
- https://businesscentral.dynamics.com/abc123/ などのBusiness Central アカウントへのエンドポイント。
- Web サービスのルート。
- カスタムAPI のベースURL。
オンプレミスエンドポイント
以下はオンプレミスのエンドポイントの例です。
https://base URL:port/serverinstance/api/API publisher/API group/API version/ https://base URL:port//serverinstance/ODataV4 https://myInstance/.local:7048/BC220/ODataV4URL はデフォルトでブロックされているため、管理者がアクセスを許可する必要があります。
OrganizationUrl を指定する方法、および利用可能なエンドポイントについての詳細は、Business Central エンドポイント を参照してください。
組織内に複数の会社がある場合は、どの会社に接続するかを特定するためにCompany を指定できます。 Company を空白のままにすると、本製品 はすべての会社を個別のスキーマとして取得します。
ユーザーおよびアクセスキー
Note:2021年4月以降、クラウド版ではユーザーおよびアクセスキー認証がサポートされなくなります。オンプレミスの場合、Web Service Access Key(Basic Auth)は当分の間オプションとして残ります。
アクセスキー認証を使用するには、AuthScheme をAccess Key に設定します。 Microsoft Dynamics 365 Business Central に認証するには、User およびAccessKey 接続プロパティを指定します。 Microsoft では、これらをテストおよび開発目的で推奨します。ただし、運用環境での使用は推奨していません。
User およびAccessKey の値を取得するには、Microsoft Dynamics 365 Business Central の[ユーザー]ページに移動して[編集]をクリックします。User Name および Web Service Access Key の値は、User およびPassword 接続文字列プロパティとして入力する値です。User Name はE メールアドレス ではありません。短縮されたユーザー名です。
Microsoft Dynamics 365 Business Central への接続
Microsoft Dynamics 365 Business Central データソースを認証する前に、OrganizationUrl を接続先の組織のURL に設定します。v1とv2のどちらを使用しているかによって、見え方が異なります。OrganizationUrl の各種フォーマットについては、Business Central エンドポイント を参照してください。
アクセスキー
User およびAccessKey を設定し、Microsoft Dynamics 365 Business Central データソースへ認証します。
Azure AD
Azure AD は、Microsoft のマルチテナント、クラウドベースのディレクトリおよびID 管理サービスです。これはユーザーベースの認証で、AuthScheme をAzureAD に設定する必要があります。
デスクトップアプリケーション
CData は、デスクトップでの認証を簡単にする埋め込みOAuth アプリケーションを提供します。接続の前に、以下の変数を設定します。
- InitiateOAuth:GETANDREFRESH。OAuthAccessToken を自動的に取得およびリフレッシュするために使用します。
CData は、デスクトップでの認証を簡単にする埋め込みOAuth アプリケーションを提供します。例えば、ユーザーがインターネットに接続されていないローカルサーバーを使用しているような場合に利用できます。
また、Microsoft Dynamics 365 Business Central コンソールで設定および登録するカスタムOAuth アプリケーションを介してデスクトップから認証することもできます。詳しくは、カスタムOAuth アプリケーションの作成 を参照してください。
- カスタムAzure AD アプリケーションのみ:
- OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
- CallbackURL:カスタムOAuth アプリケーションの登録時に定義されたリダイレクトURI。
接続すると、本製品 はデフォルトブラウザでMicrosoft Dynamics 365 Business Central のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。
アクセストークンの期限が切れたときは、本製品 は自動でアクセストークンをリフレッシュします。
Azure サービスプリンシパル
Azure サービスプリンシパルは、ロールに基づいたアプリケーションベースの認証です。これは、認証がユーザーごとではなく、アプリケーションごとに行われることを意味します。 アプリケーションで実行されるすべてのタスクは、デフォルトユーザーコンテキストなしで、割り当てられたロールに基づいて実行されます。 リソースへのアプリケーションのアクセスは、割り当てられたロールの権限によって制御されます。
Azure サービスプリンシパル認証の設定方法については、以下を参照してください。
カスタムOAuth アプリケーションの作成
Microsoft Dynamics 365 Business Central は、Azure AD およびAzure サービスプリンシパルを使用した認証をサポートしています。どちらもOAuth ベースの認証です。このトピックでは、以下の方法を説明します。
- Azure AD またはAzure サービスプリンシパル用のカスタムOAuth アプリケーションの作成と登録
- カスタムOAuth アプリケーションに管理者の同意を提供
Azure AD
portal.azure.com で:- https://portal.azure.com にログインします。
- 左側のナビゲーションペインでAzure Active Directory -> アプリの登録を選択します。
- 新規登録をクリックします。
- アプリケーションの名前を入力します。
- シングルかマルチテナントか、パブリックかプライベートか、希望するテナント設定を選択します。
- デフォルトのオプション[この組織ディレクトリ内のアカウントのみ]を選択する場合は、CData Excel Add-In for Microsoft Dynamics 365 Business Central への接続を確立するときにAzureTenant 接続プロパティをAzure AD テナントのId に設定する必要があります。それ以外の場合は、認証に失敗しエラーが発生します。
- アプリケーションが個人使用のみの場合は、この組織ディレクトリ内のアカウントのみを指定します。
- アプリケーションを配布する場合は、マルチテナントオプションのいずれか1つを選択してください。
- リダイレクトURL をhttp://localhost:33333(本製品 のデフォルト)に設定するか、または別のポートを指定し、CallbackURL を定義した正確なリプライURL に設定します。
- 登録をクリックして新しいアプリケーションを登録します。アプリケーション管理画面が表示されます。
OAuthClientId としてApplication (client) ID の値、AzureTenant としてDirectory (tenant) ID の値をメモします。 - 証明書とシークレットセクションに移動して、アプリケーションの認証タイプを定義します。認証には、証明書(推奨)とクライアントシークレットの2種類があります。
- 証明書による認証:証明書とシークレットで証明書のアップロードを選択し、ローカルマシンから証明書をアップロードします。
- 新しいクライアントシークレットの作成:証明書とシークレットで新しいクライアントシークレットを選択し、有効期限を指定します。クライアントシークレットが保存されると、Microsoft Dynamics 365 Business Central はキーの値を表示します。 表示は一度のみなのでこの値をコピーします。 この値がOAuthClientSecret となります。
- API のアクセス許可 -> アクセス許可の追加 -> 委任されたアクセス許可を選択します。
- 変更を保存します。
- 管理者の同意が必要なアクセス許可を使用することを指定した場合は、API のアクセス許可ページで現在のテナントから付与することができます。
Azure サービスプリンシパル
Azure サービスプリンシパル認証を使用するには、認証アプリケーションにロールを割り当てる機能を設定したのち、Azure AD テナントにアプリケーションを登録し、新しい サービスプリンシパルを作成し、さらにBusiness Central で外部アプリケーションアカウントを作成する必要があります。この新しいサービスプリンシパルは、割り当てられたロールベースのアクセス制御を利用して、サブスクリプション内のリソースにアクセスできます。portal.azure.com で:
- 前述のように、カスタムOAuth AD アプリケーションを作成します。
- 検索バーを使用してサブスクリプションサービスを検索します。
- サブスクリプションページを開きます。
- アプリケーションを割り当てるサブスクリプションを選択します。
- アクセス制御(IAM)を開きます。
- 追加 -> ロール割り当ての追加を選択します。Microsoft Dynamics 365 Business Central はロール割り当ての追加ページを開きます。
- 作成したカスタムAzure AD アプリケーションに所有者ロールを割り当てます。
- カスタムアプリケーション用にBusiness Central で外部アプリケーションアカウントを作成します。
管理者の同意
カスタムアプリケーションの中には、Azure Active Directory テナント内で操作するために管理者権限が必要なものがあります。管理者の同意は、新しいカスタムOAuth アプリケーションを作成する際に、すでに"Admin Consent Required" とマークされている関連パーミッションを追加することで付与できます。管理者の同意は、OAuth フローでクライアント資格情報を使用する場合にも必要です。
管理者の同意を付与するには:
- 管理者にportal.azure.com にログインしてもらいます。
- アプリの登録に移動し、作成したカスタムOAuth アプリケーションを見つけます。
- API のアクセス許可で、同意の付与をクリックします。
Managed Service Identity (MSI)
Azure VM 上でMicrosoft Dynamics 365 Business Central を実行しており、MSI を利用して接続したい場合は、AuthScheme をAzureMSI に設定します。
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 プリンシパルのサービスとホスト。この値は、主たる値の'@' 記号のすぐ前にあります。
認証値に加えて、以下を設定します。
- Server:接続するExchange サーバーのアドレス。
- Platform:Microsoft Exchange のバージョン。
- Schema:EWS.A。
接続プロパティ
最後に、Connection プロパティを参照してください。接続の確立に使用できるさまざまなオプションの説明があります。
接続の管理
Microsoft Dynamics 365 Business Central への認証に成功すると、インポートするデータをカスタマイズすることができます。詳しくは、接続の管理 を参照してください。
関連項目
- データのクエリ:[データ選択]ウィザードを使用してスプレッドシートにデータをプルします。また、ここではスケジュールされたデータのリフレッシュも設定できます。
- Excel アドインの使用:利用可能なCData Excel 関数 を使用するなど、Microsoft Dynamics 365 Business Central データとやり取りする他の方法が見つかります。