接続の設定
コネクタのインストール 後、Microsoft Dynamics 365 Business Central 内のデータのデータソースに接続して作成できます。
データソースの設定
データに接続するには、次の手順を実行してください:
- 接続 | To a Server で詳細をクリックします。
- Microsoft Dynamics 365 Business Central by CData というデータソースを選択します。
- 接続に必要な情報を入力します。
- サインインをクリックします。
- 必要に応じて、データベースおよびスキーマを選択して利用可能なテーブルとビューを確認できます。
Connection Builder の使用
connector は、代表的な接続プロパティをTableau 内で直接利用できるようにします。 しかし、より高度な設定が必要な場合や接続に関するトラブルシューティングが必要な場合には、使いにくいことがあります。 connector には、Tableau の外で接続を作成してテストできる、独立したConnection Builder が付属しています。
Connection Builder にアクセスする方法は2つあります。
- Windows では、スタートメニューのCData Tableau Connector for Microsoft Dynamics 365 Business Central フォルダの下にあるConnection Builder というショートカットを使用します。
- また、ドライバーのインストールディレクトリに移動し、lib ディレクトリで.jar ファイルを実行することによってもConnection Builder を開始できます。
Connection Builder では、接続プロパティに値を設定し、接続テストをクリックしてその動作を確認できます。 また、クリップボードにコピーボタンを使用して、接続文字列をコピーすることもできます。 この接続文字列は、Tableau 内のconnector 接続ウィンドウにあるConnection String オプションに指定できます。
クラウドエンドポイント
データに接続するには、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 を空白のままにすると、connector はすべての会社を個別のスキーマとして取得します。
ユーザーおよびアクセスキー
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。
接続すると、connector はデフォルトブラウザでMicrosoft Dynamics 365 Business Central のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。connector はこれでOAuth プロセスを完了します。
- コールバックURL からアクセストークンを取得し、リクエストを認証します。
- 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
- OAuth 値をOAuthSettingsLocation に保存します。これらの値は接続間で永続化されます。
アクセストークンの期限が切れたときは、connector は自動でアクセストークンをリフレッシュします。
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 Tableau Connector for Microsoft Dynamics 365 Business Central への接続を確立するときにAzureTenant 接続プロパティをAzure AD テナントのId に設定する必要があります。それ以外の場合は、認証に失敗しエラーが発生します。
- アプリケーションが個人使用のみの場合は、この組織ディレクトリ内のアカウントのみを指定します。
- アプリケーションを配布する場合は、マルチテナントオプションのいずれか1つを選択してください。
- リダイレクトURL をhttp://localhost:33333(connector のデフォルト)に設定するか、または別のポートを指定し、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。
次のステップ
データビジュアライゼーションを作成するには、コネクタの使用 を参照してください。