サービス エンドポイントの概要
この記事では、使用できるサービス エンドポイントについて説明します Microsoft Dynamics 365 Finance。 また、Microsoft Dynamics AX 2012 で使用できるエンドポイントと比較します。
サービスのリスト
次のテーブルでは、すべてのサービス エンドポイントを一覧表示し、アプリケーション、および AX 2012 で使用可能なエンドポイントを比較しています。
サービス エンドポイント | AX 2012 | 財務と運用 |
---|---|---|
ドキュメント サービス (AXDs) | 有効 | いいえ – データ エンティティに置き換えられます |
SOAP ベースのメタデータ サービス | 有 | いいえ – REST メタデータに置き換えられます |
SOAP ベースのクエリ サービス | 有 | いいえ – OData に置き換えられます |
OData クエリ サービス | 有 | いいえ – OData に置き換えられます |
SOAP ベース カスタム サービス | 有 | 有 |
JSON ベース カスタム サービス | 無効 | 有効 |
OData サービス | 無効 | 有効 |
REST メタデータ サービス | 無効 | 有効 |
この記事では、サービスの認証と、REST メタデータ サービスについて説明します。 次のリンクでは、以下のための詳細なドキュメントを提供します。
認証
ODataサービス、RESTメタデータ サービスサポート標準 OAuth 2.0認証の3つがあります。
現在のところ、承認コード付与フローとクライアントの資格情報 (共有シークレットまたは証明書) を使用したサービス間の呼び出しの両方をサポートしています。
Microsoft Entra ID (Microsoft Entra ID) では、次の 2 種類のアプリケーションがサポートされています:
- ネイティブ クライアント アプリケーション : このフローでは、認証と認証にユーザー名とパスワードが使用されます。
- Webアプリケーション (Confidential client) : 機密クライアントは、クライアント パスワードを世界に公開するアプリケーションです。 承認サーバーは、このクライアント パスワードをクライアント アプリケーションに割り当てています。
詳細については、以下を参照してください。
次の図は、認証コードの付与フローに対して認証を設定する方法について説明します。
以下の図では、クライアントの資格情報 (共有秘密または証明書) を使用したサービス間の呼び出し承認の仕組みを説明します。
Microsoft Entra ID に Web アプリケーションを登録する
注記
これらの手順は、組織内のすべての人が完了する必要はありません。 Azure サービスの管理者ユーザーのみがアプリケーションを追加し、その開発者とクライアント ID を共有することができます。
前提条件 : Idへの定期購読およびAzureアクセス権 Microsoft Entra が必要です。
クライアントがサービスと通信する前に、(Microsoft Entra ID) に登録する必要があります。 これらの手順を使用すると、(Microsoft Entra ID) でアプリケーションに登録できます。 この手順については、Azure アプリ登録のトレーニングガイドを参照してください。 このプロセスでの固有の構成には、コンテキストで次の追加情報を使用する必要があります。
Microsoft DynamicsERP (Microsoft.ERP) を選択します。 API を選択 内の検索フィールドで Microsoft Dynamics ERP を検索する場合、使用できないように見えることがあります。 その場合は、上に示したようにフルネームを検索してください。 委任アクセス権 で、少なくとも次のオプションを選択する必要があります。
- Dynamics AX カスタム サービスへのアクセス
- Dynamics AX データへのアクセス
- 組織ユーザーとしての Dynamics AX オンラインへのアクセス
重要
このキーは再度表示されないため、コピーしてください。 承認を完了して承認を完了して OAuth 承認を受け取 Microsoft Entra 必要があります。
外部アプリケーションの登録
財務と運用アプリで、システム管理>セットアップ>Microsoft Entra アプリケーションに移動します。
新規 を選択します。
新しいレコード用のフィールドに入力します。
- クライアント ID フィールドで、Microsoft Entra ID に登録したアプリケーション ID を入力します。
- 名前フィールドに、アプリケーションの名前を入力します。
- ユーザー ID フィールドで、適切なサービス アカウントのユーザー ID を選択します。 この例では、管理者ユーザーを選択しました。 ただし、実行する必要がある操作に対して適切なアクセス許可を持つ、専用のサービス アカウントをプロビジョニングすることをお勧めします。
完了したら、保存 を選択します。
これで、前提条件の設定を完了しました。 外部のアプリケーションが Microsoft Entra Authentication トークンを取得した後、認証 HTTP ヘッダーのトークンを使用して、OData や SOAP などの後続のサービスの呼び出しを行うことができるようになりました。
クライアント サンプル コード
次は、Microsoft Entra ID からトークンを取得するための C# サンプル コードです。 このフローで、同意フォーム (テナント間アプリケーション用) およびサインイン フォームがユーザーに表示されます。
UriBuilder uri = new UriBuilder ("https://login.windows.net/contoso2ax.onmicrosoft.com");
AuthenticationContext authenticationContext = new AuthenticationContext(uri.ToString());
//request token for the resource - which is the URI for your organization. NOTE: Important do not add a trailing slash at the end of the URI
AuthenticationResult authenticationResult = authenticationContext.AcquireToken("https://axdynamics1001aos.cloud.dynamics.com", clientId, redirectURI);
//this gets the authorization token, which needs to be passed in the Header of the HTTP Requests
string authenticationHeader = authenticationResult.CreateAuthorizationHeader();
ポップアップを表示せずにユーザー名とパスワードを渡すには、AcquireToken の次のオーバーロードを使用します。
UserCredential userCred = new UserCredential (username, password);
authenticationContext.AcquireToken("https://axdynamics1001aos.cloud.dynamics.com", clientId, userCred);
REST メタデータ サービス
REST メタデータ サービスは、読み取り専用サービスです。 つまり、ユーザーは GET 要求のみ生成できます。 このエンドポイントの主な目的は、要素のメタデータ情報を提供することです。 OData 実装です。
このエンドポイントは、http://\[baseURI\]/Metadata
でホストされています。
現在、このエンドポイントは、次の要素のメタデータを提供します。
[ / ラベル] : システムからラベルを返します。 ラベルには言語と ID のデュアル ペア キーがあり、ラベルの値を取得できます。
例:
https://[baseURI\]/metadata/Labels(Id='@SVC\_ODataLabelFile:Label1',Language='en-us')
[データ エンティティ ] : システム内のすべてのデータ エンティティの、さまざまな形式のリストを返します。
例:
https://[baseURI\]/Metadata/DataEntities