Entra ID(Azure AD)でのサービスプリンシパルアプリの作成
Entra ID(Azure AD)でのサービスプリンシパルアプリの作成
Note:Microsoft はAzure AD をEntra ID にリブランドしました。ユーザーがEntra ID 管理サイトを操作する必要があるトピックでは、Microsoft が使用している名称と同じものを使用します。ただし、名前または値が"Azure AD" を参照しているCData 接続プロパティは、依然として存在します。
Microsoft Dynamics 365 Business Central はサービスプリンシパルベースの認証をサポートしており、これはロールベースです。 つまり、サービスプリンシパルの権限は、割り当てられたロールによって決まります。 ロールは、サービスプリンシパルがアクセスできるリソースと実行可能な操作を指定します。
Microsoft Dynamics 365 Business Central に対してサービスプリンシパルを使用して認証を行いたい場合は、Microsoft Entra ID でカスタムアプリケーションを作成する必要があります。
サービスプリンシパル認証を有効にするには:
- テナント内でアプリケーションの登録とロールの割り当てを行う権限があることを確認します。
- Entra 管理センターで新しいアプリケーションを登録し、認証情報とアクセス許可を構成してください。
アプリケーションの登録
- https://portal.azure.com に移動します。
- 左側のナビゲーションペインでMicrosoft Entra ID ->アプリの登録を選択します。
- 新規登録をクリックします。

- アプリケーションの名前を入力します。
- 希望するテナント設定を選択します。このカスタムアプリケーションはサービスプリンシパル用であるため、任意のMicrosoft Entra ID テナント - マルチテナントを選択します。

- 登録をクリックします。アプリケーション管理画面が開きます。
- OAuthClientId としてアプリケーション(クライアント)ID の値、AzureTenant としてディレクトリ(テナント)ID の値を控えておきます。

- 証明書とシークレットセクションに移動して、アプリケーションの認証タイプを定義します。証明書(推奨)とクライアントシークレットの2種類の認証方法が利用可能です。
- 新しいクライアントシークレットの作成: 証明書とシークレットで新しいクライアントシークレットを選択し、有効期限を指定します。クライアントシークレットが保存されると、Microsoft Dynamics 365 Business Central はキーの値を表示します。この値は一度しか表示されないので、後で使用するために記録しておきます。この値をOAuthClientSecret に使用します。
- 認証に移動し、アクセストークンオプションを選択します。
- 変更を保存します。
- 管理者の同意が必要なアクセス許可を指定した場合は、API のアクセス許可ページで現在のテナントから付与することができます。
管理者の同意の付与
カスタムアプリケーションの中には、Microsoft Entra ID テナント内で操作するために管理者権限が必要なものがあります。 これは特に、サインインしているユーザーなしでアプリケーションを実行できるアプリケーションの許可を使用するアプリケーションに当てはまります。 新しいアプリケーションを作成する際に、「管理者の同意が必要」とマークされた関連するアクセス許可を追加することで、管理者の同意を与えることができます。 管理者の同意は、認証フローでクライアント資格情報を使用する場合にも必要です。これらのアクセス許可は、管理者によって付与される必要があります。管理者の同意を付与するには:
- 管理者アカウントでhttps://portal.azure.com にログインします。
- Microsoft Entra ID ->アプリの登録に移動し、登録済みのアプリケーションを選択します。
- API のアクセス許可に移動します。
- アプリケーションの許可にリストされている許可を確認します。ユースケースに必要なAPI スコープが含まれていることを確認してください。
- 管理者の同意を与えますをクリックして、要求された許可を承認します。