チュートリアル: Microsoft Entra ID に登録する

このチュートリアルでは、Microsoft Entra ID でアプリケーション (デスクトップ、モバイルまたは Web) を登録する方法について説明します。 アプリケーションが Microsoft Dataverse で認証できて、ビジネス データにアクセスできるようにするためには、アプリの登録が必要です。

この記事に含まれる手順は、Dataverse アクセスの Microsoft Entra ID のアプリ登録に固有のものです。 展開済み Microsoft Entra ID アプリ登録については、Microsoft Entra ID でのアプリケーション登録を参照してください。

アプリの登録と認証について

Dataverse がサポートするいくつかの認証フローがあります: ユーザー名 / パスワード、クライアント シークレット、および証明書。 アプリの登録と認証は、これらのフローごとに少し異なります。 この記事では、ユーザー名 / パスワードとクライアント シークレットの認証フローについて説明します。 証明書のフローについては、今後の記事で文書化する予定です。

Dataverse と認証してビジネス データにアクセスするアプリの場合、まずアプリを Microsoft Entra ID に登録する必要があります。 そのアプリの登録は認証プロセス中に使用されます。

公開クライアントと機密クライアント

Dataverse で認証に使用できるクライアントには 2 種類あります: 公開および機密。 これらのクライアントを代表するのは、PublicClientApplicationBuilder および ConfidentialClientApplicationBuilder クラスです。 たとえば、アプリが Dataverse Web API を使用している場合、これらのクラスをアプリ内で直接インスタンス化することも、 ServiceClient クラスを使用することもできます。 ServiceClient クラスは、渡された接続文字列パラメーターの構成値に基づいて、これらのクライアントのインスタンス化を内部的に処理します。

注意

機密クライアントはクライアント シークレットまたは証明書とともに使用され、サービス プリンシパル、アプリケーション ユーザー、またはサーバー間 (S2S) 認証と呼ばれることがよくあります。

前提条件

  • アプリケーションの登録のための Microsoft Entra サブスクリプション。 試用アカウントが有効です。

ユーザーが Azure テナント (アカウント) を持っていないか、または持っているが Dataverse の Microsoft 365 サブスクリプションが Azure サブスクリプションで利用できない場合は、記事 開発者サイトへの Microsoft Entra ID アクセスの設定 の手順に従って、2 つのアカウントを関連付けます。

公開クライアント アプリの登録

ユーザー名 / パスワード認証フロー用のアプリ登録を作成し、パブリック クライアントまたは ServiceClient 接続文字列で使用するには、次の手順に従います。

  1. 管理者権限を持つアカウントを使用して Microsoft Azure ポータル にサインインします。 アプリの登録に使用するものと同じ Microsoft 365 サブスクリプション (テナント) のアカウントを使用する必要があります。 Azure サービス の下にあるポータルの ホーム ページで、Microsoft Entra IDを選択します。

    または、Microsoft 365 管理センター から Azure portal にアクセスするには、左側のナビゲーション ウィンドウで すべての管理センター の項目を展開し、Microsoft Entra を選択し、次に Microsoft Entra ID に移動する を選択します。 次に、Microsoft Entra 管理センターの左側のナビゲーション ウィンドウで、アプリケーション ノードを展開します。

  2. 左のナビゲーション ウィンドウで、アプリの登録 を選択してから、アプリの登録 ページの + 新規登録 を選択します。

  3. アプリの登録 ページで、テーブルに表示されているアプリケーションの登録情報を入力します。

    フォーム入力要素 Description
    件名 ユーザーに表示される意味のあるアプリケーション名を入力します。
    対応しているアカウントの種類 <any or this> 組織ディレクトリのアカウント オプションを選択します。
  4. 登録 を選択して、アプリケーション登録を作成します。 アプリ登録の概要ページが表示されます。 そのページに留まります。

    アプリ管理の概要。

  5. 必須の下の概要ページで、リダイレクト URI の追加を選択します。 最初にプラットフォームの追加を選択してリダイレクト URI を設定し、URI 値を入力して、構成を選択します。

    次のようにリダイレクト URI 値を指定する必要があります。 .NET Framework で構築されたデスクトップ アプリまたはモバイル アプリの場合は、URI 値「app://<Application (client) ID>」を使用します。 この ID 値は、登録されたアプリの概要ページに表示されます。 認証に MSAL を使用する .NET Core で構築されたデスクトップまたはモバイル アプリの場合は、URI 値「http://localhost」を使用します。 Web API アプリの場合は、有効な Web アドレスを使用しますが、アドレスは実際に存在する必要はありません。

  6. 新しく作成したアプリの 概要 ページで、アプリケーション (クライアント) ID 値の上にカーソルを置き、"クリップボードにコピー" アイコンを選択して ID 値をコピーします。 値をどこかに記録します。 この値は、後でアプリケーションの認証コードまたは app.config ファイルで必要に応じて指定する必要があります。

  7. 左側のナビゲーション ウィンドウで API アクセス許可 を選択し、アクセス許可の追加 を選択します。

  8. API 自分の組織ユーザー タブを選択して、検索フィールドで "Dataverse" を入力して Dataverse 入力を検索します。 検索結果の一覧で、Dataverse アイテムを選択します。

  9. API アクセス許可を要求する ページで、委任されたアクセス許可を選択します。 次に、user_impersonation オプションを選択 (チェック) する

  10. すでにチェックされているように見えたとしても、管理者の同意を付与する<name> を選択します。 次に、ポップアップではいを選択して同意を許可します。 ここで同意を承認しない場合、アプリは実行時に同意エラーを受け取ります。

  11. アクセス許可の追加 を選択します。

  12. (オプション) 詳細設定および公開クライアント フローを許可するの下の認証ページで、はい保存の順に選択します。 詳細については、次の段落の説明を参照してください。

認証中に、クライアント アプリがユーザー名 / パスワード フローのパスワードを提供しない場合、アプリ ユーザーはブラウザ ウィンドウでログオン資格情報の入力を求められます。

クライアント認証にパスワードを指定する場合は、次のモバイルおよびデスクトップ フローを有効にするはいに明示的に設定する必要があります。 この方法は安全性が低いため、コードや App.config などでパスワードを指定しないようにするために、この要件が設けられています。

Microsoft Entra ID での公開クライアントアプリ登録が完了しました。

機密クライアント アプリの登録

クライアント シークレットまたは証明書認証フロー用のアプリ登録を作成し、機密クライアントまたは ServiceClient 接続文字列で使用するには、次の 2 つのセクションの手順に従います。 Power Platform 管理センターで Microsoft Entra ID アプリ登録と新しいアプリ ユーザーを作成します。

アプリ登録を作成する

アプリの登録は、公開クライアントと比較して、機密クライアントの方がはるかに簡単です。 必要なのは、アプリ登録名を指定し、テナント (アカウント タイプ) スコープを設定することだけです。

  1. 管理者権限を持つアカウントを使用して Microsoft Azure ポータル にサインインします。 アプリの登録に使用するものと同じ Microsoft 365 サブスクリプション (テナント) のアカウントを使用する必要があります。 Azure サービス の下にあるポータルの ホーム ページで、Microsoft Entra IDを選択します。

    または、Microsoft 365 管理センター から Azure portal にアクセスするには、左側のナビゲーション ウィンドウで すべての管理センター の項目を展開し、Microsoft Entra を選択し、次に Microsoft Entra ID に移動する を選択します。 次に、Microsoft Entra 管理センターの左側のナビゲーション ウィンドウで、アプリケーション ノードを展開します。

  2. 左のナビゲーション ウィンドウで、アプリの登録 を選択してから、アプリの登録 ページの + 新規登録 を選択します。

  3. アプリの登録 ページで、テーブルに表示されているアプリケーションの登録情報を入力します。

    フォーム入力要素 Description
    件名 ユーザーに表示される意味のあるアプリケーション名を入力します。
    対応しているアカウントの種類 <any or this> 組織ディレクトリのアカウント オプションを選択します。
  4. 登録 を選択して、アプリケーション登録を作成します。 アプリ登録の概要ページが表示されます。

  5. 左側のナビゲーション パネルで証明書とシークレット リンクを選択して、クライアント シークレットを追加します。 詳細情報: クライアント シークレットを追加する

重要

クライアント シークレットを追加した後、後で使用できるようにシークレット値のコピーを保存します。 シークレット値 (ID ではなく) をコピーするまでは、クライアント シークレット ページから移動しないでください。シークレット値には再度アクセスできなくなります。

新しいアプリ ユーザーを作成する

これらのステップに従ってアプリ ユーザーを作成し、アプリケーション登録にバインドします。

  1. アプリ登録と同じテナントでアカウントを使用して Power Platform 管理センターにログインします。

  2. 左側のナビゲーション ペインで環境を選択し、リストからターゲット環境を選択して環境情報を表示します。

  3. ページの右側で S2S リンクを選択します。

  4. 新規アプリ ユーザーを選択します。

  5. 新しいアプリ ユーザーの作成スライドアウトで、+ アプリの追加を選択します。

  6. 検索フィールドにアプリ登録の名前を入力し始め、結果リスト内でそれを選択 (チェック) します。 次に、追加を選択します。

  7. 新しいアプリ ユーザーの作成スライドアウトに戻り、ドロップダウンからターゲット ビジネス ユニットを選択します。そして、アプリユーザーのセキュリティ ロール (サービス原則とも呼ばれる) を追加します。

  8. 保存作成の順に選択します。 表示されたアプリケーション ユーザーのリストに新しいアプリケーション ユーザーが表示されるはずです。

コードでアプリの登録を使用する

アプリ登録を使用するコードを表示するには、スタートガイド SDK サンプルと クイックスタート Web API サンプルを参照してください。

サンプル コードには、ServiceClient クラスで使用する公開および機密のクライアント接続文字列の例が含まれています。

参照

Dataverse Web サービスでユーザーを認証する

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。