初心者向け:Microsoft Entra IDでのアプリ登録のやり方とベストプラクティス

本サイトではアフィリエイト広告を利用しています

アプリ情報

アプリの登録は、Microsoft Entra ID(旧Azure AD)などのIDプラットフォームを利用してアプリケーションを安全に認証・承認するための重要な手順です。この記事では、初心者から上級者までが理解しやすいように、アプリの登録の基本から詳細な設定方法、注意点までをステップバイステップで解説します。複数の情報源を基に、信頼性の高い手順をまとめていますので、ぜひ参考にしてください。

アプリの登録とは何か

アプリの登録とは、開発したアプリケーションをIDプロバイダー(例: Microsoft Entra ID)に登録し、ユーザー認証やAPIアクセスを可能にするプロセスです。これにより、アプリはトークンを取得してセキュアにリソースにアクセスできます。主な目的は、OAuth 2.0やOpenID Connectなどのプロトコルを使って、シングルサインオン(SSO)を実現することです。

登録すると、アプリにアプリケーションID(クライアントID)テナントIDが発行され、これらを使って認証フローを構築します。個人アプリからエンタープライズ向けの業務アプリまで幅広く対応しており、サポートされるアカウントの種類を選択することで、誰がアプリを使えるかを柔軟に制御できます。例えば、組織内ユーザー限定や、個人Microsoftアカウントを含む多テナント対応などです。

このプロセスは、AzureポータルやMicrosoft Entra管理センターで行われ、管理者権限やアプリケーション開発者ロールが必要です。登録後、アプリオブジェクトが作成され、エンドポイント経由でMicrosoft IDプラットフォームと通信します。

アプリの登録に必要な前提条件

アプリの登録を始める前に、以下の前提条件を確認しましょう。

  • アクティブなAzureサブスクリプションを含むアカウントをお持ちください。無料で作成可能です。
  • Microsoft Entra管理センターにアプリケーション開発者ロール以上でサインインできること。管理者アカウントが推奨されます。
  • 登録対象のテナントにアクセス可能であること。複数のテナントがある場合、設定アイコンから切り替えられます。
  • アプリの用途に応じたリダイレクトURIやAPIスコープを事前に計画しておく。

これらをクリアしていれば、誰でもスムーズに進められます。外部テナントを使う場合は、事前の設定を完了させておきましょう。

アプリの登録の基本手順

ここでは、Microsoft Entra管理センターを使った標準的なアプリ登録手順を詳しく説明します。画面は直感的で、数分で完了します。

ステップ1: 管理センターにサインイン

ブラウザでMicrosoft Entra管理センターにアクセスし、適切なアカウントでサインインします。複数のテナントがある場合、上部の設定アイコンから対象テナントを選択してください。これで正しいディレクトリで作業が開始されます。

ステップ2: アプリ登録画面へ移動

左側メニューからMicrosoft Entra IDを選択し、次にアプリの登録(またはApp registrations)をクリックします。新規登録ボタン新規登録(New registration)が表示されます。

ステップ3: アプリ情報を入力

登録画面で以下の情報を入力します。

  • 名前: アプリの表示名を入力(例: MyIdentityApp)。ユーザーに見える名前なのでわかりやすいものを選びましょう。後で変更可能です。
  • サポートされているアカウントの種類:
    • この組織ディレクトリのユーザー(単一テナント)
    • 複数組織のユーザー(多テナント)
    • 複数組織および個人Microsoftアカウント

    用途に合わせて選択。組織内限定なら単一テナントがシンプルです。

  • リダイレクトURI(オプション): Webアプリの場合、認証後のリダイレクト先URLを指定(例: https://localhost:3000/auth/callback)。必須でない場合もあります。

入力後、登録ボタンをクリックすると、アプリが作成され、アプリケーション(クライアント)IDディレクトリ(テナント)IDが表示されます。これらは絶対にコピーして安全に保管してください。一度画面を離れると再表示されません。

ステップ4: 認証設定の確認

登録直後、左メニューから認証タブを選択。リダイレクトURIを追加・確認し、トークン設定(IDトークンやアクセストークン)を有効化します。保存を忘れずに。

これで基本登録は完了です。次に高度な設定を追加していきましょう。

クライアントシークレットや証明書の設定

アプリがバックグラウンドで動作する場合や、機密クライアント認証が必要な場合、クライアントシークレットや証明書を登録します。

クライアントシークレットの作成

  1. アプリの概要ページから証明書とシークレットタブを選択。
  2. 新しいクライアントシークレットをクリック。
  3. 説明と有効期限(例: 1年)を入力し、追加。
  4. 生成された(シークレット)を即座にコピー。表示は一度だけです。

シークレットはパスワードのようなもので、漏洩を防ぐためにセキュアに管理。期限切れ時は新規作成で置き換えられます。

証明書の使用(推奨)

よりセキュアにするため、自己署名証明書やCA発行証明書をアップロード。非対称キー認証でシークレットより安全です。証明書タブから公開鍵をアップロードし、私有鍵をアプリ側で保持します。

APIアクセス許可の設定

アプリがMicrosoft Graphや他のAPIを使う場合、APIのアクセス許可を設定します。

アクセス許可の追加手順

  1. APIのアクセス許可タブを選択。
  2. アクセス許可の追加をクリック。
  3. Microsoft GraphなどのAPIを選択。
  4. 許可の種類:
    • 委任された許可: ユーザーの権限でAPIを呼び出し(例: ユーザーのカレンダー読み取り)。
    • アプリケーション許可: アプリ単独でAPIアクセス(例: 管理者権限で全ユーザー情報取得)。
  5. 必要なスコープを選択し、追加。
  6. 管理者同意が必要な許可は、テナント管理者から付与を依頼。

許可後、トークンにスコープが含まれるようになります。最小権限の原則を守り、不要な許可は避けましょう。

リダイレクトURIと認証フローの詳細

リダイレクトURIは、認証コードやトークンを返すエンドポイントです。Webアプリ、SPA(シングルページアプリ)、モバイルアプリごとにタイプを選択。

  • Web: https://yourapp.com/callback
  • SPA: JavaScriptフロントエンド向け
  • 公開クライアント(モバイル): パブリッククライアントフロー

認証タブで複数URIを登録可能。HTTPS必須で、ローカル開発時はlocalhost許可。PKCE(Proof Key for Code Exchange)をSPAで有効化するとセキュリティ向上します。

多テナントアプリの登録と管理

複数組織で使う場合、多テナントを選択。登録後、他のテナントで同意フローを経由して利用可能に。エンタープライズアプリケーションとして自動登録されます。

管理側では、エンタープライズアプリケーションで利用状況を監視。条件付きアクセスポリシーを適用してセキュリティ強化。

トラブルシューティングとベストプラクティス

登録でつまずきやすいポイントと解決策をまとめます。

よくある問題

  • IDが表示されない: 登録直後にコピー。履歴から再取得不可時は再登録。
  • 許可エラー: 管理者同意を依頼。アプリケーション開発者ロール確認。
  • リダイレクト失敗: URIのタイプとURLが一致かチェック。
  • シークレット忘れ: 新規作成で対応。

ベストプラクティス

  • 最小特権: 必要なスコープのみ許可。
  • 定期ローテーション: シークレットや証明書の更新。
  • ログ監視: サインイン報告で異常検知。
  • テスト環境: 本番前に開発テナントで検証。

これらを守れば、安全で信頼性の高いアプリが構築できます。

アプリ登録後の次のステップ

登録完了後、コード側でクライアントIDとシークレットを使って認証ライブラリ(MSALなど)を統合。フローはAuthorization Code FlowやClient Credentials Flowを選択。

例: Webアプリの場合、/authorizeエンドポイントにリダイレクトし、コールバックでトークン取得。

さらに、ブランド設定でロゴや発行元情報を追加し、ユーザー体験向上。

高度な設定: フェデレーションや条件付きアクセス

エンタープライズ向けに、証明書によるフェデレーションを設定。外部IDプロバイダー連携も可能。

Manifest編集でカスタムポリシー適用。JSONで詳細制御。

モバイルアプリやデスクトップアプリの特記事項

ネイティブアプリの場合、公開クライアントとして登録。リダイレクトURIにmsal{clientid}://authのようなカスタムスキーム使用。システムブラウザ推奨でセキュリティ確保。

セキュリティの強化策

条件付きアクセスをEntra IDで設定し、場所・デバイス・リスクに基づく制御。MFA必須化も有効。

アプリ露出を制限し、不要なものは削除。

まとめ

アプリの登録は、セキュアな認証基盤を築く第一歩です。基本手順を押さえ、API許可やシークレットを適切に設定することで、多様なアプリを効率的に運用できます。このガイドを活用して、ぜひ実践してください。

初心者向け:Microsoft Entra IDでのアプリ登録のやり方とベストプラクティスをまとめました

Microsoft Entra IDでの登録はシンプルで強力。名前入力からID取得、認証・許可設定までを丁寧に進め、安全性を高めましょう。ベストプラクティスを守れば、信頼できるアプリが完成します。

詳細なユースケース例

業務アプリの場合: 単一テナントを選択し、Microsoft Graphの委任許可(User.Read)を追加。クライアントシークレットでデーモンアプリ化。

Webアプリの場合: リダイレクトURIを複数登録し、PKCE有効。IDトークンでユーザー情報取得。

SPAの場合: 公開クライアント、Implicit Flow回避でAuthorization Code + PKCE。

Manifestのカスタマイズ

アプリのManifest(JSON)を編集し、groupMembershipClaimsやoptionalClaimsを追加。アクセス許可を細かく制御。

所有権と管理

アプリ所有者は開発者。管理者移譲で運用継続。所有者一覧から確認。

削除とクリーンアップ

不要アプリは削除でオブジェクト除去。関連許可も自動クリア。

これらの情報を総合的に活用し、アプリ開発を加速させましょう。実践を通じてスキルを磨いてください。