アプリの登録は、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年)を入力し、追加。
- 生成された値(シークレット)を即座にコピー。表示は一度だけです。
シークレットはパスワードのようなもので、漏洩を防ぐためにセキュアに管理。期限切れ時は新規作成で置き換えられます。
証明書の使用(推奨)
よりセキュアにするため、自己署名証明書やCA発行証明書をアップロード。非対称キー認証でシークレットより安全です。証明書タブから公開鍵をアップロードし、私有鍵をアプリ側で保持します。
APIアクセス許可の設定
アプリがMicrosoft Graphや他のAPIを使う場合、APIのアクセス許可を設定します。
アクセス許可の追加手順
- APIのアクセス許可タブを選択。
- アクセス許可の追加をクリック。
- Microsoft GraphなどのAPIを選択。
- 許可の種類:
- 委任された許可: ユーザーの権限でAPIを呼び出し(例: ユーザーのカレンダー読み取り)。
- アプリケーション許可: アプリ単独でAPIアクセス(例: 管理者権限で全ユーザー情報取得)。
- 必要なスコープを選択し、追加。
- 管理者同意が必要な許可は、テナント管理者から付与を依頼。
許可後、トークンにスコープが含まれるようになります。最小権限の原則を守り、不要な許可は避けましょう。
リダイレクト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を追加。アクセス許可を細かく制御。
所有権と管理
アプリ所有者は開発者。管理者移譲で運用継続。所有者一覧から確認。
削除とクリーンアップ
不要アプリは削除でオブジェクト除去。関連許可も自動クリア。
これらの情報を総合的に活用し、アプリ開発を加速させましょう。実践を通じてスキルを磨いてください。













