Power BI Connector for Microsoft Dynamics 365 Business Central

Build 24.0.9062

DSN の作成

このセクションでは、DSN 設定の編集方法と、Microsoft Dynamics 365 Business Central API への認証および接続について説明します。

DSN 設定

Microsoft ODBC データソースアドミニストレーターを使ってDSN 設定を編集できます。インストールプロセスではコネクタのインストール で説明のとおり、ユーザーDSN とシステムDSN の両方が作成されることに注意してください。

Note: 本製品 は、接続情報をWindows レジストリに保存します。本製品 がレジストリに書き込めるようにするには、Power BI を管理者として実行するか、接続にシステムDSN ではなくユーザーDSN を使用します。

ユーザーDSN

DSN 設定を編集するには、次の手順を実行してください。

  1. スタート -> 検索 を選択し、検索ボックスにODBC データソース と入力します。
  2. Power BI Desktop インストールのビット数(32-bit または64-bit)に対応するODBC アドミニストレーターのバージョンを選択してください。
  3. システムデータソースを選択して構成をクリックします。
  4. 接続タブの情報を編集してOK をクリックします。

システムDSN

システムDSN をユーザーDSN と同じ方法で設定します。ただし、ステップ3を実行する前に、システムDSN タブに切り替える必要があります。

Power BI のOn-Premises Data Gateway をStandard モードで使用している場合、システムDSN を使用する必要があります。

OAuthSettingsLocation(OAuth のプロンプトが繰り返されるのを避けるため、OAuth 認証情報をローカルに保存するパス)にも有効な場所を指定する必要があります。

これは、Standard モードがサービスモードで動作し、C:\Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway のような許可された場所にしかアクセスできないためです。

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/ODataV4
URL はデフォルトでブロックされているため、管理者がアクセスを許可する必要があります。

OrganizationUrl を指定する方法、および利用可能なエンドポイントについては、Business Central エンドポイント を参照してください。

組織内に複数の会社がある場合は、Company を指定して接続先の会社を特定できます。 Company を空白のままにすると、本製品 はすべての会社を個別のスキーマとして取得します。

ユーザーおよびアクセスキー

Note: クラウド版ではユーザーおよびアクセスキー認証はサポート対象外となりました。 Web Service Access Key(Basic 認証)は、オンプレミスインスタンスでは引き続きサポートされています。

Microsoft では、テストや開発にはユーザーおよびアクセスキーの使用を推奨していますが、本番環境での使用は推奨していません。

User およびAccessKey の値を取得するには、Microsoft Dynamics 365 Business Central の[ユーザー]ページに移動して[編集]をクリックします。User Name および Web Service Access Key の値は、User およびPassword 接続文字列プロパティとして入力する値です。User Name はE メールアドレス ではありません。短縮されたユーザー名です。

アクセスキー認証を使用するには、次のプロパティを設定します。

  • AuthSchemeアクセスキー
  • User:ログインユーザー名。
  • AccessKey:アクセスキー。

Microsoft Dynamics 365 Business Central への認証

Microsoft Dynamics 365 Business Central データソースを認証する前に、OrganizationUrl を接続先の組織のURL に設定する必要があります。 v1とv2のどちらを使用しているかによって、見え方が異なります。 OrganizationUrl の各種フォーマットについては、Business Central エンドポイント を参照してください。

以下のいずれかの方法で、Microsoft Dynamics 365 Business Central への認証を行うことができます。

アクセスキー

User およびAccessKey を設定し、Microsoft Dynamics 365 Business Central データソースへ認証します。

Azure AD

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

Web アプリケーションを介したAzure AD への認証には、必ずカスタムOAuth アプリケーションの作成が必要です。詳細はAzure AD アプリケーションの作成 を参照してください。

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

CData は、デスクトップアプリケーションからAzure AD への接続を簡略化する埋め込みOAuth アプリケーションを提供します。

カスタムOAuth アプリケーションを使用して、デスクトップアプリケーションで認証することもできます。(詳しくは、Azure AD アプリケーションの作成 を参照してください。) Azure AD 経由で認証するには、以下のパラメータを設定します。

  • AuthSchemeAzureAD
  • カスタムアプリケーションのみ:

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

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

本製品 はOAuth プロセスを完了し、Microsoft Dynamics 365 Business Central からアクセストークンを取得してそれを使ってデータをリクエストします。 OAuth 値はOAuthSettingsLocation で指定されたパスに保存されます。これらの値は接続間で永続化されます。

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

ヘッドレスマシン

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

以下のいずれかの方法で行います。

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

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

  1. 認可エンドポイントを見つけます。

    カスタムアプリケーションのみ: 次のプロパティを設定して、Authorization URL を作成します。

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

    カスタムアプリケーションおよび埋め込みアプリケーション:GetOAuthAuthorizationUrl ストアドプロシージャを呼び出します。

    1. ストアドプロシージャによって返されたURL をブラウザで開きます。
    2. ログインして、本製品 にアクセス許可を与えます。verifier code を含むコールバックURL にリダイレクトされます。
    3. verifier code の値を保存します。この値は後でOAuthVerifier 接続プロパティを設定する際に使用します。

  2. OAuth verifier code をOAuth リフレッシュトークンおよびアクセストークンと交換します。

    ヘッドレスマシンでは、次のプロパティを設定します。

    • AuthSchemeAzureAD
    • OAuthVerifier:verifier code。
    • OAuthSettingsLocation:接続間で維持されるOAuth トークンの値を保存するファイルの場所。
    • カスタムアプリケーションのみ:

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

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

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

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

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

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

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

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

ヘッドレスマシンでは、次のプロパティを設定します。

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

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

Azure サービスプリンシパル

サービスプリンシパルは、Azure AD アプリケーション内のセキュリティオブジェクトであり、特定のAzure AD テナント内でそのアプリケーションができることを定義します。 サービスプリンシパルは、Azure サービスポータルで作成します。 作成プロセスの過程で、サービスプリンシパルがクライアントシークレットまたは証明書のどちらを経由してAzure AD リソースにアクセスするかも指定します。

サービスプリンシパルの権限は、特定のユーザーに紐づくのではなく、割り当てられたロールに基づきます。 リソースへのアプリケーションのアクセスは、割り当てられたロールの権限によって制御されます。

Azure サービスプリンシパルを使用して認証する場合、サービスプリンシパルによるAzure AD アプリケーションの作成 で説明するようにAzure AD テナントにアプリケーションを登録する必要があります。

次のサブセクションで説明するプロパティを設定すれば、接続の準備は完了です。これらは、クライアントシークレットで認証するか、証明書で認証するかによって異なります。

クライアントシークレットによる認証

  • AuthSchemeAzureServicePrincipal
  • AzureTenant:接続するAzure AD テナント。
  • OAuthGrantTypeCLIENT
  • OAuthClientId:アプリケーション設定のクライアントId。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレット。

証明書による認証

  • AuthSchemeAzureServicePrincipalCert
  • AzureTenant:接続するAzure AD テナント。
  • OAuthGrantTypeCLIENT
  • OAuthClientId:アプリケーション設定のクライアントId。
  • OAuthJWTCert:JWT 証明書のストア。
  • OAuthJWTCertType:JWT 証明書ストアの種類。

Managed Service Identity (MSI)

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

User-Managed Identities

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

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

NTLM

Windows 認証情報を使用して認証するには、AuthSchemeNTLM に設定します。

Negotiate

認証メカニズムをサーバーとネゴシエートするには、AuthScheme を直接本製品 に設定します。 Kerberos で認証する際に使用されます。

Kerberos 経由でMicrosoft Dynamics 365 Business Central への認証を行うには、認証プロパティを定義し、Kerberos が認証チケットを取得する方法を選択する必要があります。

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

  • hive.server2.authentication:Kerberos
  • AuthScheme:NEGOTIATE
  • KerberosKDC:Kerberos KDC マシンのホスト名またはIP アドレス。
  • KerberosRealm:Microsoft Dynamics 365 Business Central Kerberos プリンシパルのレルム。この値は、主たる値の'@' 記号のすぐ後にあります。
  • KerberosSPN:Microsoft Dynamics 365 Business Central のKerberos プリンシパルのサービスとホスト。この値は、主たる値の'@' 記号のすぐ前にあります。

認証値に加えて、以下を設定します。

  • Server:接続するMicrosoft Dynamics 365 Business Central サーバーのアドレス。
  • Platform:Microsoft Dynamics 365 Business Central バージョン。
  • SchemaEWS.A

サービス間認証の有効化

Service-to-Service(S2S)認証は、統合が特定のユーザーアカウントに縛られることなく、単独で実行される必要がある場合に使用されます。S2S 認証は、多要素認証(MFA)に使用されるようなOAuth の削除されたフローではなく、クライアント資格情報を使用したOAuth 認証フローを使用します。

サービス間認証を設定するには、まず、Business Central に対するAPI コールを認証するために、Azure AD テナントにアプリケーションを登録する必要があります。

Azure AD テナントに必要なアプリを登録したら、以下を実行します。

  1. Business Central クライアントで、Microsoft Entra applications を検索します。
  2. ページを開きます。
  3. New を選択します。Business Central クライアントは、Microsoft Entra アプリケーションカードを開きます。
  4. 登録したアプリケーションのアプリケーション(クライアント)ID を入力します。
  5. Description フィールドを完成させます。このアプリケーションがパートナーによって設定されたものである場合、このパートナーによって設定されたすべてのアプリケーションを必要に応じて将来追跡できるように、十分な識別情報を提供するようにしてください。
  6. State をEnabled に設定します。
  7. 必要に応じてオブジェクトに権限を割り当てます。 (詳しくは、https://learn.microsoft.com/ja-jp/dynamics365/business-central/ui-define-granular-permissions を参照してください。)

    Note: D365 AUTOMATION とEXTEND. MGT. - ADMIN システム権限セットとユーザーグループは、オートメーションで使用されるほとんどの典型的なオブジェクトへのアクセスを可能にします。(EXTEND. MGT. - ADMIN は、以前のバージョンのD365 EXTENSION MGT アクセス許可セットの代替となります。)

  8. (オプション:)これまでAzure ポータルで同意の付与を行っていない場合は、Grant Consent を選択してウィザードに従います。このウィザードを開始する前に、カスタムAzure AD アプリケーションでリダイレクトURL が設定済みであることを確認してください。

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